نصب دستی Anti-Bot Registration Puzzles: تفاوت بین نسخه‌ها   

از دانشنامه جوملا فارسی - مامبو فارسی
پرش به: ناوبری، جستجو
 
سطر ۷: سطر ۷:
 
در پوشه Sources فایل Register.php را باز کنید و  این کد را پیدا کنید:
 
در پوشه Sources فایل Register.php را باز کنید و  این کد را پیدا کنید:
  
<div dir=ltr>
+
<source lang="php">
<code>
+
 
<pre>
+
 
// Are they under age, and under age users are banned?
 
// Are they under age, and under age users are banned?
</pre>
+
 
</code>
+
</source>
</div>
+
  
 
و قبل از آن کد زیر را قرار دهید
 
و قبل از آن کد زیر را قرار دهید
  
<div dir=ltr>
+
<source lang="php">
<code>
+
 
<pre>
+
 
// Start of Anti-bot Registration Puzzles Mod
 
// Start of Anti-bot Registration Puzzles Mod
 
   // Checks whether field was completed, if not it goes to an error screen
 
   // Checks whether field was completed, if not it goes to an error screen
سطر ۲۸: سطر ۲۵:
 
       fatal_lang_error('puzzle_incorrect', false);
 
       fatal_lang_error('puzzle_incorrect', false);
 
   // End of Anti-bot Registration Puzzles Mod
 
   // End of Anti-bot Registration Puzzles Mod
</pre>
+
 
</code>
+
</source>
</div>
+
  
 
سپس کد زیر را پیدا کنید:
 
سپس کد زیر را پیدا کنید:
  
<div dir=ltr>
+
<source lang="php">
<code>
+
 
<pre>
+
 
// Under age restrictions?
 
// Under age restrictions?
 
   if (!empty($modSettings['coppaAge']))
 
   if (!empty($modSettings['coppaAge']))
سطر ۴۳: سطر ۳۸:
 
       $context['coppa_desc'] = sprintf($txt['register_age_confirmation'], $modSettings['coppaAge']);
 
       $context['coppa_desc'] = sprintf($txt['register_age_confirmation'], $modSettings['coppaAge']);
 
   }
 
   }
</pre>
+
 
</code>
+
</source>
</div>
+
  
 
و بعد از آن این کد را قرار دهید:
 
و بعد از آن این کد را قرار دهید:
  
<div dir=ltr>
+
<source lang="php">
<code>
+
 
<pre>
+
 
// Start of Anti-bot Registration Puzzles Mod
 
