Exemplo n.º 1
0
 /**
  * @author Thuanth6589 <*****@*****.**>
  * save media
  * @param array $media_data
  * @param array $posts_data
  * @param null $media_id_edit
  * @return bool
  */
 public function save_media($media_data = array(), $posts_data = array(), $media_id_edit = null)
 {
     if (empty($media_data)) {
         return false;
     }
     try {
         \Fuel\Core\DB::start_transaction();
         $media = new Model_Mmedia();
         $post = new Model_Mpost();
         $save = $media->save_data($media_data);
         if (!$save) {
             return false;
         }
         $media_id = isset($save[0]) ? $save[0] : '';
         if (isset($media_id_edit)) {
             $post_id_edit = array();
             foreach ($posts_data as $k => $v) {
                 if (isset($v['post_id'])) {
                     $post_id_edit[] = $v['post_id'];
                 }
             }
             $delete = $post->delete_by_media($media_id_edit, $post_id_edit);
             if (!isset($delete)) {
                 \Fuel\Core\DB::rollback_transaction();
                 return false;
             }
             $media_id = $media_id_edit;
         }
         if (!$post->save_multi_post($posts_data, $media_id)) {
             \Fuel\Core\DB::rollback_transaction();
             return false;
         }
         \Fuel\Core\DB::commit_transaction();
         return true;
     } catch (Exception $e) {
         \Fuel\Core\DB::rollback_transaction();
         return false;
     }
 }