Wordpress Themes - WP Forum at BFA
Click here to register or to donate.
Auto self-registration is not available here - far too many spammers. This forum has many, many backlinks and because of that there is an intense desire among spammers to drop their links here.

Wordpress Themes - WP Forum at BFA » WordPress Themes » Atahualpa 3 Wordpress theme »

Catchable, no commas, missing/corrupt post info - Please check this file


  #1  
Old Dec 14, 2008, 01:56 PM
Flynn's Avatar
Flynn
 
3,768 posts · Oct 2008
Munich, Germany
UPDATE: Skip this post and see the post after mine by TarheelRambler. I can finally replicate all the errors some of you were seeing, meaning that fixing it will be much easier now.

If you have any of these errors:
  • "Catchable fatal error: Object of class stdClass could not be converted to string" (happens on PHP 5.2)
  • No comments link in the post info
  • BACKSLASHES \\\\\\\\\\\\\\\ being inserted in post info
  • No commas between tags or categories in the post info
  • Dates that start with a number eating up the rest of the post info
  • Basically anything related to "post info", which is configured at the menu tab "Post/Page Menu Items"
Could you copy and save this file as "bfa_postinfo.php" and upload it as /atahualpa3/functions/bfa_postinfo.php and then see if any of these errors go away?

(The problem is none of these errors, except the date error, occurs on my test blogs)

If the "Catchable fatal error" proves to be consistent I might remove the option "Print 1st Category unlinked" for now and move on. That would fix the error, sort of. That option would be gone but "Print 1st Category linked" would still work.


PHP Code:
<?php
function image_files($matches) {
return 
'<img src="' get_bloginfo('template_directory') . '/images/icons/' $matches[1] . '" alt="" />';
}

function 
postinfo($postinfo_string) {

# get all the data for the current post
//$post_id = $wp_query->get_queried_object_id();
$post_id $post->ID;
$post_data get_post($post_idARRAY_A);
$post_title $post_data['post_title'];
$post_author_id $post_data['post_author'];
$post_comment_count $post_data['comment_count'];
$post_comment_status $post_data['comment_status'];
// This may not work for imported posts:
// $post_permalink = $post_data['guid'];
$post_permalink get_permalink($post_id);
$post_date $post_data['post_date'];
#$post_date = date("Y m d",strtotime($post->post_date))

if (strpos($postinfo_string,'%tags')!==false) {
######## TAGS ########
$tag_options preg_match("/(.*)%tags\('(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*)/i",$postinfo_string,$tag_matches);
$tag_link_options preg_match("/(.*)%tags-linked\('(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*)/i",$postinfo_string,$tag_link_matches);
// tags-linked
if (get_the_tag_list()) {$tags_linked get_the_tag_list($tag_link_matches[2], $tag_link_matches[4], $tag_link_matches[6]);} 
else { 
$tags_linked ""; }
// tags
$posttags get_the_tags();
if (
$posttags) { foreach($posttags as $tag) {
$tag_list .= $tag->name $tag_matches[4]; 
}
// remove last separator
$tag_list preg_replace("/".$tag_matches[4]."$/mi"""$tag_list);
$tags $tag_matches[2] . $tag_list $tag_matches[6];
} else { 
$tags ""; }
}

if (
strpos($postinfo_string,'%author')!==false) {
######### AUTHOR ########
$author_name get_author_name($post_author_id);
$author_url get_author_posts_url($post_author_id$author_name);
// author-linked
$author_linked '<a href="' $author_url '">' $author_name '</a>';
// author 
$author $author_name;
}

if (
strpos($postinfo_string,'%date(')!==false) {
######## DATE ########
$date_param preg_match("/(.*)\%date\('(.*?)'\)(.*)/i",$postinfo_string,$date_matches);
# This works, but not with localization:
#$date = date("$date_matches[2]",strtotime($post_date));
#$date = mysql2date($date_matches[2], date('Y-m-d H:i:s',strtotime($post_date)));
#$date = mysql2date($date_matches[2], $post_date);
$date mysql2date($date_matches[2], get_the_time('Y-m-d H:i:s'));
}

if (
strpos($postinfo_string,'%category')!==false) {
######## CATEGORY ########
// category
$all_categories get_the_category(); 
$category $all_categories[0]->cat_name;
$category_notlinked $category;  
// category-linked
$category_linked '<a href="' get_category_link($all_categories[0]->cat_ID) . '">' $category '</a>';
}

if (
strpos($postinfo_string,'%categories')!==false) {
######## CATEGORIES ########
$category_separator preg_match("/(.*)%categories\('(.*?)'\)(.*)/i",$postinfo_string,$category_matches);
$category_linked_separator preg_match("/(.*)%categories-linked\('(.*?)'\)(.*)/i",$postinfo_string,$category_linked_matches);
$categories "";
$categories_linked "";
foreach((
get_the_category()) as $category) { 
// categories
$categories .= $category->cat_name $category_matches[2]; 
// categories-linked
$categories_linked .= '<a href="' get_category_link($category->cat_ID) . '">' $category->cat_name '</a>' $category_linked_matches[2];

// remove last separator
$categories preg_replace("/".$category_matches[2]."$/mi"""$categories);
$categories_linked preg_replace("/".$category_linked_matches[2]."$/mi"""$categories_linked);
}

if (
strpos($postinfo_string,'%comments(')!==false) {
######## COMMENTS ########
$comment_options preg_match("/(.*)%comments\('(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*)/i",$postinfo_string,$comment_matches);

if (
$post_comment_count == 0) { $comment_link_anchor $comment_matches[2]; } 
elseif (
$post_comment_count == 1) { $comment_link_anchor $comment_matches[4]; } 
elseif (
$post_comment_count 1) { $comment_link_anchor str_replace("%"$post_comment_count$comment_matches[6]); } 
elseif (
$post_comment_status == "closed") { $comment_link_anchor $comment_matches[8]; }

if (
$post_comment_status == "closed") { $comment_link $comment_matches[8]; } 
else { 
$comment_link '<a href="' get_permalink() . '#comments">' $comment_link_anchor '</a>'; }
}

if (
strpos($postinfo_string,'%comments-rss')!==false) {
######## COMMENTS RSS #####
$comments_rss_url comments_rss();
$comments_rss_link_text preg_match("/(.*)%comments-rss\('(.*?)'(.*)/i",$postinfo_string,$comments_rss_matches);
$comments_rss_link '<a href="' $comments_rss_url .'"';
global 
$options; if (get_option('ata_nofollow') == "Yes") {
$comments_rss_link .= ' rel="nofollow"';
}
$comments_rss_link .= '>' $comments_rss_matches[2] . '</a>';
}

if (
strpos($postinfo_string,'%trackback(')!==false) {
######## TRACKBACK ########
$trackback_url trackback_url(false);
$trackback_link_text preg_match("/(.*)%trackback\('(.*?)'(.*)/i",$postinfo_string,$trackback_matches);
$trackback_link '<a href="' $trackback_url '">' $trackback_matches[2] . '</a>';
}

if (
strpos($postinfo_string,'%edit(')!==false) {
######## EDIT ########
$edit_options preg_match("/(.*)%edit\('(.*?)'(.*?)'(.*?)'(.*?)'(.*?)'(.*)/i",$postinfo_string,$edit_matches);
$edit_link get_edit_post_link$post->ID );
if ( !
current_user_can'edit_page'$post->ID )) { $edit ""; } 
else { 
$edit $edit_matches[2] . '<a href="' $edit_link '">' $edit_matches[4] . '</a>' $edit_matches[6]; }
}

