Пример #1
0
 /**
  * change category order
  *	@param $cat_id	category id
  *	@param $dir		direction (up|down)
  *	@param return	xml (<ret>0</ret>|<ret>1</ret>)
  */
 function moveCat($cat_id, $dir)
 {
     if (!$this->_admin) {
         return '<ret>0</ret>';
     }
     $db = new DbAdmin();
     $cat_order = $db->getCatOrder($cat_id);
     $a = $db->getCatsInOrder($cat_order, $dir, 2);
     $new_order = 0;
     if (2 == count($a)) {
         $new_order = $a[0]['cat_order'] > $a[1]['cat_order'] ? $a[1]['cat_order'] + ($a[0]['cat_order'] - $a[1]['cat_order']) / 2 : $a[0]['cat_order'] + ($a[1]['cat_order'] - $a[0]['cat_order']) / 2;
     } else {
         if (1 == count($a)) {
             $new_order = $cat_order > $a[0]['cat_order'] ? $a[0]['cat_order'] / 2 : $a[0]['cat_order'] + CAT_ORDER_STEP;
         }
     }
     if ($new_order) {
         $db->setNewOrder($cat_id, $new_order);
         return '<ret>1</ret>';
     }
     return '<ret>0</ret>';
 }