public function actionSort() { if (!Yii::app()->request->isAjaxRequest) { Yii::app()->end(); } if (isset($_POST['slide_id']) && isset($_POST['captions']) && is_array($_POST['captions'])) { $i = 0; foreach ($_POST['captions'] as $caption) { $slideCaptions = SlideCaption::model()->findByAttributes(array('slide_id' => $_POST['slide_id'], 'caption_id' => $caption)); $slideCaptions->caption_order = $i; $slideCaptions->save(); $i++; } } }
/** * gets the next order number fot the slide * @return integer the next cation order for the slide */ private function nextCaption() { $criteria = new CDbCriteria(); $criteria->select = 'MAX(caption_order) AS _maxOrder'; $criteria->condition = 'slide_id = :slide_id'; $criteria->params = array(':slide_id' => $this->_slide->id); $row = SlideCaption::model()->find($criteria); return key_exists('_maxOrder', $row) ? $row['_maxOrder']++ : 0; }