Files
2025-03-12 17:06:23 +01:00

233 lines
7.5 KiB
PHP

<?php
/**
* SOTESHOP/appWishesPlugin
*
*
* @package appWishesPlugin
* @author Bartosz Alejski <whiteface@whiteface.pl>
*/
class appWishesBackendActions extends sfActions{
public function executeResponsiveConfig(){
$this->forward_parameters = $this->getUser()->getAttributeHolder()->getAll('sf_admin/appWishesResponsiveConfigBackend/site_forward_parameters');
$this->config = stConfig::getInstance($this->getContext(), 'appWishesResponsiveConfigBackend');
$this->config->setCulture($this->getRequestParameter('culture', stLanguage::getOptLanguage()));
$video_array = unserialize($this->config->get('wishes_responsive_video'));
$images_array = unserialize($this->config->get('wishes_responsive_images'));
$number_of_elements = count($images_array);
$number_of_elements_video = count($video_array);
if ($this->getRequest()->getMethod() == sfRequest::POST){
$this->config->set('wishes_responsive_on', $this->getRequestParameter('wishes[wishes_responsive_on]'));
$this->config->set('wishes_responsive_description', $this->getRequestParameter('wishes[wishes_responsive_description]'), true);
$this->config->set('wishes_responsive_link_on', $this->getRequestParameter('wishes[wishes_responsive_link_on]'));
$this->config->set('wishes_responsive_music_on', $this->getRequestParameter('wishes[wishes_responsive_music_on]'));
$this->config->set('wishes_responsive_music_autoplay', $this->getRequestParameter('wishes[wishes_responsive_music_autoplay]'));
$this->config->set('wishes_responsive_song_number', $this->getRequestParameter('wishes[wishes_responsive_song_number]'));
// ustawienie aktywnego zdjęcia
if ($this->getRequestParameter('wishes[image_radio]') || $this->getRequestParameter('wishes[video_radio]') ){
// zerowanie tabel
for ($i = 0; $i <= $number_of_elements-1; $i++){
$images_array[$i]['active'] = 0;
}
for ($i = 0; $i <= $number_of_elements_video-1; $i++){
$video_array[$i]['active'] = 0;
}
if ($this->getRequestParameter('wishes[image_radio]')){
foreach ($images_array as $key => $image){
if($image['name'] == $this->getRequestParameter('wishes[image_radio]')){
$new_active = $key;
}
}
$images_array[$new_active]['active'] = 1;
$fileName = $this->getRequestParameter('wishes[image_radio]');
}elseif($this->getRequestParameter('wishes[video_radio]')){
foreach ($video_array as $key => $video){
if($video['name'] == $this->getRequestParameter('wishes[video_radio]')){
$new_active = $key;
}
}
$video_array[$new_active]['active'] = 1;
$fileName = $this->getRequestParameter('wishes[video_radio]');
}
}
// załadowanie nowego zdjęcia
if ($this->getRequest()->getFileSize('wishes[image]')){
$fileName = $this->getRequest()->getFileName('wishes[image]');
$ext = $this->getRequest()->getFileExtension('wishes[image]');
if($ext=='.jpg' || $ext=='.gif' || $ext=='.png' || $ext=='.jpeg'){
$this->getRequest()->moveFile('wishes[image]', sfConfig::get('sf_upload_dir') . '/wishes_picture/' . $fileName);
for ($i = 0; $i <= $number_of_elements-1; $i++){
$images_array[$i]['active'] = 0;
}
for ($i = 0; $i <= $number_of_elements_video-1; $i++){
$video_array[$i]['active'] = 0;
}
$images_array[$number_of_elements]['name'] = $fileName;
$images_array[$number_of_elements]['active'] = 1;
}elseif($ext == '.bin'){
$this->getRequest()->moveFile('wishes[image]', sfConfig::get('sf_upload_dir') . '/wishes_picture/' . $fileName);
for ($i = 0; $i <= $number_of_elements-1; $i++){
$images_array[$i]['active'] = 0;
}
for ($i = 0; $i <= $number_of_elements_video-1; $i++){
$video_array[$i]['active'] = 0;
}
$video_array[$number_of_elements_video]['name'] = $fileName;
$video_array[$number_of_elements_video]['active'] = 1;
}
}
$this->config->set('wishes_responsive_images', serialize($images_array));
$this->config->set('wishes_responsive_video', serialize($video_array));
$this->config->set('wishes_responsive_active_image', $fileName);
$this->config->save();
stFastCacheManager::clearCache();
$this->setFlash('notice', 'Twoje zmiany zostały zapisane');
$this->redirect('appWishesBackend/responsiveConfig?culture='.$this->getRequestParameter('culture', stLanguage::getOptLanguage()));
}
$this->images_array = $images_array;
$this->video_array = $video_array;
}
public function executeDelete(){
$fileName = $this->getRequestParameter('name');
$this->config = stConfig::getInstance($this->getContext(), 'appWishesResponsiveConfigBackend');
$images_array = unserialize($this->config->get('wishes_responsive_images'));
$this->config->setCulture($this->getRequestParameter('culture', stLanguage::getOptLanguage()));
$i = 0;
$set_default = 0;
foreach ($images_array as $key=>$image){
if($image['name'] == $fileName){
$new_active = $key;
if($image['active']==1){
$set_default = 1;
}
}
$i++;
}
unset($images_array[$new_active]);
if($set_default==1){
$images_array[3]['active'] = 1;
}
$this->config->set('wishes_responsive_images', serialize($images_array));
if($set_default==1){
$this->config->set('wishes_responsive_active_image', 'responsive1.jpg');
}
$this->config->save();
stFastCacheManager::clearCache();
$this->redirect('appWishesBackend/responsiveConfig?culture='.$this->getRequestParameter('culture', stLanguage::getOptLanguage()));
}
public function executeDeleteVideo(){
$fileName = $this->getRequestParameter('name');
$this->config = stConfig::getInstance($this->getContext(), 'appWishesResponsiveConfigBackend');
$video_array = unserialize($this->config->get('wishes_responsive_video'));
$this->config->setCulture($this->getRequestParameter('culture', stLanguage::getOptLanguage()));
$i = 0;
$set_default = 0;
foreach ($video_array as $key=>$video){
if($video['name'] == $fileName){
$new_active = $key;
if($image['active']==1){
$set_default = 1;
}
}
$i++;
}
unset($video_array[$new_active]);
if($set_default==1){
$video_array[1]['active'] = 1;
}
$this->config->set('wishes_responsive_video', serialize($video_array));
if($set_default==1){
$this->config->set('wishes_responsive_active_image', 'chistmas-video1.mp4');
}
$this->config->save();
stFastCacheManager::clearCache();
$this->redirect('appWishesBackend/responsiveConfig?culture='.$this->getRequestParameter('culture', stLanguage::getOptLanguage()));
}
}