if (
strpos($postinfo_string,'%print(')!==false) {
######## PRINT ########
$print_text preg_match("/(.*)%print\('(.*?)'(.*)/i",$postinfo_string,$print_text_matches);
$print_link '<a href="javascript:window.print()">' .$print_text_matches[2]. '</a>';
}

if (
strpos($postinfo_string,'%wp-email')!==false) {
######## EMAIL ########
$wp_email = ( function_exists('wp_email') ? email_link($email_post_text ''$email_page_text ''$echo false) : "" );
}

if (
strpos($postinfo_string,'%wp-print')!==false) {
######## WP-PRINT ########
$wp_print = ( function_exists('wp_print') ? print_link($print_post_text ''$print_page_text ''$echo false) : "" );
}

if (
strpos($postinfo_string,'%wp-postviews')!==false) {
######## WP-POSTVIEWS ########
$wp_postviews = ( function_exists('the_views') ? the_views($display false) : "" );
}

if (
strpos($postinfo_string,'%sociable')!==false) {
######## SOCIABLE ########
$sociable = ( (function_exists('sociable_html2') AND function_exists('sociable_html'))? $sociable sociable_html2() : "" );
}



$postinfo $postinfo_string;
$postinfo preg_replace("/(.*)%tags\((.*?)\)%(.*)/i""\${1}" .$tags"\${3}"$postinfo);
$postinfo preg_replace("/(.*)%tags-linked\((.*?)\)%(.*)/i""\${1}" .$tags_linked"\${3}"$postinfo);
$postinfo str_replace("%author%"$author$postinfo);
$postinfo str_replace("%author-linked%"$author_linked$postinfo);
$postinfo preg_replace("/(.*)%date\((.*?)\)%(.*)/i""\${1}" .$date"\${3}"$postinfo);
$postinfo str_replace("%category%"$category_notlinked$postinfo);
$postinfo str_replace("%category-linked%"$category_linked$postinfo);
$postinfo preg_replace("/(.*)%categories\((.*?)\)%(.*)/i""\${1}" .$categories"\${3}"$postinfo);
$postinfo preg_replace("/(.*)%categories-linked\((.*?)\)%(.*)/i""\${1}" .$categories_linked"\${3}"$postinfo);
$postinfo preg_replace("/(.*)%comments\((.*?)\)%(.*)/i""\${1}" .$comment_link"\${3}"$postinfo);
$postinfo preg_replace("/(.*)%comments-rss\((.*?)\)%(.*)/i""\${1}" .$comments_rss_link"\${3}"$postinfo);
$postinfo str_replace("%trackback%"$trackback_url$postinfo);
$postinfo preg_replace("/(.*)%trackback-linked\((.*?)\)%(.*)/i""\${1}" .$trackback_link"\${3}"$postinfo);
$postinfo preg_replace("/(.*)%edit\((.*?)\)%(.*)/i""\${1}" .$edit"\${3}"$postinfo);
$postinfo preg_replace("/(.*)%print\((.*?)\)%(.*)/i""\${1}" .$print_link"\${3}"$postinfo);
$postinfo str_replace("%wp-print%"$wp_print$postinfo);
$postinfo str_replace("%wp-email%"$wp_email$postinfo);
$postinfo str_replace("%wp-postviews%"$wp_postviews$postinfo);
$postinfo str_replace("%sociable%"$sociable$postinfo);

