function run() { if (isset($_REQUEST['kill_cache'])) { $this->clear_page_cache(); $redirect = carl_make_redirect(array('kill_cache' => '')); header("Location: " . $redirect); exit; } parent::run(); }
/** * Set the inline editing status in the session and redirect */ function set_inline_editing_availability() { $inline_edit =& get_reason_inline_editing($this->page_id); if ($this->request['inline_editing_availability'] == 'enable') { $inline_edit->enable(); } else { $inline_edit->disable(); } $redirect = carl_make_redirect(array('inline_editing_availability' => '')); header('Location: ' . $redirect); exit; }
function run() { if (($e = new entity($this->admin_page->id)) && reason_is_entity($e, true)) { $name = 'Copy of ' . $e->get_value('name'); if ($new_entity_id = duplicate_entity($this->admin_page->id, false, false, array('name' => $name, 'unique_name' => '', 'last_modified_by' => $this->admin_page->user_id, 'state' => 'Pending', 'new' => '1'))) { header('Location: ' . carl_make_redirect(array('cur_module' => 'Editor', 'id' => $new_entity_id))); } else { echo '<p>Unable to duplicate entity.</p>'; return false; } } else { echo '<p>Duplicate called with invalid entity ID.</p>'; return false; } }
function init() { $this->request = carl_get_request(); // If obtained via post we need to manually decode the URL - all current uses of this pass it via get. if (isset($_POST['requested_url'])) { $this->request['requested_url'] = urldecode($this->request['requested_url']); } $this->admin_page->title = 'Access Denied'; if ($requested_site_id = $this->get_requested_site_id()) { // lets double check whether the user has access if (user_can_edit_site($this->admin_page->user_id, $requested_site_id)) { header('Location: ' . $this->get_destination_url_with_user_id($this->admin_page->user_id)); exit; } else { $this->can_pose_as_other_user = reason_user_has_privs($this->admin_page->user_id, 'pose_as_other_user'); $this->has_master_admin_edit_access = user_can_edit_site($this->admin_page->user_id, id_of('master_admin')); } } else { $redirect = carl_make_redirect(array('cur_module' => '', 'requested_url' => '', 'site_id' => '')); header('Location: ' . $redirect); exit; } }
function where_to(&$disco) { return carl_make_redirect(array()); }
/** * Run the Controller * @access public * @return void */ function run() { $this->determine_step(); if (empty($this->_request[$this->_step_var_name])) { if ($this->preserve_query_string) { $redirect = carl_make_redirect(array($this->_step_var_name => $this->_current_step)); header('Location: ' . $redirect); exit; } else { header('Location: ' . $this->_base_url . '?' . $this->_step_var_name . '=' . $this->_current_step); exit; } } elseif (!empty($this->_session_existed) and $this->_first_run) { // session timed out. we know this because the cookie or SID exists but PHP could not find a // session file. trigger_error('Session has expired', E_USER_NOTICE); $_SESSION['timeout_msg'] = true; //! This should be a little more descriptive if we're going to be timing out more often, don't you think? Maybe preserve cur_module? Or site_id if they exist? header('Location: ' . $this->_base_url . '?' . $this->_step_var_name . '=' . $this->_get_start_step()); exit; } elseif ($this->_request[$this->_step_var_name] != $this->_current_step) { // This error is no longer being triggered because it's not really an error. //trigger_error( 'Strange behavior: requested multipage form step not the same as the actual step being displayed. Probably due to session timeout. Client browser headered to start of form.',E_USER_NOTICE ); header('Location: ' . $this->_base_url . '?' . $this->_step_var_name . '=' . $this->_get_start_step()); exit; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // intercept posts, store in session, redirect to a new page, send disco the sessioned _POST /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// $this->intercept_post(); $final_step = $this->_current_step == $this->_get_final_step(); // get the actual object that has already been instantiated. // we know current step is good since validate_step has run. $f =& $this->forms[$this->_current_step]; $f->set_request($this->_request); $actions = array(); if (!empty($this->transitions[$this->_current_step])) { $trans = $this->transitions[$this->_current_step]; if (!empty($trans['step_decision'])) { $trans_type = !empty($trans['step_decision']['type']) ? $trans['step_decision']['type'] : ''; switch ($trans_type) { case 'user': $next_steps = $trans['next_steps']; foreach ($next_steps as $action => $action_info) { if (!empty($action_info['label'])) { $label = $action_info['label']; } else { $label = $action; } $actions[$action] = $label; } break; case 'method': $actions['next'] = $this->default_next_text; break; default: trigger_error('Unknown transition step decision type. How is that for programmer jargon?'); break; } } else { $actions['next'] = $this->default_next_text; } } else { $actions['next'] = $this->default_next_text; } if ($this->show_back_button && !empty($this->_path)) { $s = $this->get_previous_step(); if (!empty($this->transitions[$s]['back_button_text'])) { $actions['back'] = $this->transitions[$s]['back_button_text']; } else { $actions['back'] = $this->default_back_text; } } if ($final_step) { if (!empty($this->transitions[$this->_current_step]['final_button_text'])) { $actions['next'] = $this->transitions[$this->_current_step]['final_button_text']; } else { $actions['next'] = $this->default_final_text; } } $f->actions = $actions; $f->run_load_phase(); if (!empty($f->chosen_action)) { if ($f->chosen_action == 'back') { $form_jump = $this->_remove_last_step_from_path(); } // Save the last action; otherwise, it's not available to forms. $this->session->set('chosen_action', $f->chosen_action); } if (empty($form_jump)) { $f->run_process_phase(); // $processed was added to FormStep to see if the form is done. // This will be false on first time or in error checking. We // don't want to load the form values into the session until // the form has passed error checking. if ($f->processed) { $this->update_session_form_vars(); // Save a value in the session to indicate that we've processed this step $this->set_form_data('controller_' . $this->_current_step . '_processed', true); $this->_add_step_to_path($this->_current_step); $form_jump = $this->_determine_next_step(); } } if (!empty($form_jump)) { $this->update_session_form_vars(); if ($this->preserve_query_string) { $redirect = carl_make_redirect(array($this->_step_var_name => $form_jump)); header('Location: ' . $redirect); exit; } else { header('Location: ' . $this->_base_url . '?' . $this->_step_var_name . '=' . $form_jump); exit; } } $timeout_msg = $this->session->get('timeout_msg'); if (!empty($timeout_msg)) { $this->session->set('timeout_msg', ''); echo $this->sess_timeout_msg; } $f->run_display_phase(); if ($final_step and $f->processed) { $final_where_to = $f->where_to(); if ($this->clear_form_data_on_finish && !$this->destroy_session_on_finish) { $this->destroy_form_data(); $this->reset_to_first_run(); } if ($this->destroy_session_on_finish) { $this->session->destroy(); } if (!empty($final_where_to)) { header('Location: ' . $final_where_to); } } }
function where_to() { if ($this->get_chosen_action() == '0') { return @carl_make_redirect(array("savedTime" => time())); } else { return carl_make_redirect(array('cur_module' => 'Lister', 'state' => 'live')); } }
/** * People may have admin URLs bookmarked from the old form module ... * * ... in this case a permanent redirect is sent to the correct admin URL * * This method is included only for backwards compatibility - * the query string parameter data_view should now be form_admin_view * * @access private */ function _redirect_old_style_url() { if (isset($_REQUEST['mode']) && $_REQUEST['mode'] == 'data_view') { $redirect = carl_make_redirect(array('mode' => '', 'form_admin_view' => 'true')); header("Location: " . $redirect); exit; } if (isset($_REQUEST['thor_success']) && $_REQUEST['thor_success'] == 'true') { $redirect = carl_make_redirect(array('thor_success' => '', 'submission_key' => 'true')); header("Location: " . $redirect); exit; } }
/** * Initializes the admin page. * * Identifies which admin module to use, instantiates, and initializes it. * This method uses the $GLOBALS['_reason_admin_modules'] array defined in admin_module.php * to determine which module to run. * * @return true if complete, false if used could not be authenticated */ function init() { if ($this->authenticate() == false) { return false; } $this->load_params(); $this->head_items = new HeadItems(); $this->set_head_items(); if (!empty($this->cur_module)) { if (array_key_exists($this->cur_module, $GLOBALS['_reason_admin_modules']) && !empty($GLOBALS['_reason_admin_modules'][$this->cur_module]['file'])) { reason_include_once('classes/admin/modules/' . $GLOBALS['_reason_admin_modules'][$this->cur_module]['file']); if (!empty($GLOBALS['_reason_admin_modules'][$this->cur_module]['class']) && class_exists($GLOBALS['_reason_admin_modules'][$this->cur_module]['class'])) { $module_name = $GLOBALS['_reason_admin_modules'][$this->cur_module]['class']; } else { trigger_error('Class ' . $this->cur_module . 'Module not found'); } } } if (empty($module_name)) { if ($this->site_id) { if ($this->type_id) { if ($this->id or $this->cur_module == 'Editor') { $redirect = carl_make_redirect(array('cur_module' => 'Editor')); header('Location: ' . $redirect); die; } else { $redirect = carl_make_redirect(array('cur_module' => 'Lister')); header('Location: ' . $redirect); die; } } else { reason_include_once('classes/admin/modules/' . $GLOBALS['_reason_admin_modules']['Site']['file']); $module_name = $GLOBALS['_reason_admin_modules']['Site']['class']; } } else { reason_include_once('classes/admin/modules/' . $GLOBALS['_reason_admin_modules']['Default']['file']); $module_name = $GLOBALS['_reason_admin_modules']['Default']['class']; } } if (class_exists($module_name)) { $this->module_name = $module_name; $this->module = new $module_name($this); $this->module->set_head_items($this->head_items); if ($this->module->check_admin_token() && $this->invalid_admin_token()) { $this->module->init_invalid_admin_token(); } else { $this->module->init(); } } else { trigger_error('Could not determine a module to run in the admin page init method.', HIGH); } return true; }
function _where_to_policy_metadata(&$disco) { if( $disco->get_chosen_action() == 'save' ) { $url = get_current_url(); $url .= '#metadataEdit'; } else { $inline_edit =& get_reason_inline_editing($this->page_id); $deactivation_params = $inline_edit->get_deactivation_params($this); $deactivation_params['edit_id'] = ''; $url = carl_make_redirect($deactivation_params); } return $url; }
/** * Delete the registrant indicated in the delete_registrant request value * * @param object $event event entity * @return void */ function delete_registrant($event) { $slot = get_entity_by_id($this->request['slot_id']); $registrants = explode(';', $slot['registrant_data']); $changed = false; foreach($registrants as $key=>$registrant) { if(md5($registrant) == $this->request['delete_registrant']) { $old_data[] = $registrants[$key]; unset($registrants[$key]); $changed = true; } } if($changed) { $values = array ( 'registrant_data' => implode(';', $registrants)); $update_user = $this->user_is_slot_admin($event); if(empty($update_user)) $update_user = get_user_id('event_agent'); $successful_update = reason_update_entity( $this->request['slot_id'], $update_user, $values ); if($successful_update) { // redirect on successful delete $link = carl_make_redirect(array('delete_registrant' => '')); header("Location: " . $link ); exit; } else { $this->slot_registration_admin_messages .= '<h4>Sorry</h4><p>Deletion unsuccesful. The Web Services group has been notified of this error - please try again later.</p>'; $this->send_slot_deletion_error_message($event, print_r($old_data, true) ); } } else $this->slot_registration_admin_messages .= '<h4>Sorry</h4><p>Could not find registrant to delete - most likely they were already deleted.</p>'; }
/** * Make sure conditions are okay for the lister to run and if not, redirect appropriately */ function verify_parameters() { if (empty($this->admin_page->site_id) && $this->admin_page->cur_module == 'Lister') { header('Location: ' . carl_make_redirect(array('cur_module' => '', 'site_id' => ''))); exit; } if (empty($this->admin_page->type_id) && $this->admin_page->cur_module == 'Lister') { header('Location: ' . carl_make_redirect(array('cur_module' => '', 'type_id' => ''))); exit; } }
/** * Build the feature set */ function _build_features() { $es1 = new entity_selector( $this->site_id ); $es1->add_type( id_of('feature_type') ); $es1->add_right_relationship( $this->page_id, relationship_id_of('page_to_feature')); $es1->add_rel_sort_field( $this->page_id, relationship_id_of('page_to_feature') ); $es1->set_order('rel_sort_order ASC'); if($this->params['max'] != 0) { $es1->set_num($this->params['max']); } $features = $es1->run_one(); if(empty($features)) { return null; } $es2 = new entity_selector( $this->site_id ); $es2->add_type( id_of('image') ); $es2->add_right_relationship_field( 'feature_to_image','entity','id','feature_id', array_keys($features) ); $es2->enable_multivalue_results(); $images = $es2->run_one(); if ($images) { foreach ($images as $image_id => $image) { $features_with_image = $image->get_value('feature_id'); $features_with_image = (!is_array($features_with_image)) ? array($features_with_image) : $features_with_image; // force to array foreach ($features_with_image as $feature_id) { $feature_extra[$feature_id]['image_id'][] = $image_id; } } } $es3 = new entity_selector( $this->site_id ); $es3->add_type( id_of('av') ); $es3->add_right_relationship_field( 'feature_to_media_work','entity','id','av_id', array_keys($features) ); $es3->enable_multivalue_results(); $media_works = $es3->run_one(); if ($media_works) { foreach ($media_works as $media_work_id => $media_work) { $features_with_media_work = $media_work->get_value('av_id'); $features_with_media_work = (!is_array($features_with_media_work)) ? array($features_with_media_work) : $features_with_media_work; // force to array foreach ($features_with_media_work as $feature_id) { $feature_extra[$feature_id]['av_id'][] = $media_work_id; } } } // augment our features with images and media works foreach($features as $feature_id => $feature) { if (isset($feature_extra[$feature_id]['image_id'])) { $value = (count($feature_extra[$feature_id]['image_id']) == 1) ? reset($feature_extra[$feature_id]['image_id']) : $feature_extra[$feature_id]['image_id']; $features[$feature_id]->set_value('image_id',$value); } else $features[$feature_id]->set_value('image_id',"none"); if (isset($feature_extra[$feature_id]['av_id'])) { $value = (count($feature_extra[$feature_id]['av_id']) == 1) ? reset($feature_extra[$feature_id]['av_id']) : $feature_extra[$feature_id]['av_id']; $features[$feature_id]->set_value('av_id',$value); } else $features[$feature_id]->set_value('av_id',"none"); } //shuffle the features if set to true //note that keys are preserved in the new //shuffled feature array if($this->params['shuffle']==true) { $shuffled_results=array(); $temps=array(); $temps=$features; shuffle($temps); foreach($temps as $temp) { $id=$temp->get_value('id'); $shuffled_results[$id]=$temp; } $features=$shuffled_results; } //pick a random media work or image from each features list of images. foreach($features as $id=>$r) { $num_imgs=0; $num_mdia=0; $i=0; if($features[$id]->has_value('image_id')) { $img_id=$features[$id]->get_value('image_id'); if($img_id!="none") { $num_imgs=count($img_id); } } else { $features[$id]->set_value('image_id','none'); } if($features[$id]->has_value('av_id')) { $av_id=$features[$id]->get_value('av_id'); if($av_id !="none") { $num_mdia=count($av_id); } } else { $features[$id]->set_value('av_id','none'); } $num_objects=$num_imgs+$num_mdia; $i=rand(0, $num_objects-1 ); if($i<$num_mdia) { $features[$id]->set_value('current_object_type','av'); $features[$id]->set_value('current_image_index',$i); } else { $features[$id]->set_value('current_object_type','img'); $features[$id]->set_value('current_image_index',$i-$num_mdia); } } //set default values for items that are not set foreach($features as $id=>$r) { $cp=$features[$id]->get_value('crop_style'); if($cp==null){ $features[$id]->set_value('crop_style','fill');} } $this->_features=$features; //if feature id is on this page then display it //else redirect to same page but this feature not set if(isset($this->request['feature'])) { $feature_id=$this->request['feature']; $is_a_feature_on_this_page=false; foreach($this->_features as $feat) { if($feature_id==$feat->get_value('id')) { $is_a_feature_on_this_page=true; break; } } if($is_a_feature_on_this_page) { $this->current_feature_id=$this->request['feature']; } else { $url=carl_make_redirect(array('feature'=>''),''); header("Location: ".$url); } } $this->_build_view_data(); }
$es->add_right_relationship_field('owns', 'entity', 'id', 'owner_id'); $es->add_right_relationship_field('owns', 'entity', 'name', 'site_name'); $es->add_left_relationship_field('minisite_page_parent', 'entity', 'id', 'parent_id'); // we add some relations so that we grab only valid pages with names that are not custom url pages $es->add_relation('(entity.name != "") AND ((url.url = "") OR (url.url IS NULL))'); $result = $es->run_one(); $builder = new reasonPageURL(); $builder->provide_page_entities($result); $request = carl_get_request(); $detail_mode = isset($request['detail']) ? $request['detail'] == 'true' : false; $module_limiter = isset($request['limit']) ? conditional_stripslashes(turn_into_string($request['limit'])) : ''; $detail_limiter = isset($request['detail_limit']) ? conditional_stripslashes(turn_into_string($request['detail_limit'])) : ''; $core_local_limiter = isset($request['core_local_limit']) ? check_against_array($request['core_local_limit'], array('core', 'local')) : ''; $num = isset($request['num']) ? turn_into_int($request['num']) : 'All'; if (isset($request['reset'])) { header("Location: " . carl_make_redirect(array('limit' => '', 'core_local_limit' => ''))); exit; } // Make an array with first dimension of page type name, second dimension of every page // ID using the pt, third dimension 'true' for every page type returned by the query. foreach ($result as $k => $mypage) { $page_type_value = $mypage->get_value('custom_page'); if (empty($page_type_value)) { $page_type_value = 'default'; } $reason_page_types[$page_type_value][$k] = 'true'; } $rpts =& get_reason_page_types(); $all_page_types = $rpts->get_page_types(); foreach ($all_page_types as $page_type_name => $pt_obj) { $regions = $pt_obj->get_region_names();
function where_to() { $redirect = carl_make_redirect(array('_step' => '', 'report' => $this->controller->get_form_data('xml_id') . '_result')); return $redirect; }
function where_to() { reason_refresh_relationship_names(); // lets make sure this reflects changes. return carl_make_redirect(array('table_row_action' => '', 'table_action_id' => '')); }
/** * If no state info in request, check session to see if there is a saved state and redirect to it. * If there is state info in request, save that info to the session. * * @return void */ function _consult_and_save_session_state() { $context_vars = array('site_id', 'type_id', 'id', 'user_id', 'cur_module', 'rel_id', '__old_site_id', '__old_type_id', '__old_id', '__old_rel_id', '__old_cur_module', '__old_user_id'); $ignore_vars = array('open','new_entity','refresh_lister_state'); $context_string = $this->get_lister_id($context_vars, $this->request); $view = !empty($this->request['state']) ? $this->request['state'] : false; // Strip the context, ignore vars, & entity state var from the request to produce our viewer state array $state = array_diff_key($this->request, array_flip( array_merge( $context_vars, $ignore_vars, array('state') ) ) ); $refresh_lister_state = !empty($this->request['refresh_lister_state']) ? $this->request['refresh_lister_state'] : false; if ( !isset($_SESSION['reason_admin_lister_states'])){ $_SESSION['reason_admin_lister_states'] = array(); } $stored_states =& $_SESSION['reason_admin_lister_states']; if ( $view && $state ) { $stored_states[$context_string][$view]['state'] = $state; $stored_states[$context_string][$view]['time'] = microtime(true); } else if ( $view && $refresh_lister_state) { unset($stored_states[$context_string][$view]); } else if ( $view ) { if ( !empty($stored_states[$context_string][$view]['state']) ) { $this->request = array_merge($this->request,$stored_states[$context_string][$view]['state']); $new_link = carl_make_redirect($this->request); header('Location: '.$new_link); echo '<p>Attempted to redirect to <a href="' . htmlspecialchars($new_link,ENT_QUOTES) . '">here</a>, but seem to have failed.</p>'; die(); } $stored_states[$context_string][$view]['time'] = microtime(true); } else if (!empty($stored_states[$context_string])) { $max_time = 0; foreach ( $stored_states[$context_string] as $view => $state) { if ( $state['time'] > $max_time ) { $max_time = $state['time']; $latest_view = $view; } } $this->request['state'] = $latest_view; if ( !empty($stored_states[$context_string][$latest_view]['state']) ) { $this->request = array_merge($this->request,$stored_states[$context_string][$latest_view]['state'] ); } $new_link = carl_make_redirect($this->request); header('Location: '.$new_link); echo '<p>Attempted to redirect to <a href=' . htmlspecialchars($new_link,ENT_QUOTES) . '>here</a>, but seem to have failed.</p>'; die(); } else { $this->request['state'] = 'live'; } }
function where_to_callback(&$form) { if ($form->chosen_action == 'save') { return get_current_url(); } else { $inline_editing =& get_reason_inline_editing($this->page_id); $params = array_merge(array('blurb_id' => ''), $inline_editing->get_deactivation_params($this)); return carl_make_redirect($params); } }
function redirect_to_screen($screen) { $redirect = carl_make_redirect(array('active_screen' => $screen)); header("Location: " . $redirect); exit; }
function where_to(&$disco) { // Simply redirect to the Editor module return carl_make_redirect(array('cur_module' => 'Editor')); }
/** * Determine state and init the appropriate find replace wizard screen */ function init() { $this->request = carl_clean_vars($_REQUEST, $this->cleanup_rules); if (isset($this->request['clear_exclude'])) { $this->clear_excluded(); $redirect = carl_make_redirect(array('clear_exclude' => '')); header("Location:" . $redirect); exit; } }
function get_redirect_url() { if (!isset($this->_redirect_url)) { $form_id = ($this->get_form_id()) ? $this->get_form_id() : ''; $this->_redirect_url = carl_make_redirect(array('submission_key' => $this->create_form_submission_key(), 'form_id' => $form_id)); } return $this->_redirect_url; }
function where_to_editable(&$disco) { if( $disco->get_chosen_action() == 'save' ) { $url = get_current_url(); } else { $inline_edit =& get_reason_inline_editing($this->page_id); $url = carl_make_redirect($inline_edit->get_deactivation_params($this)); } return $url; }
public function get_thank_you_url($disco) { $parts = array('thanks' => 1); return carl_make_redirect($parts); }
function where_to() { $link = carl_make_redirect(array('table_row_action'=>'', 'table_action_id'=>'')); return $link; }
function get_redirect_url() { $form_id = ($this->is_editable() && $this->get_user_netid()) ? $this->get_form_id() : ''; $redirect = carl_make_redirect(array('submission_key' => $this->create_form_submission_key(), 'form_id' => $form_id)); return $redirect; }
function do_filters_rels() { $filter_entities = $this->get_filter_entities(); foreach($this->filters as $key => $values) { if(!isset($filter_entities[$values['type']][$values['id']])) { header('HTTP/1.0 404 Not Found'); unset($this->filters[$key]); } } if($this->filters) { if (count($this->filters) > $this->params['max_filters']) { $redirect_link = carl_make_redirect(array('filters' => '')); header('Location: ' . $redirect_link); exit; } foreach($this->filters as $key=>$filter) { if (!empty($filter['type']) && !empty($filter['id'])) { settype($filter['id'], 'integer'); // force an integer to thwart SQL insertion through query string $r_id = 0; if(empty($this->filter_types[$filter['type']]['relationship'])) { trigger_error($filter['type'].' does not have a relationship name specified'); unset($this->filters[$key]); header('HTTP/1.0 404 Not Found'); } else { $r_id = relationship_id_of($this->filter_types[$filter['type']]['relationship']); } if($r_id) { $this->_add_filter_rel_to_es($filter['id'],$r_id,$this->es); } else { trigger_error($filter['type'].' is not a valid allowable relationship'); unset($this->filters[$key]); header('HTTP/1.0 404 Not Found'); } } else { // filter request is malformed - googlebot may have lots of these - we will send a redirect with no filters unset($this->filters[$key]); header('HTTP/1.0 404 Not Found'); exit; } } } }
/** * Deprecated -- use carl_make_redirect() * @deprecated */ function make_redirect($new_request_vars, $base_path) { $call_info = array_shift(debug_backtrace()); $code_line = $call_info['line']; $file = array_pop(explode('/', $call_info['file'])); trigger_error('make_redirect called by ' . $file . ' on line ' . $code_line . ' - use carl_make_redirect instead', WARNING); return carl_make_redirect($new_request_vars, $base_path); }
function where_to_editable(&$disco) { $inline_edit =& get_reason_inline_editing($this->page_id); $url = carl_make_redirect($inline_edit->get_deactivation_params($this)); return $url; }
function where_to_default() { return carl_make_redirect(array('table_row_action' => '', 'table_action_id' => '')); }