public function __construct($infos = false)
 {
     $displayErrors = false;
     if (!self::$pdoS) {
         if (empty($infos)) {
             require ROOT . 'config/bdd.php';
             $infos = $BDD['mysql'];
         }
         $displayErrors = @$infos['displayErrors'];
         try {
             self::$pdoS = new PDO('mysql:host=' . $infos['host'] . ';dbname=' . $infos['database'] . '', $infos['login'], $infos['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
             self::$pdoS->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
             $this->wake_up();
             return true;
         } catch (PDOException $erreur) {
             $error = new error();
             if ($displayErrors) {
                 $error->addError('Error : ' . $erreur->getMessage(), ERROR_PAGE);
             } else {
                 $error->addError('We can\'t display the page you asked for.', ERROR_PAGE);
             }
             return false;
         }
     }
     $this->wake_up();
 }
Exemplo n.º 2
0
 function captcha($sourceFolder, $moduleFolder, $uploadFolder, $urlRequestRoot, $cmsFolder, $length = 5)
 {
     $this->sourceFolder = $sourceFolder;
     $this->moduleFolder = $moduleFolder;
     $this->uploadFolder = $uploadFolder;
     $this->urlRequestRoot = $urlRequestRoot;
     $this->cmsFolder = $cmsFolder;
     // header('Content-type: image/png');
     $this->Length = $length;
     //$this->fontpath = dirname($_SERVER['SCRIPT_FILENAME']) . '/fonts/';
     global $sourceFolder, $moduleFolder;
     $this->fontpath = "{$sourceFolder}/{$moduleFolder}/form/captcha/fonts/";
     $this->fonts = $this->getFonts();
     $errormgr = new error();
     if ($this->fonts == FALSE) {
         //$errormgr = new error;
         $errormgr->addError('No fonts available!');
         $errormgr->displayError();
         //      	die();
     }
     if (function_exists('imagettftext') == FALSE) {
         $errormgr->addError('');
         $errormgr->displayError();
         //       die();
     }
     $this->stringGen();
     $this->makeCaptcha();
 }
Exemplo n.º 3
0
 function captcha($length = 6)
 {
     header('Content-type: image/png');
     $this->Length = $length;
     $this->fontpath = 'images/';
     $this->fonts = $this->getFonts();
     $errormgr = new error();
     if ($this->fonts == FALSE) {
         //$errormgr = new error;
         $errormgr->addError('No fonts available!');
         $errormgr->displayError();
         die;
     }
     if (function_exists('imagettftext') == FALSE) {
         $errormgr->addError('');
         $errormgr->displayError();
         die;
     }
     $this->stringGen();
     $this->makeCaptcha();
 }
Exemplo n.º 4
0
 function captcha()
 {
     $this->fontpath = JPATH_COMPONENT . DS . 'fonts' . DS;
     $this->fonts = $this->getFonts();
     $errormgr = new error();
     if ($this->imagetype == 'FREETYPE') {
         if ($this->fonts == FALSE) {
             $errormgr->addError('No fonts available!');
             $errormgr->displayError();
             die;
         }
         if (function_exists('imagettftext') == FALSE) {
             $errormgr->addError('the function imagettftext does not exist.');
             $errormgr->displayError();
             die;
         }
     }
     header('Content-type: image/png');
     ob_clean();
     $this->stringGenerate();
     $this->makeCaptcha();
     //exit;
 }
Exemplo n.º 5
0
 function captcha($length = 6)
 {
     global $settings;
     header('Content-type: image/png');
     $this->Length = $length;
     //$this->fontpath = dirname($_SERVER['SCRIPT_FILENAME']) . '/fonts/';
     $this->fontpath = "theme/{$settings['theme']}/font/";
     $this->fonts = $this->getFonts();
     $errormgr = new error();
     if ($this->fonts == FALSE) {
         //$errormgr = new error;
         $errormgr->addError('No fonts available!');
         $errormgr->displayError();
         die;
     }
     if (function_exists('imagettftext') == FALSE) {
         $errormgr->addError('');
         $errormgr->displayError();
         die;
     }
     $this->stringGen();
     $this->makeCaptcha();
 }
Exemplo n.º 6
0
 function makeCaptcha()
 {
     global $cString, $_CONF, $_TABLES, $LANG_CP00;
     if ($this->session_id != 0) {
         $sql = "UPDATE {$_TABLES['cp_sessions']} SET validation='" . $this->getCaptchaString() . "' WHERE session_id='" . DB_escapeString($this->session_id) . "'";
         DB_query($sql);
     } else {
         CAPTCHA_errorLog("CAPTCHA: No valid session id passed");
         exit;
     }
     switch ($this->driver) {
         case 0:
         case 1:
             if ($this->gfxformat != 'png' && $this->gfxformat != 'jpg') {
                 header('Content-type: image/gif');
                 COM_errorLog("CAPTCHA: No valid gfxFormat specified");
                 $errormgr = new error();
                 $errormgr->addError('');
                 $errormgr->displayError();
                 die;
             }
             $header = 'Content-type: image/' . $this->gfxformat;
             header($header);
             if ($this->driver == 0) {
                 $imagelength = $this->Length * 25 + 16;
                 $imageheight = 75;
                 $image = imagecreate($imagelength, $imageheight);
                 $bgcolor = imagecolorallocate($image, 255, 255, 255);
                 $stringcolor = imagecolorallocate($image, 0, 0, 0);
                 $filter = new filters();
                 $filter->signs($image, $this->getRandFont());
                 for ($i = 0; $i < strlen($this->CaptchaString); $i++) {
                     imagettftext($image, 25, mt_rand(-15, 15), $i * 25 + 10, mt_rand(30, 70), $stringcolor, $this->getRandFont(), $this->CaptchaString[$i]);
                 }
                 switch ($this->gfxformat) {
                     case 'png':
                         imagepng($image);
                         break;
                     case 'jpg':
                         imagejpeg($image);
                         break;
                 }
                 imagedestroy($image);
             } else {
                 // ImageMagick code originally written by
                 // Thom Skrtich  (email : bisohpthom@supertwist.net)
                 // used in SecureImage a CAPTCHA plugin for WordPress.
                 $gravity = 'Center';
                 # modify the image according to the generated settings
                 $size = rand($this->sizemin, $this->sizemax);
                 $blur = rand($this->blurmin, $this->blurmax);
                 $angle = rand($this->anglemin, $this->anglemax);
                 $swirl = rand($this->swirlmin, $this->swirlmax);
                 $wave = rand($this->wavemin, $this->wavemax);
                 $cString = $this->CaptchaString;
                 $i = strlen($cString);
                 $newString = '';
                 for ($x = 0; $x < $i; $x++) {
                     $newString .= $cString[$x];
                     $newString .= ' ';
                 }
                 # prepare our image magick command
                 $cmd = '"' . $this->convertpath . '"';
                 $cmd .= ' -font "' . $this->getRandFont() . '"';
                 $cmd .= ' -pointsize ' . $size;
                 $cmd .= ' -gravity "' . $gravity . '"';
                 $cmd .= ' -annotate 0 "' . $newString . '"';
                 $cmd .= ' -blur ' . $blur;
                 $cmd .= ' -rotate ' . $angle;
                 $cmd .= ' -swirl ' . $swirl;
                 $cmd .= ' -wave ' . $wave . 'x80';
                 $cmd .= ' ' . $this->getRandBackground() . ' - ';
                 if (PHP_OS == "WINNT") {
                     $pcmd = 'cmd /c " ' . $cmd . '"';
                 } else {
                     $pcmd = $cmd;
                 }
                 if ($this->debug) {
                     COM_errorLog("CAPTCHA cmd: " . $pcmd);
                 }
                 passthru($pcmd);
             }
             break;
         case 2:
             header('Content-type: image/jpeg');
             $filename = $cString[$this->CaptchaString] . '.jpg';
             $fp = fopen($_CONF['path'] . 'plugins/captcha/images/static/' . $this->imageset . '/' . $filename, 'rb');
             if ($fp != NULL) {
                 while (!feof($fp)) {
                     $buf = fgets($fp, 8192);
                     echo $buf;
                 }
                 fclose($fp);
             } else {
                 COM_errorLog("CAPTCHA: Unable to open static image file");
             }
             break;
         case 3:
         case 4:
         case 5:
             break;
         case 6:
             /*
                             $output =  $this->first . ' '.$this->operator . ' ' . $this->second . ' = ';
                             $imagelength = $this->Length * 25 + 16;
                             $imageheight = 75;
                             $im = imagecreate($imagelength, $imageheight);
                             // White background and blue text
                             $bg = imagecolorallocate($im, 255, 255, 255);
                             $textcolor = imagecolorallocate($im, 0, 0, 255);
                             // Write the string at the top left
                             imagestring($im, 5, 35, 15, $output, $textcolor);
                             imagestring($im, 25, 5, 45, $LANG_CP00['captcha_help'], $textcolor);
                             // Output the image
                             header('Content-type: image/png');
                             imagepng($im);
                             imagedestroy($im);
             */
             $output = $this->first . '' . $this->operator . '' . $this->second . '=';
             $font = $this->fontpath . 'bluehigl.ttf';
             $imagelength = $this->Length * 25 + 16;
             $imageheight = 75;
             $image = imagecreate($imagelength, $imageheight);
             $bgcolor = imagecolorallocate($image, 255, 255, 255);
             $stringcolor = imagecolorallocate($image, 0, 0, 0);
             for ($i = 0; $i < strlen($output); $i++) {
                 imagettftext($image, 25, mt_rand(-15, 15), $i * 25 + 10, 45, $stringcolor, $font, $output[$i]);
             }
             switch ($this->gfxformat) {
                 case 'png':
                     imagepng($image);
                     break;
                 case 'jpg':
                     imagejpeg($image);
                     break;
             }
             imagedestroy($image);
             break;
         default:
             break;
     }
 }
     $host = $_POST['host'];
     $loginBDD = $_POST['login'];
     $passwordBDD = $_POST['password'];
     $databaseBDD = $_POST['database'];
     $prefixeBDD = $_POST['prefix'];
     $bdd = new bdd(array('host' => $host, 'login' => $loginBDD, 'database' => $databaseBDD, 'password' => $passwordBDD, 'displayErrors' => true));
     if (empty($bdd->pdo)) {
         $error = new error();
         $error->addError('Les informations données sur la base de données ne sont pas correctes, le lien n\'a pas pu être établi. Réessayez.', ERROR_PAGE, 'install.php', __LINE__);
         $step = 1;
     } else {
         $_SESSION['__install'][1] = array('hostBDD' => $host, 'loginBDD' => $loginBDD, 'databaseBDD' => $databaseBDD, 'passwordBDD' => $passwordBDD, 'root' => $root, 'rootUrl' => $rooturl, 'prefixeBDD' => $prefixeBDD);
     }
 } else {
     $error = new error();
     $error->addError('Toutes les informations n\'ont pas été données.', ERROR_PAGE, 'install.php', __LINE__);
     $step = 1;
 }
 if ($step == 2) {
     $dirLangs = glob('../lang/*', GLOB_ONLYDIR);
     foreach ($dirLangs as $k => $langs) {
         $dirLangs[$k] = str_replace('../lang/', '', $langs);
     }
     $dirDesigns = glob('../designs/*', GLOB_ONLYDIR);
     foreach ($dirDesigns as $k => $designs) {
         $dirDesigns[$k] = str_replace('../designs/', '', $designs);
     }
     $dirModules = glob('../modules/*', GLOB_ONLYDIR);
     foreach ($dirModules as $k => $modules) {
         $dirModules[$k] = str_replace('../modules/', '', $modules);
     }
Exemplo n.º 8
0
 function captcha($length = 4)
 {
     global $mainframe;
     if (!function_exists('imagecreate')) {
         header('Location:uploads/nogd.gif');
     }
     //die('GD Library not found!');
     header('Content-type: image/png');
     //$mainframe->registerEvent( 'onAfterInitialise', 'pngHeader' );
     $this->Length = $length;
     //$this->fontpath = dirname($_SERVER['SCRIPT_FILENAME']) . '/fonts/';
     $this->fontpath = JPATH_SITE . DS . 'components' . DS . 'com_forme' . DS . 'fonts' . DS;
     //echo $this->fontpath;die();
     $this->fonts = $this->getFonts();
     $errormgr = new error();
     if ($this->fonts == FALSE) {
         //$errormgr = new error;
         $errormgr->addError('No fonts available!');
         $errormgr->displayError();
         die;
     }
     if (function_exists('imagettftext') == FALSE) {
         $errormgr->addError('Function imagettftext does not exist');
         $errormgr->displayError();
         die;
     }
     $this->stringGenerate();
     $this->makeCaptcha();
 }