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];
}
}