رفتن به مطلب

جستجو در تالارهای گفتگو

در حال نمایش نتایج برای برچسب های 'فیلترکلمات انجمن سازkunena'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


تالارهای گفتگو

  • جـومــینا
    • قوانین انجمن تخصصی جوملا (جومینا)
    • اطلاعیه های انجمن
    • پیشنهادات و انتقادات
    • جوملا ایرانی
  • آموزش
    • آموزش جامع (عمومی)
    • آموزش های سطح بندی شده
    • مقالات و کتب
  • مشکلات
    • جوملا 3
    • جوملا 2.5
    • جوملا 1.5
  • افزونه ها
    • جوملا 3
    • جوملا 2.5
    • جوملا 1.5
  • توسعه افزونه های فارسی
    • آموزش و قوانین ترجمه افزونه ها
    • معرفی افزونه های جوملا 2.5
    • معرفی آموزش های جوملا 2.5
  • در خواست ها
  • طراحان وب
  • اسکریپت ها

جستجو در ...

نمایش نتایجی که شامل ...


تاریخ ایجاد

  • شروع

    پایان


آخرین بروزرسانی

  • شروع

    پایان


فیلتر بر اساس تعداد ...

تاریخ عضویت

  • شروع

    پایان


گروه


موقعیت:


علاقه مندی ها


آدرس وب سایت


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype

1 نتیجه پیدا شد

  1. سلام یکی از دغدغه های انجمن داران قیلطرکردن کلمات نامناسب درپست هایی است که کاربران ارسال میکنند.ولی متاسفانه افزونه های کاربردی و فوق العاده ای مثل انجمن ساز کیوننا این امکان را دارا نمیباشند. در این آموزش نحوه قیلطر کلمات نامناسب و دلخواه را در این انجمن سازحرفه ای به شما نشان خواهم داد.دراین روش هنگام ارسال پست ،درصورتی که پست حاوی کلمات قیلطرشده باشد ،طی پیغامی به کاربر از ثبت پست جلوگیری مینماید. البته این روش رو در انجمن جوملا جهانی دیدم که واسه نسخه های اولیه این افزونه بود ولی با مقداری تغییر خودم اون رو روی نسخه 3.0.5 بکاربردم و مشکلی نداشت.هم روی جوملا 2.5 و هم جوملا 3 کار میکنه. فایل زیر را باز کنید: components\com_kunena\controllers\topic.php در قسمت مربوط به تابع public function post() در همون خطوط اول تابع بعد از اینکه مشخصات پست رو در آرایه ای به نام $fields قرارمیده ،خطوط زیر را اضافه نمایید: $filter = $this->filtered_words($fields['message']); if ($filter) { $this->app->enqueueMessage ( JText::_ ( $filter ), 'error' ); $this->redirectBack (); } تابع filtered_words() همون تابعی هست که باید به این کلاس تاپیک افزوده شود.این تابع را میتوانید در آخر همین کلاس بعد از آخرین تابع که در این نسخه resetvotes() میباشد قرار دهید-قبل از علامت کروشه که بمعنای بسته شدن کلاس میباشد. function filtered_words($message) { // EDIT THIS LINE!!!!!!!!!!!!!!!!!!! // THIS SHOULD BE ADMIN MAIL ADRESS $recipient = 'admin@yourjoomla.org'; // EDIT THIS LINE!!!!!!!!!!!!!!!!!!! // read bad_words.txt if ($badwfh = fopen(JPATH_BASE.'/images/filtered_words.txt', 'r')) { while (!feof($badwfh)) { $line = trim(fgets($badwfh)); if (!empty($line)) { $badwords[] = addslashes($line); } } fclose ($badwfh); // read post message in array $checkmessage = strtolower($message); $message_array = array(); $message_array = preg_split('/[\s,\n\r\t]+/', $checkmessage); $found_words1 = array(); $found_words2 = array(); foreach ($badwords as $bad_word) { if (strstr($checkmessage, $bad_word)) { $found_words1[] = $bad_word; } } $found_words2 = array_intersect($message_array, $badwords); $found_words = array_merge($found_words1, $found_words2); if (count($found_words) > 0) { foreach ($found_words as $bad_word) { $checkmessage = str_replace($bad_word, " *<b><span style='color: #FF0000;'>".$bad_word."</span></b>* ", $checkmessage); } $msg = 'there are filtered words in your message'.'<hr>'.$checkmessage; return $msg; } else return false; } else return false; } // filtered_words function فایلی متنی به نام filtered_words.txt که در این تابع بکاربرده شده در واقع همون فایلی است کلمات قیلطر شده در اون قرارداده شده و در پوشه تصاویر در روت سایت قرار دارد که در قسمت مدیریت رسانه میتوانید فایل جدید رو جایگزین اون کنید.توجه داشته باشید که این فایل رو باید باهمین نام در پوشه تصاویر وارد کنید. کلماتی که میخواهید در این لیست قراربگیرند را بطور جداگانه و هر کلمه در یک خط قرار دهید و سپس فایل را با نام ذکر شده در پوشه تصاویر آپلود نمایید.دقت کنید که قیل ازآپلود فایل جدید ،فایل قبلی را حذف نمایید.این فایل را هر چندبار که بخواهید میتونید تغییر دهید. امیدوارم مفید بوده باشه بدرود...
×
×
  • افزودن...