case 'hot_weight_views': case 'hot_weight_answers': case 'hot_weight_votes': case 'hot_weight_q_age': case 'hot_weight_a_age': if (qa_opt($optionname) != $optionvalue) { $recalchotness = true; } break; case 'block_ips_write': require_once QA_INCLUDE_DIR . 'qa-app-limits.php'; $optionvalue = implode(' , ', qa_block_ips_explode($optionvalue)); break; case 'block_bad_words': require_once QA_INCLUDE_DIR . 'qa-util-string.php'; $optionvalue = implode(' , ', qa_block_words_explode($optionvalue)); break; } qa_set_option($optionname, $optionvalue); } $formokhtml = qa_lang_html('admin/options_saved'); // Uploading default avatar if (is_array(@$_FILES['avatar_default_file']) && $_FILES['avatar_default_file']['size']) { require_once QA_INCLUDE_DIR . 'qa-util-image.php'; $oldblobid = qa_opt('avatar_default_blobid'); $toobig = qa_image_file_too_big($_FILES['avatar_default_file']['tmp_name'], qa_opt('avatar_store_size')); if ($toobig) { $errors['avatar_default_show'] = qa_lang_sub('main/image_too_big_x_pc', (int) ($toobig * 100)); } else { $imagedata = qa_image_constrain_data(file_get_contents($_FILES['avatar_default_file']['tmp_name']), $width, $height, qa_opt('avatar_store_size')); if (isset($imagedata)) {
public function test__qa_block_words_explode() { $test = qa_block_words_explode($this->blockWordString); $expected = array('t*d', 'o*n', 'b*t', 'style'); $this->assertEquals($expected, $test); }
function qa_block_words_to_preg($wordsstring) { if (qa_to_override(__FUNCTION__)) { $args = func_get_args(); return qa_call_override(__FUNCTION__, $args); } $blockwords = qa_block_words_explode($wordsstring); $patterns = array(); foreach ($blockwords as $blockword) { // * in rule maps to [^ ]* in regular expression $pattern = str_replace('\\*', '[^ ]*', preg_quote(qa_strtolower($blockword), '/')); if (!preg_match('/^(' . QA_PREG_CJK_IDEOGRAPHS_UTF8 . ')/', $blockword)) { $pattern = '(?<= )' . $pattern; } // assert leading word delimiter if pattern does not start with CJK if (!preg_match('/(' . QA_PREG_CJK_IDEOGRAPHS_UTF8 . ')$/', $blockword)) { $pattern = $pattern . '(?= )'; } // assert trailing word delimiter if pattern does not end with CJK $patterns[] = $pattern; } return implode('|', $patterns); }
function qa_block_words_to_preg($wordsstring) { $blockwords = qa_block_words_explode($wordsstring); $patterns = array(); foreach ($blockwords as $blockword) { // * in rule maps to [^ ]* in regular expression $patterns[] = str_replace('\\*', '[^ ]*', preg_quote(qa_strtolower($blockword))); } return implode('|', $patterns); }