Your IP : 216.73.217.130


Current Path : /home/azimutno/www/demo/libraries/nextend/smartslider/admin/controllers/
Upload File :
Current File : /home/azimutno/www/demo/libraries/nextend/smartslider/admin/controllers/sliders.php

<?php
/*
# author Roland Soos
# copyright Copyright (C) Nextendweb.com. All Rights Reserved.
# @license - http://www.gnu.org/licenses/gpl-3.0.txt GNU/GPL
*/
defined('_JEXEC') or die('Restricted access'); ?><?php

class NextendSmartsliderAdminControllerSliders extends NextendSmartsliderAdminController {

    function defaultAction() {

        $this->display('default', 'default');
    }

    function createAction() {
        if ($this->canDo('slider.create')) {
            if (NextendRequest::getInt('save')) {
                $slidersModel = $this->getModel('sliders');
                if ($sliderid = $slidersModel->create(NextendRequest::getVar('slider'))) {
                    header('LOCATION: ' . $this->route('controller=sliders&view=sliders_slider&action=edit&sliderid=' . $sliderid));
                    exit;
                }
            }
            $this->display('default', 'create');
        } else {
            $this->noaccess();
        };
    }

    function editAction() {
        if ($this->canDo('slider.edit')) {
            $slidersModel = $this->getModel('sliders');
            if (!$slidersModel->getSlider(NextendRequest::getInt('sliderid'))) {
                header('LOCATION: ' . $this->route('controller=sliders&view=sliders_slider'));
                exit;
            }

            if (NextendRequest::getInt('save')) {
                if ($sliderid = $slidersModel->save(NextendRequest::getInt('sliderid'), NextendRequest::getVar('slider'))) {
                    header('LOCATION: ' . $this->route('controller=sliders&view=sliders_slider&action=edit&sliderid=' . $sliderid));
                    exit;
                }
            }
            $this->display('default', 'edit');
        } else {
            $this->noaccess();
        }
    }

    function deleteAction() {
        if ($this->canDo('slider.delete')) {
            if ($sliderid = NextendRequest::getInt('sliderid')) {
                $slidersModel = $this->getModel('sliders');
                $slidersModel->delete($sliderid);
                header('LOCATION: ' . $_SERVER["HTTP_REFERER"]);
                exit;
            }
            header('LOCATION: ' . $this->route('controller=sliders&view=sliders_slider'));
            exit;
        } else {
            $this->noaccess();
        };
    }

    function deleteslidesAction() {
        if ($this->canDo('slide.delete')) {
            if ($sliderid = NextendRequest::getInt('sliderid')) {
                $slidersModel = $this->getModel('sliders');
                $slidersModel->deleteslides($sliderid);
                header('LOCATION: ' . $_SERVER["HTTP_REFERER"]);
                exit;
            }
            header('LOCATION: ' . $this->route('controller=sliders&view=sliders_slider'));
            exit;
        } else {
            $this->noaccess();
        };
    }

    function duplicateAction() {
        if ($this->canDo('slider.create')) {
            if ($this->canDo('slider.create') && $sliderid = NextendRequest::getInt('sliderid')) {
                $slidersModel = $this->getModel('sliders');
                $newsliderid = $slidersModel->duplicate($sliderid);
                header('LOCATION: ' . $this->route('controller=sliders&view=sliders_slider&action=edit&sliderid=' . $newsliderid));
                exit;
            }
            header('LOCATION: ' . $this->route('controller=sliders&view=sliders_slider'));
            exit;
        } else {
            $this->noaccess();
        };
    }

    function generatorAction() {
        if ($this->canDo('slider.edit')) {
            $slidersModel = $this->getModel('sliders');
            if (!$slidersModel->getSlider(NextendRequest::getInt('sliderid'))) {
                header('LOCATION: ' . $this->route('controller=sliders&view=sliders_slider'));
                exit;
            }

            if (NextendRequest::getInt('save')) {
                if ($sliderid = $slidersModel->saveGenerator(NextendRequest::getInt('sliderid'), NextendRequest::getVar('generator', ''), NextendRequest::getVar('slide', ''))) {
                    header('LOCATION: ' . $this->route('controller=sliders&view=sliders_generator&action=generator&sliderid=' . $sliderid));
                    exit;
                }
            }

            $this->display('edit', 'edit');
        } else {
            $this->noaccess();
        }
    }

