. */ class All_in_One_SEO_Pack { var $version = "1.4.5.4.1"; /** Max numbers of chars in auto-generated description */ var $maximum_description_length = 160; /** Minimum number of chars an excerpt should be so that it can be used * as description. Touch only if you know what you're doing */ var $minimum_description_length = 1; var $ob_start_detected = false; var $title_start = -1; var $title_end = -1; /** The title before rewriting */ var $orig_title = ''; /** Temp filename for the latest version. */ var $upgrade_filename = 'temp.zip'; /** Where to extract the downloaded newest version. */ var $upgrade_folder; /** Any error in upgrading. */ var $upgrade_error; /** Which zip to download in order to upgrade .*/ var $upgrade_url = 'http://downloads.wordpress.org/plugin/all-in-one-seo-pack.zip'; /** Filename of log file. */ var $log_file; /** Flag whether there should be logging. */ var $do_log; function All_in_One_SEO_Pack() { $this->log_file = dirname(__FILE__) . '/all_in_one_seo_pack.log'; if (get_option('aiosp_do_log')) { $this->do_log = true; } else { $this->do_log = false; } $this->upgrade_filename = dirname(__FILE__) . '/' . $this->upgrade_filename; $this->upgrade_folder = dirname(__FILE__); } function template_redirect() { global $wp_query; $post = $wp_query->get_queried_object(); if (is_feed()) { return; } if (is_single() || is_page()) { $aiosp_disable = htmlspecialchars(stripcslashes(get_post_meta($post->ID, 'aiosp_disable', true))); if ($aiosp_disable) { return; } } if (get_option('aiosp_rewrite_titles')) { ob_start(array($this, 'output_callback_for_title')); } } function output_callback_for_title($content) { return $this->rewrite_title($content); } function init() { if (function_exists('load_plugin_textdomain')) { load_plugin_textdomain('all_in_one_seo_pack', 'wp-content/plugins/all-in-one-seo-pack'); } } function is_static_front_page() { global $wp_query; $post = $wp_query->get_queried_object(); return get_option('show_on_front') == 'page' && is_page() && $post->ID == get_option('page_on_front'); } function is_static_posts_page() { global $wp_query; $post = $wp_query->get_queried_object(); return get_option('show_on_front') == 'page' && is_home() && $post->ID == get_option('page_for_posts'); } function get_base() { return '/'.end(explode('/', str_replace(array('\\','/all_in_one_seo_pack.php'),array('/',''),__FILE__))); } function admin_head() { $home = get_settings('siteurl'); $stylesheet = $home.'/wp-content/plugins' . $this->get_base() . '/css/all_in_one_seo_pack.css'; echo(''); } function wp_head() { if (is_feed()) { return; } global $wp_query; $post = $wp_query->get_queried_object(); $meta_string = null; if (is_single() || is_page()) { $aiosp_disable = htmlspecialchars(stripcslashes(get_post_meta($post->ID, 'aiosp_disable', true))); if ($aiosp_disable) { return; } } if (get_option('aiosp_rewrite_titles')) { // make the title rewrite as short as possible if (function_exists('ob_list_handlers')) { $active_handlers = ob_list_handlers(); } else { $active_handlers = array(); } if (sizeof($active_handlers) > 0 && strtolower($active_handlers[sizeof($active_handlers) - 1]) == strtolower('All_in_One_SEO_Pack::output_callback_for_title')) { ob_end_flush(); } else { $this->log("another plugin interfering?"); // if we get here there *could* be trouble with another plugin :( $this->ob_start_detected = true; foreach (ob_list_handlers() as $handler) { $this->log("detected output handler $handler"); } } } echo "\n"; if ((is_home() && !$this->is_static_posts_page() && get_option('aiosp_home_keywords')) || $this->is_static_front_page()) { $keywords = trim($this->internationalize(get_option('aiosp_home_keywords'))); } else { $keywords = $this->get_all_keywords(); } if (is_single() || is_page()) { if ($this->is_static_front_page()) { $description = trim(stripcslashes($this->internationalize(get_option('aiosp_home_description')))); } else { $description = $this->get_post_description($post); } } else if (is_home()) { if ($this->is_static_posts_page()) { $description = $this->get_post_description(get_post(get_option('page_for_posts'))); } else { $description = trim(stripcslashes($this->internationalize(get_option('aiosp_home_description')))); } } else if (is_category()) { $description = $this->internationalize(category_description()); } if (isset($description) && (strlen($description) > $this->minimum_description_length) && !(is_home() && is_paged())) { $description = trim(strip_tags($description)); $description = str_replace('"', '', $description); // replace newlines on mac / windows? $description = str_replace("\r\n", ' ', $description); // maybe linux uses this alone $description = str_replace("\n", ' ', $description); if (isset($meta_string)) { $meta_string .= "\n"; } else { $meta_string = ''; } // description format $description_format = get_option('aiosp_description_format'); if (!isset($description_format) || empty($description_format)) { $description_format = "%description%"; } $description = str_replace('%description%', $description, $description_format); $description = str_replace('%blog_title%', get_bloginfo('name'), $description); $description = str_replace('%blog_description%', get_bloginfo('description'), $description); $description = str_replace('%wp_title%', $this->get_original_title(), $description); $meta_string .= sprintf("\n", $description); } if (isset ($keywords) && !empty($keywords) && !(is_home() && is_paged())) { if (isset($meta_string)) { $meta_string .= "\n"; } $meta_string .= sprintf("", $keywords); } if (function_exists('is_tag')) { $is_tag = is_tag(); } if ((is_category() && get_option('aiosp_category_noindex')) || (!is_category() && is_archive() &&!$is_tag && get_option('aiosp_archive_noindex')) || (get_option('aiosp_tags_noindex') && $is_tag)) { if (isset($meta_string)) { $meta_string .= "\n"; } $meta_string .= ''; } $page_meta = stripcslashes(get_option('aiosp_page_meta_tags')); $post_meta = stripcslashes(get_option('aiosp_post_meta_tags')); if (is_page() && isset($page_meta) && !empty($page_meta)) { if (isset($meta_string)) { $meta_string .= "\n"; } echo "\n$page_meta"; } if (is_single() && isset($post_meta) && !empty($post_meta)) { if (isset($meta_string)) { $meta_string .= "\n"; } $meta_string .= "$post_meta"; } if ($meta_string != null) { echo "$meta_string\n"; } echo "\n"; } function get_post_description($post) { $description = trim(stripcslashes($this->internationalize(get_post_meta($post->ID, "description", true)))); if (!$description) { $description = $this->trim_excerpt_without_filters_full_length($this->internationalize($post->post_excerpt)); if (!$description && get_option("aiosp_generate_descriptions")) { $description = $this->trim_excerpt_without_filters($this->internationalize($post->post_content)); } } // "internal whitespace trim" $description = preg_replace("/\s+/", " ", $description); return $description; } function replace_title($content, $title) { $title = trim(strip_tags($title)); $title_tag_start = ""; $title_tag_end = ""; $len_start = strlen($title_tag_start); $len_end = strlen($title_tag_end); $title = stripcslashes(trim($title)); $start = strpos($content, $title_tag_start); $end = strpos($content, $title_tag_end); $this->title_start = $start; $this->title_end = $end; $this->orig_title = $title; if ($start && $end) { $header = substr($content, 0, $start + $len_start) . $title . substr($content, $end); } else { // this breaks some sitemap plugins (like wpg2) //$header = $content . "$title"; $header = $content; } return $header; } function internationalize($in) { if (function_exists('langswitch_filter_langs_with_message')) { $in = langswitch_filter_langs_with_message($in); } if (function_exists('polyglot_filter')) { $in = polyglot_filter($in); } return $in; } /** @return The original title as delivered by WP (well, in most cases) */ function get_original_title() { global $wp_query; if (!$wp_query) { return null; } $post = $wp_query->get_queried_object(); // the_search_query() is not suitable, it cannot just return global $s; $title = null; if (is_home()) { $title = get_option('blogname'); } else if (is_single()) { $title = $this->internationalize(wp_title('', false)); } else if (is_search() && isset($s) && !empty($s)) { if (function_exists('attribute_escape')) { $search = attribute_escape(stripcslashes($s)); } else { $search = wp_specialchars(stripcslashes($s), true); } $search = $this->capitalize($search); $title = $search; } else if (is_category() && !is_feed()) { $category_description = $this->internationalize(category_description()); $category_name = ucwords($this->internationalize(single_cat_title('', false))); $title = $category_name; } else if (is_page()) { $title = $this->internationalize(wp_title('', false)); } else if (function_exists('is_tag') && is_tag()) { global $utw; if ($utw) { $tags = $utw->GetCurrentTagSet(); $tag = $tags[0]->tag; $tag = str_replace('-', ' ', $tag); } else { // wordpress > 2.3 $tag = $this->internationalize(wp_title('', false)); } if ($tag) { $title = $tag; } } else if (is_archive()) { $title = $this->internationalize(wp_title('', false)); } else if (is_404()) { $title_format = get_option('aiosp_404_title_format'); $new_title = str_replace('%blog_title%', $this->internationalize(get_bloginfo('name')), $title_format); $new_title = str_replace('%blog_description%', $this->internationalize(get_bloginfo('description')), $new_title); $new_title = str_replace('%request_url%', $_SERVER['REQUEST_URI'], $new_title); $new_title = str_replace('%request_words%', $this->request_as_words($_SERVER['REQUEST_URI']), $new_title); $title = $new_title; } return trim($title); } function paged_title($title) { // the page number if paged global $paged; if (is_paged()) { $part = $this->internationalize(get_option('aiosp_paged_format')); if (isset($part) || !empty($part)) { $part = " " . trim($part); $part = str_replace('%page%', $paged, $part); $this->log("paged_title() [$title] [$part]"); $title .= $part; } } return $title; } function rewrite_title($header) { global $wp_query; if (!$wp_query) { $header .= "\n"; return $header; } $post = $wp_query->get_queried_object(); // the_search_query() is not suitable, it cannot just return global $s; // simple tagging support global $STagging; if (is_home()) { if ($this->is_static_posts_page()) { $title = $this->internationalize(get_post_meta(get_option('page_for_posts'), "title", true)); if (!$title) { $title = $this->internationalize(wp_title('', false)); } $title_format = get_option('aiosp_page_title_format'); $new_title = str_replace('%blog_title%', $this->internationalize(get_bloginfo('name')), $title_format); $new_title = str_replace('%page_title%', $title, $new_title); $new_title = str_replace('%blog_description%', $this->internationalize(get_bloginfo('description')), $new_title); $title = trim($new_title); $header = $this->replace_title($header, $title); } else { $title = $this->internationalize(get_option('aiosp_home_title')); if (empty($title)) { $title = $this->internationalize(get_option('blogname')); } $title = $this->paged_title($title); $header = $this->replace_title($header, $title); } } else if (is_single()) { $categories = get_the_category(); $category = ''; if (count($categories) > 0) { $category = $categories[0]->cat_name; } $title = $this->internationalize(get_post_meta($post->ID, "title", true)); if (!$title) { $title = $this->internationalize(get_post_meta($post->ID, "title_tag", true)); if (!$title) { $title = $this->internationalize(wp_title('', false)); } } $title_format = get_option('aiosp_post_title_format'); $new_title = str_replace('%blog_title%', $this->internationalize(get_bloginfo('name')), $title_format); $new_title = str_replace('%blog_description%', $this->internationalize(get_bloginfo('description')), $new_title); $new_title = str_replace('%post_title%', $title, $new_title); $new_title = str_replace('%category%', $category, $new_title); $new_title = str_replace('%category_title%', $category, $new_title); $title = $new_title; $title = trim($title); $header = $this->replace_title($header, $title); } else if (is_search() && isset($s) && !empty($s)) { if (function_exists('attribute_escape')) { $search = attribute_escape(stripcslashes($s)); } else { $search = wp_specialchars(stripcslashes($s), true); } $search = $this->capitalize($search); $title_format = get_option('aiosp_search_title_format'); $title = str_replace('%blog_title%', $this->internationalize(get_bloginfo('name')), $title_format); $title = str_replace('%blog_description%', $this->internationalize(get_bloginfo('description')), $title); $title = str_replace('%search%', $search, $title); $header = $this->replace_title($header, $title); } else if (is_category() && !is_feed()) { $category_description = $this->internationalize(category_description()); $category_name = ucwords($this->internationalize(single_cat_title('', false))); // special treatment for mables.com global $posts; if (is_array($posts) && sizeof($posts) == 1) { $post = $posts[0]; $title = $this->internationalize(get_post_meta($post->ID, "title", true)); if (!$title) { $title = $this->internationalize(get_post_meta($post->ID, "title_tag", true)); if (!$title) { $title = $this->internationalize(wp_title('', false)); } } $category_name = $title; } // //special treatment for mables.com $title_format = get_option('aiosp_category_title_format'); $title = str_replace('%category_title%', $category_name, $title_format); $title = str_replace('%category_description%', $category_description, $title); $title = str_replace('%blog_title%', $this->internationalize(get_bloginfo('name')), $title); $title = str_replace('%blog_description%', $this->internationalize(get_bloginfo('description')), $title); $title = $this->paged_title($title); $header = $this->replace_title($header, $title); } else if (is_page()) { if ($this->is_static_front_page()) { if ($this->internationalize(get_option('aiosp_home_title'))) { $header = $this->replace_title($header, $this->internationalize(get_option('aiosp_home_title'))); } } else { $title = $this->internationalize(get_post_meta($post->ID, "title", true)); if (!$title) { $title = $this->internationalize(wp_title('', false)); } $title_format = get_option('aiosp_page_title_format'); $new_title = str_replace('%blog_title%', $this->internationalize(get_bloginfo('name')), $title_format); $new_title = str_replace('%blog_description%', $this->internationalize(get_bloginfo('description')), $new_title); $new_title = str_replace('%page_title%', $title, $new_title); $title = trim($new_title); $header = $this->replace_title($header, $title); } } else if (function_exists('is_tag') && is_tag()) { global $utw; if ($utw) { $tags = $utw->GetCurrentTagSet(); $tag = $tags[0]->tag; $tag = str_replace('-', ' ', $tag); } else { // wordpress > 2.3 $tag = $this->internationalize(wp_title('', false)); } if ($tag) { $tag = $this->capitalize($tag); $title_format = get_option('aiosp_tag_title_format'); $title = str_replace('%blog_title%', $this->internationalize(get_bloginfo('name')), $title_format); $title = str_replace('%blog_description%', $this->internationalize(get_bloginfo('description')), $title); $title = str_replace('%tag%', $tag, $title); $title = $this->paged_title($title); $header = $this->replace_title($header, $title); } } else if (isset($STagging) && $STagging->is_tag_view()) { $tag = $STagging->search_tag; if ($tag) { $tag = $this->capitalize($tag); $title_format = get_option('aiosp_tag_title_format'); $title = str_replace('%blog_title%', $this->internationalize(get_bloginfo('name')), $title_format); $title = str_replace('%blog_description%', $this->internationalize(get_bloginfo('description')), $title); $title = str_replace('%tag%', $tag, $title); $title = $this->paged_title($title); $header = $this->replace_title($header, $title); } } else if (is_archive()) { $date = $this->internationalize(wp_title('', false)); $title_format = get_option('aiosp_archive_title_format'); $new_title = str_replace('%blog_title%', $this->internationalize(get_bloginfo('name')), $title_format); $new_title = str_replace('%blog_description%', $this->internationalize(get_bloginfo('description')), $new_title); $new_title = str_replace('%date%', $date, $new_title); $title = trim($new_title); $title = $this->paged_title($title); $header = $this->replace_title($header, $title); } else if (is_404()) { $title_format = get_option('aiosp_404_title_format'); $new_title = str_replace('%blog_title%', $this->internationalize(get_bloginfo('name')), $title_format); $new_title = str_replace('%blog_description%', $this->internationalize(get_bloginfo('description')), $new_title); $new_title = str_replace('%request_url%', $_SERVER['REQUEST_URI'], $new_title); $new_title = str_replace('%request_words%', $this->request_as_words($_SERVER['REQUEST_URI']), $new_title); $header = $this->replace_title($header, $new_title); } return $header; } /** * @return User-readable nice words for a given request. */ function request_as_words($request) { $request = str_replace('.html', ' ', $request); $request = str_replace('.htm', ' ', $request); $request = str_replace('.', ' ', $request); $request = str_replace('/', ' ', $request); $request_a = explode(' ', $request); $request_new = array(); foreach ($request_a as $token) { $request_new[] = ucwords(trim($token)); } $request = implode(' ', $request_new); return $request; } function capitalize($s) { $s = trim($s); $tokens = explode(' ', $s); while (list($key, $val) = each($tokens)) { $tokens[$key] = trim($tokens[$key]); $tokens[$key] = strtoupper(substr($tokens[$key], 0, 1)) . substr($tokens[$key], 1); } $s = implode(' ', $tokens); return $s; } function trim_excerpt_without_filters($text) { $text = str_replace(']]>', ']]>', $text); $text = strip_tags($text); $max = $this->maximum_description_length; if ($max < strlen($text)) { while($text[$max] != ' ' && $max > $this->minimum_description_length) { $max--; } } $text = substr($text, 0, $max); return trim(stripcslashes($text)); } function trim_excerpt_without_filters_full_length($text) { $text = str_replace(']]>', ']]>', $text); $text = strip_tags($text); return trim(stripcslashes($text)); } /** * @return comma-separated list of unique keywords */ function get_all_keywords() { global $posts; if (is_404()) { return null; } $keywords = array(); if (is_array($posts)) { foreach ($posts as $post) { if ($post) { // custom field keywords $keywords_a = $keywords_i = null; $description_a = $description_i = null; $id = $post->ID; $keywords_i = stripcslashes($this->internationalize(get_post_meta($post->ID, "keywords", true))); $keywords_i = str_replace('"', '', $keywords_i); if (isset($keywords_i) && !empty($keywords_i)) { $traverse = explode(',', $keywords_i); foreach ($traverse as $keyword) { $keywords[] = $keyword; } } // WP 2.3 tags if (function_exists('get_the_tags')) { $tags = get_the_tags($post->ID); if ($tags && is_array($tags)) { foreach ($tags as $tag) { $keywords[] = $this->internationalize($tag->name); } } } // Ultimate Tag Warrior integration global $utw; if ($utw) { $tags = $utw->GetTagsForPost($post); if (is_array($tags)) { foreach ($tags as $tag) { $tag = $tag->tag; $tag = str_replace('_',' ', $tag); $tag = str_replace('-',' ',$tag); $tag = stripcslashes($tag); $keywords[] = $tag; } } } // autometa $autometa = stripcslashes(get_post_meta($post->ID, "autometa", true)); if (isset($autometa) && !empty($autometa)) { $autometa_array = explode(' ', $autometa); foreach ($autometa_array as $e) { $keywords[] = $e; } } if (get_option('aiosp_use_categories') && !is_page()) { $categories = get_the_category($post->ID); foreach ($categories as $category) { $keywords[] = $this->internationalize($category->cat_name); } } } } } return $this->get_unique_keywords($keywords); } function get_meta_keywords() { global $posts; $keywords = array(); if (is_array($posts)) { foreach ($posts as $post) { if ($post) { // custom field keywords $keywords_a = $keywords_i = null; $description_a = $description_i = null; $id = $post->ID; $keywords_i = stripcslashes(get_post_meta($post->ID, "keywords", true)); $keywords_i = str_replace('"', '', $keywords_i); if (isset($keywords_i) && !empty($keywords_i)) { $keywords[] = $keywords_i; } } } } return $this->get_unique_keywords($keywords); } function get_unique_keywords($keywords) { $small_keywords = array(); foreach ($keywords as $word) { $small_keywords[] = strtolower($word); } $keywords_ar = array_unique($small_keywords); return implode(',', $keywords_ar); } function get_url($url) { if (function_exists('file_get_contents')) { $file = file_get_contents($url); } else { $curl = curl_init($url); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $file = curl_exec($curl); curl_close($curl); } return $file; } function log($message) { if ($this->do_log) { error_log(date('Y-m-d H:i:s') . " " . $message . "\n", 3, $this->log_file); } } function download_newest_version() { $success = true; $file_content = $this->get_url($this->upgrade_url); if ($file_content === false) { $this->upgrade_error = sprintf(__("Could not download distribution (%s)"), $this->upgrade_url); $success = false; } else if (strlen($file_content) < 100) { $this->upgrade_error = sprintf(__("Could not download distribution (%s): %s"), $this->upgrade_url, $file_content); $success = false; } else { $this->log(sprintf("filesize of download ZIP: %d", strlen($file_content))); $fh = @fopen($this->upgrade_filename, 'w'); $this->log("fh is $fh"); if (!$fh) { $this->upgrade_error = sprintf(__("Could not open %s for writing"), $this->upgrade_filename); $this->upgrade_error .= "
"; $this->upgrade_error .= sprintf(__("Please make sure %s is writable"), $this->upgrade_folder); $success = false; } else { $bytes_written = @fwrite($fh, $file_content); $this->log("wrote $bytes_written bytes"); if (!$bytes_written) { $this->upgrade_error = sprintf(__("Could not write to %s"), $this->upgrade_filename); $success = false; } } if ($success) { fclose($fh); } } return $success; } function install_newest_version() { $success = $this->download_newest_version(); if ($success) { $success = $this->extract_plugin(); unlink($this->upgrade_filename); } return $success; } function extract_plugin() { if (!class_exists('PclZip')) { require_once ('pclzip.lib.php'); } $archive = new PclZip($this->upgrade_filename); $files = $archive->extract(PCLZIP_OPT_STOP_ON_ERROR, PCLZIP_OPT_REPLACE_NEWER, PCLZIP_OPT_REMOVE_ALL_PATH, PCLZIP_OPT_PATH, $this->upgrade_folder); $this->log("files is $files"); if (is_array($files)) { $num_extracted = sizeof($files); $this->log("extracted $num_extracted files to $this->upgrade_folder"); $this->log(print_r($files, true)); return true; } else { $this->upgrade_error = $archive->errorInfo(); return false; } } /** crude approximization of whether current user is an admin */ function is_admin() { return current_user_can('level_8'); } function is_directory_writable($directory) { $filename = $directory . '/' . 'tmp_file_' . time(); $fh = @fopen($filename, 'w'); if (!$fh) { return false; } $written = fwrite($fh, "test"); fclose($fh); unlink($filename); if ($written) { return true; } else { return false; } } function is_upgrade_directory_writable() { //return $this->is_directory_writable($this->upgrade_folder); // let's assume it is return true; } function post_meta_tags($id) { $awmp_edit = $_POST["aiosp_edit"]; if (isset($awmp_edit) && !empty($awmp_edit)) { $keywords = $_POST["aiosp_keywords"]; $description = $_POST["aiosp_description"]; $title = $_POST["aiosp_title"]; $aiosp_meta = $_POST["aiosp_meta"]; $aiosp_disable = $_POST["aiosp_disable"]; delete_post_meta($id, 'keywords'); delete_post_meta($id, 'description'); delete_post_meta($id, 'title'); if ($this->is_admin()) { delete_post_meta($id, 'aiosp_disable'); } //delete_post_meta($id, 'aiosp_meta'); if (isset($keywords) && !empty($keywords)) { add_post_meta($id, 'keywords', $keywords); } if (isset($description) && !empty($description)) { add_post_meta($id, 'description', $description); } if (isset($title) && !empty($title)) { add_post_meta($id, 'title', $title); } if (isset($aiosp_disable) && !empty($aiosp_disable) && $this->is_admin()) { add_post_meta($id, 'aiosp_disable', $aiosp_disable); } /* if (isset($aiosp_meta) && !empty($aiosp_meta)) { add_post_meta($id, 'aiosp_meta', $aiosp_meta); } */ } } function edit_category($id) { global $wpdb; $id = $wpdb->escape($id); $awmp_edit = $_POST["aiosp_edit"]; if (isset($awmp_edit) && !empty($awmp_edit)) { $keywords = $wpdb->escape($_POST["aiosp_keywords"]); $title = $wpdb->escape($_POST["aiosp_title"]); $old_category = $wpdb->get_row("select * from $this->table_categories where category_id=$id", OBJECT); if ($old_category) { $wpdb->query("update $this->table_categories set meta_title='$title', meta_keywords='$keywords' where category_id=$id"); } else { $wpdb->query("insert into $this->table_categories(meta_title, meta_keywords, category_id) values ('$title', '$keywords', $id"); } //$wpdb->query("insert into $this->table_categories") /* delete_post_meta($id, 'keywords'); delete_post_meta($id, 'description'); delete_post_meta($id, 'title'); if (isset($keywords) && !empty($keywords)) { add_post_meta($id, 'keywords', $keywords); } if (isset($description) && !empty($description)) { add_post_meta($id, 'description', $description); } if (isset($title) && !empty($title)) { add_post_meta($id, 'title', $title); } */ } } /** * @deprecated This was for the feature of dedicated meta tags for categories which never went mainstream. */ function edit_category_form() { global $post; $keywords = stripcslashes(get_post_meta($post->ID, 'keywords', true)); $title = stripcslashes(get_post_meta($post->ID, 'title', true)); $description = stripcslashes(get_post_meta($post->ID, 'description', true)); ?>
ID; } $keywords = htmlspecialchars(stripcslashes(get_post_meta($post_id, 'keywords', true))); $title = htmlspecialchars(stripcslashes(get_post_meta($post_id, 'title', true))); $description = htmlspecialchars(stripcslashes(get_post_meta($post_id, 'description', true))); $aiosp_meta = htmlspecialchars(stripcslashes(get_post_meta($post_id, 'aiosp_meta', true))); $aiosp_disable = htmlspecialchars(stripcslashes(get_post_meta($post_id, 'aiosp_disable', true))); ?>

is_admin()) { ?>

/>
install_newest_version(); if (!$success) { $message = __("Upgrade failed", 'all_in_one_seo_pack'); if (isset($this->upgrade_error) && !empty($this->upgrade_error)) { $message .= ": " . $this->upgrade_error; } else { $message .= "."; } } } ?>

version ", 'all_in_one_seo_pack') ?>   | | |

is_upgrade_directory_writable(); //$canwrite = false; ?>

name="aiosp_upgrade" value=" »" />

"); echo(sprintf(__("Please make sure that %s is writable.", 'all_in_one_seo_pack'), $this->upgrade_folder)); echo("

"); } ?>

/>
/>
/>
/>
/>
/>
/>