function fortyfourwp_init() { if (is_404() && !current_user_can('manage_options')) { global $wpdb; global $fortyfourwp; $data = array(); $data['referer'] = wp_get_referer(); $data['path'] = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); $data['ip'] = $_SERVER["REMOTE_ADDR"]; //get redirect if available $a = fortyfourwp_get_data(array('fields' => array('redirect_url', 'redirect_type'), 'where' => 'url', 'keyword' => $data['path'], 'orderby' => 'access_date', 'order' => 'desc', 'items' => 1, 'select_type' => 'search')); //save data $data['id'] = fortyfourwp_insert_data(array('id' => '', 'url' => $data['path'], 'referrer' => $data['referer'], 'ip' => $data['ip'], 'user_agent' => isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '')); $fortyfourwp = json_encode($data); //redirect if (isset($a[0]->redirect_url) && !empty($a[0]->redirect_url)) { fortyfourwp_update_data($data['id'], $data = array('redirect_url' => $a[0]->redirect_url, 'redirect_type' => $a[0]->redirect_type)); wp_redirect($a[0]->redirect_url, $a[0]->redirect_type); exit; // header('Location:'. $a[0]->redirect_url); } } }
function fortyfourwp_saveredirect() { if ($_REQUEST['action'] == "fortyfourwp_saveredirect" && isset($_REQUEST['id']) && isset($_REQUEST['redirect'])) { $redirect = !empty($_REQUEST['redirect']) ? fortyfourwp_addhttp(sanitize_text_field($_REQUEST['redirect'])) : ''; echo fortyfourwp_update_data(sanitize_text_field($_REQUEST['id']), $data = array("redirect_url" => $redirect, "redirect_type" => sanitize_text_field($_REQUEST['type'])), array('type' => 'redirect_url', 'url' => sanitize_text_field($_REQUEST['url']))); } die; }