    function createmoduleAction() {
        if ($this->canDo('core.create', 'com_modules')) {
            $id = NextendRequest::getInt('sliderid', 0);
            if ($id) {
                $slidersModel = $this->getModel('sliders');
                $slider = $slidersModel->getSlider($id);
                if ($slider) {
                    $title = $slider['title'];
                    if (version_compare(JVERSION, '1.6.0', 'ge')) {
                        $param = '{"config":{"slider":"' . $id . '","showtablet":"1","showcustomtablet":"0|*|","showmobile":"1","showcustommobile":"0|*|"},"moduleclass_sfx":"","cache":"0","cache_time":"900","cachemode":"itemid"}';
                        $db = JFactory::getDBO();
                        $date = JFactory::getDate();
                        $sql = "INSERT INTO #__modules (title, module, ordering, published, access, params, language) VALUES (" . $db->quote($title . " created on " . $date->format('Y-m-d H:i:s', true)) . ", 'mod_smartslider2', 0, 1, 1, '" . $param . "', '*')";
                        $db->setQuery($sql);
                        $db->query();
                        $moduleid = $db->insertid();
                        $sql = "INSERT INTO #__modules_menu (moduleid, menuid) VALUES (" . $moduleid . ",0)";
                        $db->setQuery($sql);
                        $db->query();
                        header('LOCATION: ' . JRoute::_('index.php?option=com_modules&filter_position=none&filter_search=' . urlencode($title), false));
                    } else { // Joomla 1.5
                        $db = JFactory::getDBO();
                        $sql = "INSERT INTO `#__modules` (`title`, `content`, `ordering`, `position`, `published`, `module`, `numnews`, `access`, `showtitle`, `params`, `iscore`, `client_id`, `control`) VALUES
                                                      ('Smart Slider 2', '', 0, '', 1, 'mod_smartslider2', 0, 0, 1, 'slider=" . $id . "\\nshowtablet=1\\nshowcustomtablet=0\\\\|*\\\\|0\\nshowmobile=1\\nshowcustommobile=0\\\\|*\\\\|0\\ncache=0\\nmoduleclass_sfx=\\n\\n', 0, 0, '');";
                        $db->setQuery($sql);
                        $db->query();
                        $moduleid = $db->insertid();
                        $sql = "INSERT INTO #__modules_menu (moduleid, menuid) VALUES (" . $moduleid . ",0)";
                        $db->setQuery($sql);
                        $db->query();
                        header('LOCATION: ' . JRoute::_('index.php?option=com_modules&client=0&task=edit&id=' . $moduleid, false));
                    }
                    exit;
                }
            }
            header('LOCATION: ' . $this->route('controller=sliders&view=sliders_slider'));
            exit;
        } else {
            $this->noaccess();
        }
    }
    
    function fullAction() {
        if(nextendIsJoomla()){
            $this->display('default', 'full');
        }else if(nextendIsWordpress()){
            $this->display('default', 'fullwordpress');
        }
    }
    
    function exportAction() {
        if ($this->canDo('slider.edit')) {
            $id = NextendRequest::getInt('sliderid', 0);
            if ($id) {
                $slidersModel = $this->getModel('sliders');
				ob_clean();
                $file = $slidersModel->exportSlider($id);
                
                header('Content-Description: Smart Slider 2 Export');
                header('Content-Type: application/octet-stream');
                header('Content-Disposition: attachment; filename="'.basename($file[0]).'"'); //<<< Note the " " surrounding the file name
                header('Content-Transfer-Encoding: binary');
                header('Connection: Keep-Alive');
                header('Expires: 0');
                header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
                header('Pragma: public');
                if (function_exists('mb_strlen')) {
                    header('Content-Length: ' . mb_strlen($file[1], '8bit'));
                } else {
                    header('Content-Length: ' . strlen($file[1]));
                }
                echo $file[1];
                exit;
            }
        } else {
            $this->noaccess();
        }
    }
    
    function importAction() {
        if ($this->canDo('slider.edit')) {
            if(isset($_FILES['file'])){
                $zip = new ZipArchive;
                if(is_file($_FILES['file']['tmp_name'])){
                    $res = $zip->open($_FILES['file']['tmp_name']);
                    if ($res === TRUE) {
                        $slider = $zip->getFromName('slider.ss2');
                        if($slider){
                        
                            $slidersModel = $this->getModel('sliders');
                            $sliderid = $slidersModel->import(unserialize($slider));
                            NextendMessage::success('Success', '1 Slider imported!');
                            if($sliderid){
                                $slides = $zip->getFromName('slides.ss2');
                                if($slides){
                                    $slidesModel = $this->getModel('slides');
                                    $slides = unserialize($slides);
                                    foreach($slides AS $slide){
                                        $slide['slider'] = $sliderid;
                                        $slidesModel->create($sliderid, $slide, false);
                                    }
                                    NextendMessage::success('Success', count($slides).' Slide(s) imported!');
                                }
                                $fonts = $zip->getFromName('fonts.ss2');
                                if($fonts){
                                    NextendSmartSliderStorage::set('font'.$sliderid, json_encode(unserialize($fonts)));
                                    NextendMessage::success('Success', '1 font set imported!');
                                }
                            }
                        }
                    }else{
                        NextendMessage::error('Error', 'There was an error in the uploaded file');
                    }
                }else{
                    NextendMessage::error('Error', 'There was an error in the uploaded file');
                }
            }
            $this->display('default','import');
        } else {
            $this->noaccess();
        }
    }

}

?>