PATH:
home
/
letacommog
/
letaweb
/
admin
/
api
/
blog
/
post
<?php class CategoryManager extends BlogManager { public function actiongetnews_categoriesList() { $rs = $this->getSubNews_Categories(0); $this->ajaxSuccess($rs); } public function getSubNews_Categories($id) { $criteria = new CDbCriteria(); $criteria->compare('parent_id', $id); $criteria->order = 'sort_order asc'; $categories = BNewsCategory::model()->findAll($criteria); if (sizeof($categories) == 0) { return array(); } $rs = array(); for ($i = 0;$i < sizeof($categories);++$i) { $id1 = $categories[$i]['inline_id']; settype($id1, 'integer'); $category = $categories[$i]->attributes; $item = $this->getSubNews_Categories($id1); if (sizeof($item) > 0) { $category['items'] = $item; } $rs[] = $category; } return $rs; } public function actionsaveCategory() { $data = $_POST['data']; $parent_id = $_POST['parent_id']; $categoryform = new News_CategoriesForm(); $categoryform->attributes = $data; $categoryform->parent_id = $parent_id; $new_category = $categoryform->save(); $this->ajaxSuccess($new_category->getAttributes()); } public function actionchangeOrder() { $parent_id = $_REQUEST['parent_id']; $category = BNewsCategory::model()->findByPk($parent_id); if(!isset($category)) { $this->ajaxError(''); return; } $orders = $_REQUEST['orders']; $criteria = new CDbCriteria(); $criteria->addInCondition('id', $orders); $inline_id = $category->inline_id; BNewsCategory::model()->updateAll(array('parent_id' => $inline_id), $criteria); $i = 1; foreach ($orders as $order) { BNewsCategory::model()->updateByPk($order, array('sort_order' => $i)); ++$i; } } public function actiondeleteCategories() { $ids = $_REQUEST['ids']; $criteria = new CDbCriteria(); $criteria->addInCondition('id', $ids); BNews::model()->updateAll(array('main_category_id' => 0), $criteria); BNewsCategory::model()->deleteAll($criteria); $this->ajaxSuccess(1); } }
[+]
..
[-] CategoryManager.php
[edit]