/** * Standard modular run function. * * @param array A map of parameters. * @return tempcode The result of execution. */ function run($map) { require_code('textfiles'); $file = array_key_exists('param', $map) ? $map['param'] : 'admin_notes'; $title = array_key_exists('title', $map) ? $map['title'] : do_lang('NOTES'); $lang_none = array_key_exists('lang_none', $map) ? $map['lang_none'] : '0'; $scrolls = array_key_exists('scrolls', $map) ? $map['scrolls'] : '0'; $lang = $lang_none == '1' ? NULL : ''; $file = filter_naughty($file, true); $new = post_param('new', NULL); if (!is_null($new)) { $hooks = find_all_hooks('blocks', 'main_notes'); foreach (array_keys($hooks) as $hook) { require_code('hooks/blocks/main_notes/' . filter_naughty_harsh($hook)); $ob = object_factory('Hook_notes_' . filter_naughty_harsh($hook), true); if (is_null($ob)) { continue; } $ob->run($file); } write_text_file($file, $lang, $new); log_it('NOTES', $file); attach_message(do_lang_tempcode('SUCCESS'), 'inform'); } $contents = read_text_file($file, $lang, true); $post_url = get_self_url(); $map_comcode = ''; foreach ($map as $key => $val) { $map_comcode .= ' ' . $key . '="' . addslashes($val) . '"'; } return do_template('BLOCK_MAIN_NOTES', array('_GUID' => 'f737053505de3bd8ccfe806ec014b8fb', 'TITLE' => $title, 'BLOCK_NAME' => 'main_notes', 'MAP' => $map_comcode, 'CONTENTS' => $contents, 'SCROLLS' => array_key_exists('scrolls', $map) && $map['scrolls'] == '1', 'URL' => $post_url)); }
public function write_text_file($text) { $this->ensure_path_exists(); write_text_file($this->as_text(), $text); }
/** * Standard import function. * * @param object The DB connection to import from * @param string The table prefix the target prefix is using * @param PATH The base directory we are importing from */ function import_quotes($db, $table_prefix, $old_base_dir) { $rows = $db->query('SELECT * FROM ' . $table_prefix . 'quotes'); if (count($rows) != 0) { $out = ''; //trim(read_text_file('quotes',get_site_default_lang(),true)).chr(10); We just want our own, but only if we have at least 1 (see if statement above) foreach ($rows as $row) { $row['quote'] = @html_entity_decode($row['quote'], ENT_QUOTES, get_charset()); $out .= $row['quote']; $out .= isset($row['author']) && strlen($row['author']) > 0 ? ' (' . $row['author'] . ')' : ''; $out .= chr(10); } require_code('textfiles'); write_text_file('quotes', get_site_default_lang(), $out); } }
/** * Standard import function. * * @param object The DB connection to import from * @param string The table prefix the target prefix is using * @param PATH The base directory we are importing from */ function import_quotes($db, $table_prefix, $old_base_dir) { require_code('textfiles'); $rows = $db->query('SELECT * FROM ' . $table_prefix . 'quotes'); $out = read_text_file('quotes', get_site_default_lang(), true); foreach ($rows as $row) { $out .= $row['quote'] . chr(10); } write_text_file('quotes', get_site_default_lang(), $out); }
function create_imageAdv() { $alphabet = "0123456789abcdefghijklmnopqrstuvwxyz"; $allowed_symbols = "23456789abcdeghkmnpqsuvxyz"; $length = 5; $width = 120; $height = 60; $fluctuation_amplitude = 5; $no_spaces = true; $this->setColors(); $foreground_color = $this->HexToRGB($this->textColor); //array(255,255,255);//array(180, 180, 180);//array(255,255,255);// $background_color = $this->HexToRGB($this->bgColor); //array(44,127,7);//array(53,3,0);//array(246, 246, 246);//array(0,0,0);// $jpeg_quality = 90; $alphabet_length = strlen($alphabet); do { // generating random keystring while (true) { $this->keystring = ''; for ($i = 0; $i < $length; $i++) { $this->keystring .= $allowed_symbols[mt_rand(0, strlen($allowed_symbols) - 1)]; } if (!preg_match('/cp|cb|ck|c6|c9|rn|rm|mm|co|do|cl|db|qp|qb|dp|ww/', $this->keystring)) { break; } } $font_file = $font_file = dirname(__FILE__) . DS . 'osolCaptcha' . DS . 'adlibBT.png'; $font = imagecreatefrompng($font_file); imagealphablending($font, true); $fontfile_width = imagesx($font); $fontfile_height = imagesy($font) - 1; $font_metrics = array(); $symbol = 0; $reading_symbol = false; // loading font for ($i = 0; $i < $fontfile_width && $symbol < $alphabet_length; $i++) { $transparent = imagecolorat($font, $i, 0) >> 24 == 127; if (!$reading_symbol && !$transparent) { $font_metrics[$alphabet[$symbol]] = array('start' => $i); $reading_symbol = true; continue; } if ($reading_symbol && $transparent) { $font_metrics[$alphabet[$symbol]]['end'] = $i; $reading_symbol = false; $symbol++; continue; } } $img = imagecreatetruecolor($width, $height); imagealphablending($img, true); $white = imagecolorallocate($img, 255, 255, 255); $black = imagecolorallocate($img, 0, 0, 0); imagefilledrectangle($img, 0, 0, $width - 1, $height - 1, $white); // draw text $x = 1; for ($i = 0; $i < $length; $i++) { $m = $font_metrics[$this->keystring[$i]]; $y = mt_rand(-$fluctuation_amplitude, $fluctuation_amplitude) + ($height - $fontfile_height) / 2 + 2; if ($no_spaces) { $shift = 0; if ($i > 0) { $shift = 10000; for ($sy = 7; $sy < $fontfile_height - 20; $sy += 1) { for ($sx = $m['start'] - 1; $sx < $m['end']; $sx += 1) { $rgb = imagecolorat($font, $sx, $sy); $opacity = $rgb >> 24; if ($opacity < 127) { $left = $sx - $m['start'] + $x; $py = $sy + $y; if ($py > $height) { break; } for ($px = min($left, $width - 1); $px > $left - 12 && $px >= 0; $px -= 1) { $color = imagecolorat($img, $px, $py) & 0xff; if ($color + $opacity < 190) { if ($shift > $left - $px) { $shift = $left - $px; } break; } } break; } } } if ($shift == 10000) { $shift = mt_rand(4, 6); } } } else { $shift = 1; } imagecopy($img, $font, $x - $shift, $y, $m['start'], 1, $m['end'] - $m['start'], $fontfile_height); $x += $m['end'] - $m['start'] - $shift; } } while ($x >= $width - 10); // while not fit in canvas $center = $x / 2; $img2 = imagecreatetruecolor($width, $height); $foreground = imagecolorallocate($img2, $foreground_color[0], $foreground_color[1], $foreground_color[2]); $background = imagecolorallocate($img2, $background_color[0], $background_color[1], $background_color[2]); imagefilledrectangle($img2, 0, 0, $width - 1, $height - 1, $background); imagefilledrectangle($img2, 0, $height, $width - 1, $height + 12, $foreground); // periods $rand1 = mt_rand(750000, 1200000) / 10000000; $rand2 = mt_rand(750000, 1200000) / 10000000; $rand3 = mt_rand(750000, 1200000) / 10000000; $rand4 = mt_rand(750000, 1200000) / 10000000; // phases $rand5 = mt_rand(0, 31415926) / 10000000; $rand6 = mt_rand(0, 31415926) / 10000000; $rand7 = mt_rand(0, 31415926) / 10000000; $rand8 = mt_rand(0, 31415926) / 10000000; // amplitudes $rand9 = mt_rand(330, 420) / 110; $rand10 = mt_rand(330, 450) / 110; //wave distortion for ($x = 0; $x < $width; $x++) { for ($y = 0; $y < $height; $y++) { $sx = $x + (sin($x * $rand1 + $rand5) + sin($y * $rand3 + $rand6)) * $rand9 - $width / 2 + $center + 1; $sy = $y + (sin($x * $rand2 + $rand7) + sin($y * $rand4 + $rand8)) * $rand10; if ($sx < 0 || $sy < 0 || $sx >= $width - 1 || $sy >= $height - 1) { continue; } else { $color = imagecolorat($img, $sx, $sy) & 0xff; $color_x = imagecolorat($img, $sx + 1, $sy) & 0xff; $color_y = imagecolorat($img, $sx, $sy + 1) & 0xff; $color_xy = imagecolorat($img, $sx + 1, $sy + 1) & 0xff; } if ($color == 255 && $color_x == 255 && $color_y == 255 && $color_xy == 255) { continue; } else { if ($color == 0 && $color_x == 0 && $color_y == 0 && $color_xy == 0) { $newred = $foreground_color[0]; $newgreen = $foreground_color[1]; $newblue = $foreground_color[2]; } else { $frsx = $sx - floor($sx); $frsy = $sy - floor($sy); $frsx1 = 1 - $frsx; $frsy1 = 1 - $frsy; $newcolor = $color * $frsx1 * $frsy1 + $color_x * $frsx * $frsy1 + $color_y * $frsx1 * $frsy + $color_xy * $frsx * $frsy; if ($newcolor > 255) { $newcolor = 255; } $newcolor = $newcolor / 255; $newcolor0 = 1 - $newcolor; $newred = $newcolor0 * $foreground_color[0] + $newcolor * $background_color[0]; $newgreen = $newcolor0 * $foreground_color[1] + $newcolor * $background_color[1]; $newblue = $newcolor0 * $foreground_color[2] + $newcolor * $background_color[2]; } } imagesetpixel($img2, $x, $y, imagecolorallocate($img2, $newred, $newgreen, $newblue)); } } /*header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', FALSE); header('Pragma: no-cache'); if(function_exists("imagejpeg")){ header("Content-Type: image/jpeg"); imagejpeg($img2, null, $jpeg_quality); }else if(function_exists("imagegif")){ header("Content-Type: image/gif"); imagegif($img2); }else if(function_exists("imagepng")){ header("Content-Type: image/x-png"); imagepng($img2); }*/ header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Cache-Control: post-check=0, pre-check=0', FALSE); header('Pragma: no-cache'); if (function_exists("imagejpeg")) { header("Content-Type: text/html"); imagejpeg($img2, null, $jpeg_quality); } else { if (function_exists("imagegif")) { header("Content-Type: text/html"); imagegif($img2); } else { if (function_exists("imagepng")) { header("Content-Type: text/html"); imagepng($img2); } } } //global $key_string; //$key_string = $this->keystring; //$GLOBALS['key_string'] = $this->keystring; // Chau add global var //global $u_reGlobalConfig; //$u_reGlobalConfig['keyString'] = $this->keystring; //$keyString = $this->keystring; $security_code = $this->keystring; // write security code in file $namefile = $_SERVER['PHP_SELF']; $rootPath = realpath(realpath($namefile)); while (!file_exists($rootPath . '/components')) { $rootPath = dirname($rootPath); } //$file = new ReadSecurityCode(); $ip = $_SERVER['REMOTE_ADDR']; $ip = str_replace('.', '_', $ip); $fileName = $rootPath . '/images/security_code/sercu_' . $ip . '.txt'; $currentSession =& JFactory::getSession(); //&JSession::getInstance('none',array()); $currentSession->set('file_name', $fileName); write_text_file($fileName, $this->keystring); $currentSession =& JFactory::getSession(); $currentSession->set('write', '1'); //Set the session to store the security code //$_SESSION["security_code"] $currentSession =& JFactory::getSession(); //&JSession::getInstance('none',array()); $currentSession->set('securiy_code' . (JRequest::getVar('instanceNo') + 0), $security_code); $width = 120; //100; $height = 40; //20; }