Перекодировка в utf-8
This commit is contained in:
parent
43f501a5e2
commit
df2e65a670
80 changed files with 668 additions and 668 deletions
|
|
@ -1,11 +1,11 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Сортировка дерева в представлении Nested Set
|
||||
* Для дерева которое хранится в базе данных используя представление Nested Set нет возможности отсортировать элементы дерева по
|
||||
* произвольному полю. Поэтому после извлечения дерева из базы данных оно преобразуется в обычное представление сортируется и обратно
|
||||
* Сортировка дерева в представлении Nested Set
|
||||
* Для дерева которое хранится в базе данных используя представление Nested Set нет возможности отсортировать элементы дерева по
|
||||
* произвольному полю. Поэтому после извлечения дерева из базы данных оно преобразуется в обычное представление сортируется и обратно
|
||||
*
|
||||
* Пример:
|
||||
* Пример:
|
||||
* $sort = new NestedSetSort();
|
||||
* $data = $sort->sortBy($data, 'name');
|
||||
*/
|
||||
|
|
@ -17,7 +17,7 @@ class NestedSetSort {
|
|||
public function __construct() {
|
||||
}
|
||||
|
||||
// Преобразуем Nested Set в дерево и сортируем
|
||||
// Преобразуем Nested Set в дерево и сортируем
|
||||
private function listTree(array $tree, $offset, $level) {
|
||||
$result = array();
|
||||
for ($i = $offset; $i < sizeof($tree); $i++) {
|
||||
|
|
@ -38,19 +38,19 @@ class NestedSetSort {
|
|||
return array($result, $i);
|
||||
}
|
||||
|
||||
// Сравнение двух элементов
|
||||
// Сравнение двух элементов
|
||||
private function compare($a, $b) {
|
||||
$a1 = $this->data[$a[0]][$this->sortBy];
|
||||
$b1 = $this->data[$b[0]][$this->sortBy];
|
||||
return strcmp($a1, $b1);
|
||||
}
|
||||
|
||||
// Сортировка списка
|
||||
// Сортировка списка
|
||||
private function sortList(array &$list, $data) {
|
||||
usort($list, array($this, 'compare'));
|
||||
}
|
||||
|
||||
// Создает дерево в виде списка
|
||||
// Создает дерево в виде списка
|
||||
private function reorder(array $tree) {
|
||||
foreach($tree as $node) {
|
||||
$this->result[] = $this->data[$node[0]];
|
||||
|
|
@ -68,7 +68,7 @@ class NestedSetSort {
|
|||
return $order[0];
|
||||
}
|
||||
|
||||
// Сортировка по заданному полю
|
||||
// Сортировка по заданному полю
|
||||
public function sortBy(array $data, $sortBy) {
|
||||
$this->data = $data;
|
||||
$this->sortBy = $sortBy;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue