You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.5 KiB
76 lines
1.5 KiB
![]()
6 years ago
|
<?php
|
||
|
/* For licensing terms, see /license.txt */
|
||
|
|
||
|
/**
|
||
|
* Class LpItemOrderList.
|
||
|
*
|
||
|
* Classes to create a special data structure to manipulate LP Items used only in this file.
|
||
|
*/
|
||
|
class LpItemOrderList
|
||
|
{
|
||
|
public $list = [];
|
||
|
|
||
|
/**
|
||
|
* LpItemOrderList constructor.
|
||
|
*/
|
||
|
public function __construct()
|
||
|
{
|
||
|
$this->list = [];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param int $parentId
|
||
|
*
|
||
|
* @return LpItemOrderList
|
||
|
*/
|
||
|
public function getItemWithSameParent($parentId)
|
||
|
{
|
||
|
$list = new LpItemOrderList();
|
||
|
for ($i = 0; $i < count($this->list); $i++) {
|
||
|
if ($this->list[$i]->parent_item_id == $parentId) {
|
||
|
$list->add($this->list[$i]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $list;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param array $list
|
||
|
*/
|
||
|
public function add($list)
|
||
|
{
|
||
|
$this->list[] = $list;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return array
|
||
|
*/
|
||
|
public function getListOfParents()
|
||
|
{
|
||
|
$result = [];
|
||
|
foreach ($this->list as $item) {
|
||
|
if (!in_array($item->parent_item_id, $result)) {
|
||
|
$result[] = $item->parent_item_id;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $result;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param int $id
|
||
|
* @param int $value
|
||
|
* @param string $parameter
|
||
|
*/
|
||
|
public function setParametersForId($id, $value, $parameter)
|
||
|
{
|
||
|
for ($i = 0; $i < count($this->list); $i++) {
|
||
|
if ($this->list[$i]->id == $id) {
|
||
|
$this->list[$i]->$parameter = $value;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|