if (
strpos($postinfo_string,'<image(')!==false) {
// images
$postinfo preg_replace_callback("|<image\((.*?)\)>|","image_files",$postinfo);
}

return 
$postinfo;
}
?>
  #2  
Old Dec 14, 2008, 02:38 PM
TarheelRambler
 
7 posts · Dec 2008
Raleigh, NC
Flynn...I'm not sure about the other errors, but I found the cause of the escape characters (backslash) being inserted when the 'Save' button is pressed. If magic_quotes_gpc is set to "On" in the PHP configuration, the result is the added escape characters. Setting magic_quotes_gpc to "Off" fixes it.

I added the following line to my php.ini file:
magic_quotes_gpc = Off

Note that this was the case for my shared hosting account on GoDaddy. I can't guarantee that this will be the case for all.
  #3  
Old Dec 14, 2008, 02:52 PM
campi
 
6 posts · Dec 2008
-No commas between tags or categories in the post info <---- The problem persists when dates start with a number


-Dates that start with a number eating up the rest of the post info <---- The problem persists


I make a new installation of wordpress for testing (php 5.2.6)

www.depaseoporaustralia.es/atahualpa

Last edited by campi; Dec 14, 2008 at 03:00 PM.
  #4  
Old Dec 14, 2008, 03:21 PM
Flynn's Avatar
Flynn
 
3,768 posts · Oct 2008
Munich, Germany
Quote:
Originally Posted by TarheelRambler
Flynn...I'm not sure about the other errors, but I found the cause of the escape characters (backslash) being inserted when the 'Save' button is pressed. If magic_quotes_gpc is set to "On" in the PHP configuration, the result is the added escape characters. Setting magic_quotes_gpc to "Off" fixes it.

I added the following line to my php.ini file:
magic_quotes_gpc = Off

Note that this was the case for my shared hosting account on GoDaddy. I can't guarantee that this will be the case for all.
Great, thank you

Looks like this is the cause of the remaining errors. I turned magic_quotes on myself and can finally replicate the backslashes, the missing commas, the missing comment link and the date issue
  #5  
Old Dec 14, 2008, 03:23 PM
Flynn's Avatar
Flynn
 
3,768 posts · Oct 2008
Munich, Germany
Quote:
Originally Posted by campi
-No commas between tags or categories in the post info <---- The problem persists when dates start with a number


-Dates that start with a number eating up the rest of the post info <---- The problem persists


I make a new installation of wordpress for testing (php 5.2.6)

www.depaseoporaustralia.es/atahualpa
Thanks a lot, campi. I think I have what I need now. It seems all the errors you mention are related to magic_quotes, see the post above yours by TarheelRambler

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
sociable and writer info on post mehdimonaco Header configuration & styling 0 Jun 26, 2009 07:03 PM
Author info for Post mikesmillions New Versions, & Updating 1 May 9, 2009 09:43 PM
Post Info Items and new plugins technstuff Plugins & Atahualpa 9 Feb 26, 2009 08:30 PM
Post / Page Info Items - Button crashes comp, how do I add to post-footer? Image help everygirlssecret Post-Kicker, -Byline & -Footer 1 Jan 5, 2009 02:12 PM
"Catchable fatal error" ... please try this file Flynn Atahualpa 3 Wordpress theme 5 Dec 18, 2008 04:25 AM


All times are GMT -6. The time now is 10:09 AM.


Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.