Example #1
0
 /**
  * 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));
 }
Example #2
0
 public function write_text_file($text)
 {
     $this->ensure_path_exists();
     write_text_file($this->as_text(), $text);
 }
Example #3
0
 /**
  * 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);
     }
 }
Example #4
0
 /**
  * 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);
 }
Example #5
0
 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;
 }