]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 25 Feb 2011 13:16:26 +0000 (13:16 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 25 Feb 2011 13:16:26 +0000 (13:16 +0000)
inc/commons/class.common.core.php
inc/config.inc.php
inc/postconfig.inc.php [new file with mode: 0644]
inc/prepend.php
inc/ws/Controlleur/class.ws.conversion.session.php
inc/ws/Controlleur/class.ws.flash.php
inc/ws/Metier/class.ws.document.php

index 5f5f47f64c7ed2a582784a80b2127fe86153e57d..c9b93a0cb23e0bd4589fc1f5424626103e01b630 100644 (file)
@@ -66,12 +66,12 @@ class commonCore extends cubeCore {
                // On regarde si user_email et user_password ont été postées\r
                // Si c'est le cas, on les copie dans la session\r
                $_SESSION['errorLogin'] = false;\r
-               if (isset($_POST['user_email'])) {\r
-                       $_SESSION['user_email'] = $_POST['user_email'];\r
+               if (isset($_REQUEST['user_email'])) {\r
+                       $_SESSION['user_email'] = $_REQUEST['user_email'];\r
                }\r
 \r
-               if (isset($_POST['user_password'])) {\r
-                       $_SESSION['user_password'] = $_POST['user_password'];\r
+               if (isset($_REQUEST['user_password'])) {\r
+                       $_SESSION['user_password'] = $_REQUEST['user_password'];\r
                }\r
                // Maintenant on vérifie si ces variables sont présentes dans la session\r
                if (!isset($_SESSION['user_email']) || !isset($_SESSION['user_password'])) {\r
index 78e62e52f1816a6f0734bfd2195154c1f3dca191..e501b0109aaed579d479198edb938d10a8c83e44 100644 (file)
@@ -3,15 +3,10 @@
 define('DB_DRIVER', 'mysql');\r
 define('ROOT', dirname(__FILE__) . '/..');\r
 \r
-$dev = stristr($_SERVER['HTTP_HOST'], 'dev.');\r
-$extranet = stristr($_SERVER['HTTP_HOST'], 'cubedesigners.com');\r
-$ws = stristr($_SERVER['HTTP_HOST'], 'fluidbook.com');\r
-\r
 define('WEBROOT', '');\r
 define('SITE_PATH', WEBROOT . '/');\r
 define('FONT_PATH', ROOT . '/fluidbook/fonts/');\r
 define('FTPROOT', '/home/extranet/ftp/');\r
-define('DEV', $dev);\r
 define('WINDOWS', false);\r
 define('CONVERTER_PATH', '/bin:/usr/bin:/usr/local/bin:/home/extranet/dev/fluidbook/tools:/usr/local/flex:/usr/local/secureSWF');\r
 define('MXMLC_PATH', '/usr/local/flex/bin/mxmlc');\r
@@ -19,36 +14,10 @@ define('AS3_SOURCES', '/home/ws/sources/as3');
 \r
 define('MONITOR_PERFS', true);\r
 \r
-if ($dev) {\r
-       // Définition de la configuration sur l'environnement de développement\r
-       define('DB_HOST', ':/var/run/mysqld/mysqld.sock');\r
-       define('DB_NAME', 'extranet_dev');\r
-       define('DB_USER', 'ws');\r
-       define('DB_PASSWORD', '*arica*2');\r
-\r
-       define('EXTRANET_URL', 'http://dev.extranet.cubedesigners.com');\r
-       define('WS_URL', 'http://dev.ws.fluidbook.com');\r
-} else {\r
-       // Définition des variables dans l'environnement de production\r
-       define('DB_HOST', ':/var/run/mysqld/mysqld.sock');\r
-       define('DB_NAME', 'extranet');\r
-       define('DB_USER', 'ws');\r
-       define('DB_PASSWORD', '*arica*2');\r
-\r
-       define('EXTRANET_URL', 'http://extranet.cubedesigners.com');\r
-       define('WS_URL', 'http://workshop.fluidbook.com');\r
-}\r
-\r
-if ($ws) {\r
-       define('MODE', 'ws');\r
-} elseif ($extranet) {\r
-       define('MODE', 'extranet');\r
-}\r
 \r
 define('PLAYER_SOURCES', AS3_SOURCES . '/com/fluidbook/player');\r
 define('COMPOSER_SOURCES', AS3_SOURCES . '/com/fluidbook/ws');\r
 \r
-define('STATIC_SERVER', 'http://static.' . $_SERVER['HTTP_HOST'] . WEBROOT);\r
 // Workshop\r
 define('THEMES', WEBROOT . '/fluidbook/themes/');\r
 define('ICONS', WEBROOT . '/fluidbook/icones/');\r
@@ -71,15 +40,6 @@ define('L10N', dirname(__FILE__) . '/../l10n');
 \r
 define('JS_PATH', WEBROOT . '/js');\r
 define('JS', JS_PATH);\r
-define('CSS_PATH', WEBROOT . '/style/' . MODE);\r
-define('STYLE', CSS_PATH);\r
-define('SYSSTYLE', ROOT . '/style/' . MODE);\r
-\r
-define('SYSIMG', ROOT . '/images/' . MODE);\r
-define('IMG', WEBROOT . '/images/' . MODE);\r
-\r
-define('TYPOGRAPHP_PATH', ROOT . '/typo/' . MODE);\r
-define('TYPOGRAPHP_WEBROOT', IMG . '/typographp');\r
 \r
 define('JOURNEE', 8);\r
 define('TAUX_JOURNALIER', 500);\r
diff --git a/inc/postconfig.inc.php b/inc/postconfig.inc.php
new file mode 100644 (file)
index 0000000..8ab1e8e
--- /dev/null
@@ -0,0 +1,47 @@
+<?php\r
+\r
+$dev = stristr($_SERVER['HTTP_HOST'], 'dev.');\r
+$extranet = stristr($_SERVER['HTTP_HOST'], 'cubedesigners.com');\r
+$ws = stristr($_SERVER['HTTP_HOST'], 'fluidbook.com');\r
+\r
+define('DEV', $dev);\r
+\r
+if ($dev) {\r
+       // Définition de la configuration sur l'environnement de développement\r
+       define('DB_HOST', ':/var/run/mysqld/mysqld.sock');\r
+       define('DB_NAME', 'extranet_dev');\r
+       define('DB_USER', 'ws');\r
+       define('DB_PASSWORD', '*arica*2');\r
+\r
+       define('EXTRANET_URL', 'http://dev.extranet.cubedesigners.com');\r
+       define('WS_URL', 'http://dev.ws.fluidbook.com');\r
+} else {\r
+       // Définition des variables dans l'environnement de production\r
+       define('DB_HOST', ':/var/run/mysqld/mysqld.sock');\r
+       define('DB_NAME', 'extranet');\r
+       define('DB_USER', 'ws');\r
+       define('DB_PASSWORD', '*arica*2');\r
+\r
+       define('EXTRANET_URL', 'http://extranet.cubedesigners.com');\r
+       define('WS_URL', 'http://workshop.fluidbook.com');\r
+}\r
+\r
+if ($ws) {\r
+       define('MODE', 'ws');\r
+} elseif ($extranet) {\r
+       define('MODE', 'extranet');\r
+}\r
+\r
+define('STATIC_SERVER', 'http://static.' . $_SERVER['HTTP_HOST'] . WEBROOT);\r
+\r
+define('CSS_PATH', WEBROOT . '/style/' . MODE);\r
+define('STYLE', CSS_PATH);\r
+define('SYSSTYLE', ROOT . '/style/' . MODE);\r
+\r
+define('SYSIMG', ROOT . '/images/' . MODE);\r
+define('IMG', WEBROOT . '/images/' . MODE);\r
+\r
+define('TYPOGRAPHP_PATH', ROOT . '/typo/' . MODE);\r
+define('TYPOGRAPHP_WEBROOT', IMG . '/typographp');\r
+\r
+?>
\ No newline at end of file
index 59c217b0f56e671354a4404d221dc92df590ab2e..209f36fe04aa75b099bf7e7a88d9a81897b5e4fd 100644 (file)
@@ -3,6 +3,9 @@
 require_once(dirname(__FILE__) . '/config.inc.php');\r
 // Chargement de la classe cube\r
 require_once(dirname(__FILE__) . '/cube/_common.php');\r
+// Inclusion de la post configuration\r
+require_once(dirname(__FILE__) . '/postconfig.inc.php');\r
+\r
 // Inclusion des classes communes\r
 require_once(dirname(__FILE__) . '/commons/_common.php');\r
 \r
index e40c29c46eceab8a3a8e1b3e7660bf61993d2c5f..0405e734e50b32f519a2849e1cb657b3c90f1d0a 100644 (file)
@@ -19,6 +19,9 @@ class wsConversionSession {
        protected $bookId = null;\r
        public $reload = false;\r
 \r
+       protected $nb_threads = 4;\r
+       protected $threads;\r
+\r
        public function __construct($guid)\r
        {\r
                $this->guid = $guid;\r
@@ -58,9 +61,23 @@ class wsConversionSession {
                return $this->documents[$id];\r
        }\r
 \r
+       protected function initThreads()\r
+       {\r
+               if (!cubeThread::available()) {\r
+                       return;\r
+               }\r
+               $this->threads = array();\r
+               for ($i = 0;$i <= $this->nb_threads;$i++) {\r
+                       $this->threads[] = new cubeThread();\r
+               }\r
+       }\r
+\r
        public function process()\r
        {\r
                global $core;\r
+\r
+               $this->initThreads();\r
+\r
                $this->processing = true;\r
                $this->initDocuments();\r
                $this->serialize();\r
@@ -86,8 +103,19 @@ class wsConversionSession {
                        foreach($docPages as $i => $page) {\r
                                $this->currentDocPage = $i + 1;\r
                                $this->totalDocPage = count($docPages);\r
+\r
                                $this->setProgress(($this->processedPages / $this->totalPages) * 100);\r
-                               $this->currentDoc->processOnePage($page, true);\r
+\r
+                               if (cubeThread::available()) {\r
+                                       $t = $this->threads[$i % $this->nb_threads];\r
+                                       while ($t->isAlive()) {\r
+                                               usleep(500000);\r
+                                       }\r
+                                       $t->setRunnable(array($this->currentDoc, 'processOnePage'));\r
+                                       $t->start($page, true);\r
+                               } else {\r
+                                       $this->currentDoc->processOnePage($page, true);\r
+                               }\r
                                $this->processedPages++;\r
                        }\r
                        $doc = $dao->updateFromObject($doc);\r
index 9684b2c874458643602bad28d2b333fced9eee21..11c5cd463369746e5db2cffc323cd1e8940ed0c1 100644 (file)
@@ -100,20 +100,27 @@ class wsFlash extends cubeFlashGateway {
                unset($_SESSION['conversionSessionReload']);\r
                $session->serialize();\r
 \r
-               $http = new cubeHTTP($_SERVER['HTTP_HOST']);\r
-               $http->setDataTimeout(1);\r
-               try {\r
-                       $http->post('/flash/processConversionSessionAsync', array('user_email' => $_SESSION['user_email'], 'user_password' => $_SESSION['user_password'], 'sessionConversionGUID' => $sessionConversionGUID));\r
-               }\r
-               catch(Exception $e) {\r
-               }\r
+               $php = new cubeCommandLine('php');\r
+               $php->setPath(CONVERTER_PATH);\r
+               $php->setArg('f', ROOT . '/index.php');\r
+               $php->setManualArg('--');\r
+               $php->setArg('user_email', $_SESSION['user_email']);\r
+               $php->setArg('user_password', $_SESSION['user_password']);\r
+               $php->setArg('sessionConversionGUID', $sessionConversionGUID);\r
+               $php->setArg('PATH_INFO', '/flash/processConversionSessionAsync');\r
+               $php->setArg('HTTP_HOST', $_SERVER['HTTP_HOST']);\r
+               $php->setNohup(true);\r
+               $php->execute('exec');\r
+\r
+               $this->xml->addChild('command', html::escapeHTML($php->command));\r
+               exit;\r
        }\r
 \r
        public function processConversionSessionAsync()\r
        {\r
                cubePHP::neverStop();\r
                try {\r
-                       $conversion = wsConversionSession::openFromGUID($_POST['sessionConversionGUID']);\r
+                       $conversion = wsConversionSession::openFromGUID($_REQUEST['sessionConversionGUID']);\r
                        $conversion->process();\r
                }\r
                catch(Exception $e) {\r
index 12f389d247095dffbb51673fd6b460ddc7face1a..537d9823907f5796ad1a7af94697bfb4946be004 100644 (file)
@@ -74,6 +74,8 @@ class wsDocument extends cubeMetier {
                if (is_null($this->conversionInfos)) {\r
                        $this->conversionInfos = new wsDocumentConversionInfos();\r
                }\r
+\r
+\r
        }\r
 \r
        public function copyOriginalFromUpload($tmp_file)\r
@@ -306,10 +308,6 @@ class wsDocument extends cubeMetier {
        {\r
                // $this->makeRealShot($page);\r
                if ($force) {\r
-                       if ($page % 100 == 0) {\r
-                               sleep(1);\r
-                       }\r
-\r
                        $this->addToLog('Processing page #' . $page);\r
                        $this->makeMiniShot($page);\r
                        $this->makeSWFFiles($page);\r