/** * Update public_flag common api controller * * @access protected * @param string $table target table * @param int $id target record id * @param string $method Excecuting method name * @param string $type Public flag type * @return Response (html) * @throws Exception in Controller_Base::controller_common_api * @see Controller_Base::controller_common_api */ protected function api_update_public_flag_common($table, $id, $method = 'update_public_flag', $type = 'default') { $this->api_accept_formats = 'html'; $this->controller_common_api(function () use($table, $id, $method, $type) { $icon_only_flag = (int) \Input::post('icon_only_flag', 0); $id = intval(\Input::post('id') ?: $id); $model = Site_Model::get_model_name($table); $obj = $model::check_authority($id, $this->u->id); list($public_flag, $posted_model) = Site_Util::validate_params_for_update_public_flag($obj->public_flag, $type); \DB::start_transaction(); $obj->{$method}($public_flag); \DB::commit_transaction(); $data = array('model' => $posted_model, 'id' => $id, 'public_flag' => $public_flag, 'is_mycontents' => true, 'without_parent_box' => true, 'view_icon_only' => $icon_only_flag); $this->set_response_body_api($data, '_parts/public_flag_selecter'); }); }
/** * Update public_flag * * @access public * @param int $id target id * @return Response(html) * @throws Exception in Controller_Base::controller_common_api * @see Controller_Base::controller_common_api */ public function post_update_public_flag($id = null) { $this->api_accept_formats = 'html'; $this->controller_common_api(function () use($id) { $id = intval(\Input::post('id') ?: $id); $timeline = Model_Timeline::check_authority($id, $this->u->id); list($public_flag, $model) = \Site_Util::validate_params_for_update_public_flag($timeline->public_flag); \DB::start_transaction(); if (Site_Util::check_type($timeline->type, 'album_image_timeline')) { $album_image_ids = Model_TimelineChildData::get_foreign_ids4timeline_id($timeline->id); \Album\Model_AlbumImage::update_multiple_each($album_image_ids, array('public_flag' => $public_flag)); } $timeline->public_flag = $public_flag; $timeline->save(); \DB::commit_transaction(); $data = array('model' => $model, 'id' => $id, 'public_flag' => $public_flag, 'is_mycontents' => true, 'without_parent_box' => true); $this->set_response_body_api($data, '_parts/public_flag_selecter'); }); }
/** * Update public_flag * * @access public * @param int $id target id * @return Response(html) * @throws Exception in Controller_Base::controller_common_api * @see Controller_Base::controller_common_api */ public function post_update_public_flag($id = null) { $this->api_accept_formats = 'html'; $this->controller_common_api(function () use($id) { $id = (int) $id; if (\Input::post('id')) { $id = (int) \Input::post('id'); } $icon_only_flag = (int) \Input::post('icon_only_flag', 0); $have_children_public_flag = (int) \Input::post('have_children_public_flag', 0); $is_update_children_public_flag = (int) \Input::post('is_update_children_public_flag', 0); $album = Model_Album::check_authority($id, $this->u->id, 'member'); if ($result = Site_Util::check_album_disabled_to_update($album->foreign_table)) { throw new \DisableToUpdateException($result['message']); } list($public_flag, $model) = \Site_Util::validate_params_for_update_public_flag($album->public_flag); \DB::start_transaction(); $album->update_public_flag_with_relations($public_flag, !empty($is_update_children_public_flag)); \DB::commit_transaction(); $data = array('model' => $model, 'id' => $id, 'public_flag' => $public_flag, 'is_mycontents' => true, 'without_parent_box' => true, 'view_icon_only' => $icon_only_flag, 'have_children_public_flag' => $have_children_public_flag, 'child_model' => 'album_image'); $this->set_response_body_api($data, '_parts/public_flag_selecter'); }); }