HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers64/klimroosbudel.nl/wwwroot/kms/lib/general/sorter.class.php
<?php

/**
 * sorter.class.php
 * Created by Komma Mediadesign.
 * Author: mike
 * Date: 4/11/13
 */
class Sorter
{
    /*
     * Table name in which we will edit the order
     */
    private $_tableName;

    /*
     * Language
     */
    private $_lang;

    private $_urls;

    /*
     *
     */
    public function __construct()
    {
        if (defined('URL_LANG')) {
            $LanguageHandler = new LanguageHandler();
            $LanguageHandler->set(URL_LANG);
            $this->_lang = $LanguageHandler->get();
            $this->_urls = $LanguageHandler->getUrls();
        }
    }

    /**
     * Updates the order of the given array
     *
     * @param array $ids
     * @param string $column
     * @return null
     */
    public function update($ids, $column = 'itemOrder')
    {
        //print_r($ids);
        //array_reverse($ids);

        $Dbh = new DatabaseHandler();
        $Dbh->setTableName($this->_tableName);

        foreach ($ids as $i => $id) {
            $id = intval($id);
            $order = $i + 1;
            $data = [$column => $order];
            $Dbh->clearRule();
            $Dbh->addRule('id', $id);
            $Dbh->setData($data);
            $Dbh->update();
        }
    }

    /*
     * Set table name
     */
    public function setTableName($name)
    {
        if (! empty($name)) {
            $this->_tableName = $name;
        }
    }

    /**
     * Returns a string containing a sortable item list
     *
     * @param array
     * @return string
     */
    public function createList($items)
    {
        $list = '';
        $ids = [];
        if ($items != null) {
            $list = '';
            foreach ($items as $item) {
                $ids[] = $item['id'];

                $list .= '<li title="'.$item['id'].'">';
                $list .= $item['title'];
                $list .= '</li>';
            }
        }

        $ids = array_reverse($ids);
        $idString = implode(',', $ids);

        return [$list, $idString];
    }
}