// Start of Anti-bot Registration Puzzles Mod
 
   $puzzles = array(
 
   $puzzles = array(
سطر ۱۴۵: سطر ۱۳۸:
 
   unset($puzzles);
 
   unset($puzzles);
 
   // End of Anti-bot Registration Puzzles Mod
 
   // End of Anti-bot Registration Puzzles Mod
</pre>
+
 
</code>
+
</source>
</div>
+
  
 
درون پوشه قالب سایت خود اگه فایل Register.template.php وجود دارد،  این تغییرات را در آن ایجاد کنید و اگر نیست در پوشه قالب پیش فرض در فایل Register.template.php  این تغییرات را اعمال کنید.
 
درون پوشه قالب سایت خود اگه فایل Register.template.php وجود دارد،  این تغییرات را در آن ایجاد کنید و اگر نیست در پوشه قالب پیش فرض در فایل Register.template.php  این تغییرات را اعمال کنید.
سطر ۱۵۳: سطر ۱۴۵:
 
کد زیر را پیدا کنید:
 
کد زیر را پیدا کنید:
  
<div dir=ltr>
+
<source lang="php">
<code>
+
 
<pre>
+
 
// Are there age restrictions in place?
 
// Are there age restrictions in place?
 
   if (!empty($modSettings['coppaAge']))
 
   if (!empty($modSettings['coppaAge']))
</pre>
+
 
</code>
+
</source>
</div>
+
  
 
و قبل از آن این کد را قرار دهید
 
و قبل از آن این کد را قرار دهید
  
<div dir=ltr>
+
<source lang="php">
<code>
+
 
<pre>
+
 
   // Start of Anti-bot Registration Puzzles Mod
 
   // Start of Anti-bot Registration Puzzles Mod
 
   echo '<tr valign="top">
 
   echo '<tr valign="top">
سطر ۱۷۹: سطر ۱۶۸:
 
       </tr>';
 
       </tr>';
 
   // End of Anti-bot Registration Puzzles Mod
 
   // End of Anti-bot Registration Puzzles Mod
</pre>
+
 
</code>
+
</source>
</div>
+
  
 
در آخرین مرحله در فایل Modifications.english.php در پوشه languages در داخل پوشه قالب پیش فرض این تغییرات را ایجاد کنید
 
در آخرین مرحله در فایل Modifications.english.php در پوشه languages در داخل پوشه قالب پیش فرض این تغییرات را ایجاد کنید
سطر ۱۸۷: سطر ۱۷۵:
 
قبل از کد
 
قبل از کد
  
<div dir=ltr>
+
<source lang="php">
<code>
+
 
<pre>
+
 
?>
 
?>
</pre>
+
 
</code>
+
</source>
</div>
+
  
 
این کد را قرار دهید
 
این کد را قرار دهید
  
<div dir=ltr>
+
<source lang="php">
<code>
+
 
<pre>
+
 
$txt['puzzle_colors'] = 'Which word is the same as its color';
 
$txt['puzzle_colors'] = 'Which word is the same as its color';
 
$txt['puzzle_math'] = 'What is the sum of (as a number)';
 
$txt['puzzle_math'] = 'What is the sum of (as a number)';
سطر ۲۴۴: سطر ۲۲۹:
 
$txt['puzzle_18'] = 'EIGHTEEN';
 
$txt['puzzle_18'] = 'EIGHTEEN';
 
$txt['puzzle_19'] = 'NINETEEN';
 
$txt['puzzle_19'] = 'NINETEEN';
</pre>
+
 
</code>
+
</source>
</div>
+
  
 
در صورتی که می‌خواهید این مد به صورت کاملا فارسی نمایش داده شود تغییرات مرحله آخر را در فایل Modifications.persian.php  نیز انجام داده و عبارات آن را ترجمه کنید.
 
در صورتی که می‌خواهید این مد به صورت کاملا فارسی نمایش داده شود تغییرات مرحله آخر را در فایل Modifications.persian.php  نیز انجام داده و عبارات آن را ترجمه کنید.
سطر ۲۵۲: سطر ۲۳۶:
 
برای مثال
 
برای مثال
  
<div dir=ltr>
+
<source lang="php">
<code>
+
 
<pre>
+
 
$txt['puzzle_math'] = 'What is the sum of (as a number)';
 
$txt['puzzle_math'] = 'What is the sum of (as a number)';
 
$txt['puzzle_math'] = 'حاصل عددی عبارت مقابل چیست؟ ';
 
$txt['puzzle_math'] = 'حاصل عددی عبارت مقابل چیست؟ ';
</pre>
+
 
</code>
+
</source>
</div>
+
  
 
'''گردآورنده :'''  
 
'''گردآورنده :'''  
سطر ۲۶۶: سطر ۲۴۸:
  
 
{{کپی رایت}}
 
{{کپی رایت}}
 +
 
[[رده:شروع با SMF]][[رده:ترفندهای SMF]][[رده:سوالات متداول SMF]] [[رده:مقالات SMF]]
 
[[رده:شروع با SMF]][[رده:ترفندهای SMF]][[رده:سوالات متداول SMF]] [[رده:مقالات SMF]]

نسخهٔ کنونی تا ‏۱۸ آوریل ۲۰۱۱، ساعت ۱۱:۱۴

مقدمه

برای اینکه یک سری سوال در هنگام عضویت در SMF پرسیده شود بسته توسعه دهنده Anti-Bot Registration Puzzles را نصب می‌کنیم

روش کار

در پوشه Sources فایل Register.php را باز کنید و این کد را پیدا کنید:

<source lang="php">

// Are they under age, and under age users are banned?

</source>

و قبل از آن کد زیر را قرار دهید

<source lang="php">

// Start of Anti-bot Registration Puzzles Mod

  // Checks whether field was completed, if not it goes to an error screen
  if(empty($_SESSION['puzzle_dynamic_input']) || empty($_POST[$_SESSION['puzzle_dynamic_input']]))
     fatal_lang_error('puzzle_incomplete', false);
  // If puzzle was answered incorrectly
  elseif (md5(strtolower($_POST[$_SESSION['puzzle_dynamic_input']])) != $_SESSION['puzzle_code'])
     fatal_lang_error('puzzle_incorrect', false);
  // End of Anti-bot Registration Puzzles Mod

</source>

سپس کد زیر را پیدا کنید:

<source lang="php">

// Under age restrictions?

  if (!empty($modSettings['coppaAge']))
  {
     $context['show_coppa'] = true;
     $context['coppa_desc'] = sprintf($txt['register_age_confirmation'], $modSettings['coppaAge']);
  }

</source>

و بعد از آن این کد را قرار دهید:

<source lang="php">

// Start of Anti-bot Registration Puzzles Mod

  $puzzles = array(
     'shapes' => create_function(, '
                 $a = array(0 => "sides", 1 => "corners");
                 $b = rand(0,1);
                 $c = array(\'square\' => 4, \'rectangle\' => 4, \'pentagon\' => 5,
                          \'hexagon\' => 6, \'heptagon\' => 7, \'octagon\' => 8);
                 $d = array_rand($c); // randomly select a shape
                 $e = $c[$d]; // the answer
                 global $txt;
                 $txt[\'puzzle_shapes\'] = sprintf(($d == \'octagon\' ? $txt[\'puzzle_shapes2\'] : $txt[\'puzzle_shapes\']),
$txt[\'puzzle_\'.$a[$b]], $txt[\'puzzle_\'.$d]);
              return array(\'shapes\', \'\', md5($e));
           '),
     'math' => create_function(, '
                 $a = array();
                 $a[0] = rand(5,19);
                 $a[1] = rand(1,$a[0]-2);
                 $a[2] = rand(1,($a[0]-$a[1]-2));
                 $a[3] = array("+","-");
                 $a[4] = $a[3][array_rand($a[3])];
                 $a[5] = $a[3][array_rand($a[3])];
                 $d = "$a[0]$a[4] $a[1] $a[5] $a[2]";
                 eval("\$d=" . $d . ";");
              return array(\'math\', "$a[0] $a[4] $a[1] $a[5] $a[2] =", md5($d));
           '),
     'math2' => create_function(, '
                 $a = array();
                 $a[0] = rand(5,19);
                 $a[1] = rand(1,$a[0]-2);
                 $a[2] = rand(1,($a[0]-$a[1]-2));
                 $a[3] = array("+","-");
                 $a[4] = $a[3][array_rand($a[3])];
                 $a[5] = $a[3][array_rand($a[3])];
                 $c = array(rand(0,1),rand(0,1),rand(0,1));
                 $d = "$a[0]$a[4] $a[1] $a[5] $a[2]";
                 // Whats the sum/answer
                 eval("\$d=" . $d . ";");
                 // Access txt strings
                 global $txt;
              return array(\'math\', \'\'.($c[0] ? $a[0] : $txt[\'puzzle_\'.$a[0]]).\' \'.$a[4].\'
\'.($c[1] ? $a[1] : $txt[\'puzzle_\'.$a[1]]).\' \'.$a[5].\' \'.($c[2] ? $a[2] : $txt[\'puzzle_\'.$a[2]]).\' = \', md5($d));
           '),
     'colors' => create_function(, '
                 $a = array(\'red\' => \'#FF0033\', \'orange\' => \'#FF6600\', \'yellow\' => \'#FFFF33\', \'green\' =>
\'#006600\', \'blue\' => \'#0033FF\', \'purple\' => \'#663366\', \'pink\' => \'#FF9999\', \'black\' => \'#000000\', \'grey\' =>
\'#999999\');
                 
                 // Select them randomly
                 $b = array_rand($a,8);
                 $c = $b[rand(0,7)]; // the answer
                 $d = \'\';
                 // Access txt strings
                 global $txt;
                 for($i=0;$i<=7;$i++)
                 {
                    // Color or hex? randomly change
                    $e = rand(0,1);
                    $j = $i+1;
                    if($c == $b[$i] || $c == $b[$j])
                       $d .= \'\'. $txt[\'puzzle_\'.$c]
.\' \';
                    else
                       $d .= \'\'. $txt[\'puzzle_

\'.$b[$j]] .\' \';

                    $i++;
                 }
                 unset($a,$b,$e,$i,$j);
              return array(\'colors\', $d, md5(strtolower($txt[\'puzzle_\'.$c])));
           '),
  );
  // Generate a new puzzle code every time
  $_SESSION['puzzle_dynamic_input'] = $_SESSION['puzzle_code'] = ;
  
  // Generate Random field name
  $range1 = range('a', 'z');
  $range2 = range(0, 9);
  // Must start with a letter not a digit
  $_SESSION['puzzle_dynamic_input'] = $range1[array_rand($range1)];
  // Length over 8
  $rand = rand(8,12);
  for($i=0;$i<=$rand;$i++)
     $_SESSION['puzzle_dynamic_input'] .= (rand(0, 1) == 0) ? $range1[array_rand($range1)] : $range2[array_rand($range2)];
  
  unset($range1, $range2, $rand);
  
  // Choose a puzzle
  $context['puzzle'] = $puzzles[array_rand($puzzles)]();
  $_SESSION['puzzle_code'] = $context['puzzle'][2];
  $context['puzzle'][2] = $_SESSION['puzzle_dynamic_input'];
  unset($puzzles);
  // End of Anti-bot Registration Puzzles Mod

</source>

درون پوشه قالب سایت خود اگه فایل Register.template.php وجود دارد، این تغییرات را در آن ایجاد کنید و اگر نیست در پوشه قالب پیش فرض در فایل Register.template.php این تغییرات را اعمال کنید.

کد زیر را پیدا کنید:

<source lang="php">

// Are there age restrictions in place?

  if (!empty($modSettings['coppaAge']))

</source>

و قبل از آن این کد را قرار دهید

<source lang="php">

 // Start of Anti-bot Registration Puzzles Mod
  echo '<tr valign="top">
           <td width="40%" valign="top">
              '.$txt['puzzle_'.$context['puzzle'][0]].'
'.$txt['puzzle_antibot'].' </td> <td> '. ( empty($context['puzzle'][1]) ?  : $context['puzzle'][1].'
' ) .'
<input type="text" name="'.$context['puzzle'][2].'" size="30" value="" tabindex="', $context['tabindex']++, '" /> </td> </tr>'; // End of Anti-bot Registration Puzzles Mod

</source>

در آخرین مرحله در فایل Modifications.english.php در پوشه languages در داخل پوشه قالب پیش فرض این تغییرات را ایجاد کنید

قبل از کد

<source lang="php">

?>

</source>

این کد را قرار دهید

<source lang="php">

$txt['puzzle_colors'] = 'Which word is the same as its color'; $txt['puzzle_math'] = 'What is the sum of (as a number)'; $txt['puzzle_shapes'] = 'How many %s does a %s have?'; $txt['puzzle_shapes2'] = 'How many %s does an %s have?'; $txt['puzzle_sides'] = 'sides'; $txt['puzzle_corners'] = 'corners'; $txt['puzzle_incomplete'] = 'You did not complete the anti-bot puzzle. Please try again.'; $txt['puzzle_incorrect'] = 'You incorrectly answered the anti-bot puzzle. Please try again.'; $txt['puzzle_antibot'] = 'Anti-bot measure'; $txt['puzzle_red'] = 'Red'; $txt['puzzle_orange'] = 'Orange'; $txt['puzzle_yellow'] = 'Yellow'; $txt['puzzle_green'] = 'Green'; $txt['puzzle_blue'] = 'Blue'; $txt['puzzle_purple'] = 'Purple'; $txt['puzzle_pink'] = 'Pink'; $txt['puzzle_black'] = 'Black'; $txt['puzzle_grey'] = 'Grey'; $txt['puzzle_triange'] = 'Triangle'; $txt['puzzle_square'] = 'Square'; $txt['puzzle_rectangle'] = 'Rectangle'; $txt['puzzle_pentagon'] = 'Pentagon'; $txt['puzzle_hexagon'] = 'Hexagon'; $txt['puzzle_heptagon'] = 'Heptagon'; $txt['puzzle_octagon'] = 'Octagon'; $txt['puzzle_1'] = 'ONE'; $txt['puzzle_2'] = 'TWO'; $txt['puzzle_3'] = 'THREE'; $txt['puzzle_4'] = 'FOUR'; $txt['puzzle_5'] = 'FIVE'; $txt['puzzle_6'] = 'SIX'; $txt['puzzle_7'] = 'SEVEN'; $txt['puzzle_8'] = 'EIGHT'; $txt['puzzle_9'] = 'NINE'; $txt['puzzle_10'] = 'TEN'; $txt['puzzle_11'] = 'ELEVEN'; $txt['puzzle_12'] = 'TWELVE'; $txt['puzzle_13'] = 'THIRTEEN'; $txt['puzzle_14'] = 'FOURTEEN'; $txt['puzzle_15'] = 'FIFTEEN'; $txt['puzzle_16'] = 'SIXTEEN'; $txt['puzzle_17'] = 'SEVENTEEN'; $txt['puzzle_18'] = 'EIGHTEEN'; $txt['puzzle_19'] = 'NINETEEN';

</source>

در صورتی که می‌خواهید این مد به صورت کاملا فارسی نمایش داده شود تغییرات مرحله آخر را در فایل Modifications.persian.php نیز انجام داده و عبارات آن را ترجمه کنید.

برای مثال

<source lang="php">

$txt['puzzle_math'] = 'What is the sum of (as a number)'; $txt['puzzle_math'] = 'حاصل عددی عبارت مقابل چیست؟ ';

</source>

گردآورنده : prin.ir


8.pngاستفاده از مطالب دانشنامه جوملا فارسی - مامبو فارسی با ذکر منبع ( دانشنامه جوملا فارسی ) و لینک مستقیم به http://docs.joomlafarsi.com بلامانع است.