Example #1
0
 function save()
 {
     $data = $_POST['redirect'];
     if (empty($data['url'])) {
         Flash::set('error', __('You have to specify a url!'));
         redirect(get_url('plugin/redirector/'));
     }
     if (empty($data['destination'])) {
         Flash::set('error', __('You have to specify a destination url!'));
         redirect(get_url('plugin/redirector/'));
     }
     if ($existing_redirect = Record::findOneFrom('RedirectorRedirects', 'url = \'' . ($data['url'] . '\''))) {
         Record::update('RedirectorRedirects', array('url' => $data['url'], 'destination' => $data['destination']), 'url = \'' . ($data['url'] . '\''));
     } else {
         $entry = new RedirectorRedirects($data);
         if (!$entry->save()) {
             Flash::set('error', __('There was a problem adding your redirect.'));
         } else {
             if ($error = Record::findOneFrom('Redirector404s', 'url = \'' . ($data['url'] . '\''))) {
                 $error->delete();
             }
             Flash::set('success', __('Redirect has been added!'));
         }
     }
     redirect(get_url('plugin/redirector/'));
 }
Example #2
0
function redirector_catch_redirect(&$args) {

	if ( $redirect = RedirectorRedirects::findByURL($_SERVER['REQUEST_URI']) ) {
	
		$redirect->hits++;
		$redirect->updated = date('Y-m-d H:i:s');
		$redirect->save();

		header ('HTTP/1.1 301 Moved Permanently', true);
		header ("Location: {$redirect->dest}");
		exit();
	}

	return $args;

}
	function remove($type,$id) {

		self::__checkPermission('redirector_delete');
		
		switch ($type) {
			
			case 'redirect':
				$record = RedirectorRedirects::findById($id);
				break;
			
			case '404':
				$record = Redirector404s::findById($id);
				break;
			
			default:
				$record = false;
				break;
		
		}

		if ( $record === false ) {
			
			Flash::set( 'error', __('Could not find :type record!', array( ':type' => $type ) ) );
			
			redirect( get_url('plugin/redirector/') );
		
		}
		
		if ( ! $record->delete() ) {
			
			Flash::set( 'error', __('Could not delete :type record!', array( ':type' => $type ) ) );
			
			redirect( get_url('plugin/redirector/') );
		
		}
		
		Flash::set( 'success', __('Redirect has been deleted!') );

		redirect( get_url('plugin/redirector/') );

	}