From 1ba41c4421f3639a39c1fbbcdc3ec5d40595792a Mon Sep 17 00:00:00 2001 From: Romain Neutron Date: Wed, 4 Dec 2013 08:20:58 +0100 Subject: [PATCH] Fix latest merge --- lib/Alchemy/Phrasea/Core/Version.php | 2 -- lib/classes/patch/383alpha1a.php | 20 ++++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/Alchemy/Phrasea/Core/Version.php b/lib/Alchemy/Phrasea/Core/Version.php index 28af745b0f..a22a92e121 100644 --- a/lib/Alchemy/Phrasea/Core/Version.php +++ b/lib/Alchemy/Phrasea/Core/Version.php @@ -15,8 +15,6 @@ class Version { protected static $number = '3.9.0-alpha.9'; protected static $name = 'Epanterias'; - protected static $number = '3.8.3-alpha.1'; - protected static $name = 'Diplodocus'; public static function getNumber() { diff --git a/lib/classes/patch/383alpha1a.php b/lib/classes/patch/383alpha1a.php index 269e00c837..3e95e083cb 100644 --- a/lib/classes/patch/383alpha1a.php +++ b/lib/classes/patch/383alpha1a.php @@ -10,6 +10,7 @@ */ use Alchemy\Phrasea\Application; +use Doctrine\ORM\Query\ResultSetMapping; class patch_383alpha1a implements patchInterface { @@ -56,6 +57,10 @@ class patch_383alpha1a implements patchInterface */ public function apply(base $appbox, Application $app) { + if (!$this->hasSessionTable($app)) { + return true; + } + // Remove deleted users sessions $sql = 'SELECT s.id FROM `Sessions` s, usr u WHERE u.usr_login LIKE "(#deleted%" AND u.usr_id = s.usr_id'; $stmt = $appbox->get_connection()->prepare($sql); @@ -81,4 +86,19 @@ class patch_383alpha1a implements patchInterface return true; } + + private function hasSessionTable(Application $app) + { + $rsm = (new ResultSetMapping())->addScalarResult('Name', 'Name'); + $ret = false; + + foreach ($app['EM']->createNativeQuery('SHOW TABLE STATUS', $rsm)->getResult() as $row) { + if ('Session' === $row['Name']) { + $ret = true; + break; + } + } + + return $ret; + } }