Example #1
0
 function run()
 {
     if (isset($_REQUEST['kill_cache'])) {
         $this->clear_page_cache();
         $redirect = carl_make_redirect(array('kill_cache' => ''));
         header("Location: " . $redirect);
         exit;
     }
     parent::run();
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 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());
 }
Example #6
0
 /**
  * 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);
         }
     }
 }
Example #7
0
 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'));
     }
 }
Example #8
0
 /**
  * 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;
     }
 }
Example #9
0
 /**
  * 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;
 }
Example #10
0
		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;
		}		
Example #11
0
 	/**
 	 * 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>';

	}
Example #12
0
 /**
  * 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;
     }
 }
Example #13
0
	/**
	 * 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();
	}
Example #14
0
$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();
Example #15
0
 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' => ''));
 }
Example #17
0
			/**
			 * 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';
				}
				
			}
Example #18
0
 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;
     }
 }
Example #22
0
	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;
	}
Example #23
0
		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);
 }
Example #25
0
	function where_to()
	{
		$link = carl_make_redirect(array('table_row_action'=>'', 'table_action_id'=>''));
		return $link;
	}
Example #26
0
	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;
	}
Example #27
0
		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;
					}
				}
			}
		}
Example #28
0
/**
 * 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);
}
Example #29
0
 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;
 }
Example #30
0
 function where_to_default()
 {
     return carl_make_redirect(array('table_row_action' => '', 'table_action_id' => ''));
 }