Ejemplo n.º 1
0
 function aioseop_output_dismissable_notice($message, $id = "", $class = "updated fade")
 {
     global $current_user;
     if (!empty($current_user)) {
         $user_id = $current_user->ID;
         $msgid = md5($message);
         $ignore = get_user_meta($user_id, 'aioseop_ignore_notice');
         if (!empty($ignore) && in_array($msgid, $ignore)) {
             return false;
         }
         global $wp;
         $qa = array();
         wp_parse_str($_SERVER["QUERY_STRING"], $qa);
         $qa['aioseop_ignore_notice'] = $msgid;
         $url = '?' . build_query($qa);
         $message = '<p class=alignleft>' . $message . '</p><p class="alignright"><a class="aioseop_dismiss_link" href="' . $url . '">Dismiss</a></p>';
     }
     return aioseop_output_notice($message, $id, $class);
 }
 function generate_htaccess_blocklist()
 {
     if (!$this->option_isset('htaccess_rules')) {
         if (insert_with_markers(get_home_path() . '.htaccess', $this->name, '')) {
             aioseop_output_notice(__('Updated .htaccess rules.', 'all-in-one-seo-pack'));
         } else {
             aioseop_output_notice(__('Failed to update .htaccess rules!', 'all-in-one-seo-pack'), '', 'error');
         }
         return;
     }
     if (function_exists('apache_get_modules')) {
         $modules = apache_get_modules();
         foreach (array('mod_authz_host', 'mod_setenvif') as $m) {
             if (!in_array($m, $modules)) {
                 aioseop_output_notice(sprintf(__('Apache module %s is required!', 'all-in-one-seo-pack'), $m), '', 'error');
             }
         }
     }
     $botlist = $this->default_bad_bots();
     $botlist = apply_filters($this->prefix . 'badbotlist', $botlist);
     if (!empty($botlist)) {
         $regex = $this->quote_list_for_regex($botlist, '"');
         $htaccess = array();
         $htaccess[] = 'SetEnvIfNoCase User-Agent "' . $regex . '" bad_bot';
         if ($this->option_isset('edit_blocks') && $this->option_isset('block_refer') && $this->option_isset('referlist')) {
             $referlist = $this->default_bad_referers();
             $referlist = apply_filters($this->prefix . 'badreferlist', $botlist);
             if (!empty($referlist)) {
                 $regex = $this->quote_list_for_regex($referlist, '"');
                 $htaccess[] = 'SetEnvIfNoCase Referer "' . $regex . '" bad_bot';
             }
         }
         $htaccess[] = 'Deny from env=bad_bot';
         if (insert_with_markers(get_home_path() . '.htaccess', $this->name, $htaccess)) {
             aioseop_output_notice(__('Updated .htaccess rules.', 'all-in-one-seo-pack'));
         } else {
             aioseop_output_notice(__('Failed to update .htaccess rules!', 'all-in-one-seo-pack'), '', 'error');
         }
     } else {
         aioseop_output_notice(__('No rules to update!', 'all-in-one-seo-pack'), '', 'error');
     }
 }