__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php


namespace Nextend\SmartSlider3\Application\Model;


use Exception;
use Nextend\Framework\Database\Database;
use Nextend\Framework\Model\AbstractModelTable;
use Nextend\SmartSlider3\Application\Helper\HelperSliderChanged;
use Nextend\SmartSlider3\SmartSlider3Info;

class ModelSlidersXRef extends AbstractModelTable {

    protected function createConnectorTable() {

        return Database::getTable('nextend2_smartslider3_sliders_xref');
    }

    public function add($groupID, $sliderID) {
        try {
            $this->table->insert(array(
                'group_id'  => $groupID,
                'slider_id' => $sliderID,
                'ordering'  => $this->getMaximalOrderValue($groupID)
            ));

            $helper = new HelperSliderChanged($this);
            $helper->setSliderChanged($sliderID, 1);
            $helper->setSliderChanged($groupID, 1);

            SmartSlider3Info::sliderChanged();

            return true;
        } catch (Exception $e) {
            return false;
        }
    }

    /**
     * @param int $groupID
     *
     * @return array the IDs of the deleted child sliders.
     */
    public function deleteGroup($groupID) {
        $sliders = $this->getSliders($groupID);

        $deletedSliders = array();

        $slidersModel = new ModelSliders($this);
        foreach ($sliders as $slider) {
            $relatedGroups = $this->getGroups($slider['slider_id']);
            if (count($relatedGroups) == 1) {
                if ($slidersModel->trashOrDelete($slider['slider_id'], $groupID) == 'delete') {
                    $deletedSliders[] = $slider['slider_id'];
                }
            }
        }

        $this->table->deleteByAttributes(array(
            'group_id' => $groupID
        ));

        SmartSlider3Info::sliderChanged();

        return $deletedSliders;
    }

    public function deleteSlider($sliderID) {

        $helper = new HelperSliderChanged($this);
        $helper->setSliderChanged($sliderID, 1);

        SmartSlider3Info::sliderChanged();

        return $this->table->deleteByAttributes(array(
            'slider_id' => $sliderID
        ));
    }

    public function deleteXref($groupID, $sliderID) {

        $helper = new HelperSliderChanged($this);
        $helper->setSliderChanged($sliderID, 1);
        $helper->setSliderChanged($groupID, 1);

        SmartSlider3Info::sliderChanged();

        return $this->table->deleteByAttributes(array(
            'group_id'  => $groupID,
            'slider_id' => $sliderID
        ));
    }

    public function getSliders($groupID, $status = '*') {

        if ($status !== '*') {
            $slidersModel = new ModelSliders($this);

            return Database::queryAll("
            SELECT xref.slider_id
            FROM " . $this->getTableName() . " AS xref
            LEFT JOIN " . $slidersModel->getTableName() . " AS sliders ON sliders.id = xref.slider_id
            WHERE xref.group_id = '" . $groupID . "' AND sliders.slider_status LIKE " . Database::quote($status) . "
            ORDER BY xref.ordering ASC");
        }

        return Database::queryAll("
            SELECT slider_id
            FROM " . $this->getTableName() . "
            WHERE group_id = '" . $groupID . "'
            ORDER BY ordering ASC");
    }

    public function getGroupsIDs($sliderID) {
        $ids = array();

        $result = Database::queryAll("
            SELECT group_id
            FROM " . $this->getTableName() . "
            WHERE slider_id = '" . $sliderID . "'
            ORDER BY ordering ASC");

        foreach ($result as $row) {
            $ids[] = $row['group_id'];
        }

        return $ids;
    }

    public function getGroups($sliderID, $status = '*') {
        $slidersModel = new ModelSliders($this);

        $wheres = array("xref.slider_id = '" . $sliderID . "'");

        if ($status !== '*') {
            $wheres[] = "sliders.slider_status LIKE '" . $status . "'";
        }

        $result = Database::queryAll("
            SELECT xref.group_id, sliders.title
            FROM " . $this->getTableName() . " AS xref
            LEFT JOIN " . $slidersModel->getTableName() . " AS sliders ON sliders.id = xref.group_id
            WHERE " . implode(' AND ', $wheres) . "
            ORDER BY xref.group_id ASC");

        if (!empty($result)) {
            return $result;
        }

        return array(
            array(
                "group_id" => 0,
                "title"    => n2_('Dashboard')
            )
        );
    }

    protected function getMaximalOrderValue($groupID) {

        $query  = "SELECT MAX(ordering) AS ordering FROM " . $this->getTableName() . " WHERE group_id = '" . intval($groupID) . "'";
        $result = Database::queryRow($query);

        if (isset($result['ordering'])) return $result['ordering'] + 1;

        return 0;
    }

    /**
     * @param $sliderID
     *
     * @return bool
     */
    public function isSliderAvailableInAnyGroups($sliderID) {
        $allRelatedGroups = $this->getGroups($sliderID);

        $slidersModel = new ModelSliders($this);

        foreach ($allRelatedGroups as $group) {
            if ($group['group_id'] != 0) {
                /*
                 * It is a group
                 */
                $sliderRow = $slidersModel->get($group['group_id']);
                if (isset($sliderRow['slider_status']) && $sliderRow['slider_status'] === 'published') {
                    return true;
                }
            } else {
                /*
                 * It is a slider
                 */
                $sliderRow = $slidersModel->get($sliderID);
                if (isset($sliderRow['slider_status']) && $sliderRow['slider_status'] === 'published') {
                    return true;
                }
            }
        }

        return false;
    }
}

Filemanager

Name Type Size Permission Actions
ModelGenerator.php File 19.22 KB 0664
ModelLicense.php File 2.74 KB 0664
ModelSettings.php File 1.25 KB 0664
ModelSliders.php File 26.59 KB 0664
ModelSlidersXRef.php File 5.72 KB 0664
ModelSlides.php File 22.53 KB 0664
Filemanager