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 save() { self::__checkPermission('redirector_edit'); $data = $_POST['redirect']; if ( empty($data['url']) ) { Flash::set( 'error', __('You must specify a url!') ); redirect( get_url('plugin/redirector/') ); } if ( empty($data['dest']) ) { Flash::set( 'error', __('You must specify a destination url!') ); redirect( get_url('plugin/redirector/') ); } if ( ! $redirect = RedirectorRedirects::findByURL($data['url']) ) { $redirect = new RedirectorRedirects; $redirect->created = date('Y-m-d H:i:s'); } $redirect->url = $data['url']; $redirect->dest = $data['dest']; $redirect->updated = date('Y-m-d H:i:s'); if ( ! $redirect->save() ) Flash::set('error', __('There was a problem adding your redirect.')); if ( $error = Redirector404s::findByURL($data['url']) ) $error->delete(); Flash::set('success', __('Redirect has been added!')); redirect(get_url('plugin/redirector/')); }