private function generateItem(array $item, $level, $num) { $title = 1 === $level ? "Parent {$num}" : "Level {$level} child {$num}"; $result = ['title' => $title, 'url' => TextHelper::urlFormat($title)]; if (0 !== count($item)) { $children = []; $cnt = 0; foreach ($item as $child) { $children[] = $this->generateItem($child, $level + 1, ++$cnt); } $result['children'] = $children; } return $result; }
/** * @return array a list of links that point to the post list filtered by every tag of this post */ public function getTagLinks() { $links = array(); foreach (\Helpers\TextHelper::string2array($this->tags) as $tag) { $links[] = \Phalcon\Tag::linkTo('posts/index?tags=' . $tag, $tag); } return $links; }
public static function removeTags($tags) { if (empty($tags)) { return; } $names = ''; if (!\Helpers\Arr::is_array_empty($tags)) { $names = \Helpers\TextHelper::array2string($tags); } $names = rtrim($names, " ,"); $criteria = new \Phalcon\Mvc\Model\Criteria(); $criteria->setModelName("\\Models\\Tags"); //$criteria->setDI($this->di); //$criteria->addInCondition('name',$tags); $criteria->andWhere("name IN ({$names})"); //$this->updateCounters(array('frequency' => 1), $criteria); $models = \Models\Tags::find($criteria); if ($models->count()) { foreach ($models as $model) { $model->frequency = $model->frequency - 1; $model->update(); } } foreach (\Models\Tags::find("frequency<='0'") as $model) { $model->delete(); } }