diff --git a/lib/classes/patch/303.class.php b/lib/classes/patch/303.class.php
index 314e257ea0..22a0696d8e 100644
--- a/lib/classes/patch/303.class.php
+++ b/lib/classes/patch/303.class.php
@@ -18,131 +18,131 @@
class patch_303 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.0.3';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.0.3';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$appbox)
- {
- $this->update_users_log_datas($appbox);
- $this->update_users_search_datas($appbox);
-
- return true;
- }
-
- /**
- *
- * @return patch_303
- */
- function update_users_log_datas(appbox &$appbox)
- {
- $col = array('fonction', 'societe', 'activite', 'pays');
-
- $f_req = implode(', ', $col);
-
- $sql = "SELECT usr_id, " . $f_req . " FROM usr";
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- foreach ($rs as $row)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $tab_usr[$row['usr_id']] = array(
- 'fonction' => $row['fonction'],
- 'societe' => $row['societe'],
- 'activite' => $row['activite'],
- 'pays' => $row['pays']
- );
+ return $this->release;
}
- foreach ($appbox->get_databoxes() as $databox)
+ public function require_all_upgrades()
{
- foreach ($tab_usr as $id => $columns)
- {
- $f_req = array();
- $params = array(':usr_id' => $id, ':site' => $appbox->get_registry()->get('GV_sit'));
- foreach ($columns as $column => $value)
- {
- $column = trim($column);
- $f_req[] = $column . " = :" . $column;
- $params[':' . $column] = $value;
- }
- $f_req = implode(', ', $f_req);
- $sql = "UPDATE log SET " . $f_req . "
- WHERE usrid = :usr_id AND site = :site";
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute($params);
+ return false;
+ }
+
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
+
+ function apply(base &$appbox)
+ {
+ $this->update_users_log_datas($appbox);
+ $this->update_users_search_datas($appbox);
+
+ return true;
+ }
+
+ /**
+ *
+ * @return patch_303
+ */
+ function update_users_log_datas(appbox &$appbox)
+ {
+ $col = array('fonction', 'societe', 'activite', 'pays');
+
+ $f_req = implode(', ', $col);
+
+ $sql = "SELECT usr_id, " . $f_req . " FROM usr";
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
$stmt->closeCursor();
- }
+
+ foreach ($rs as $row)
+ {
+ $tab_usr[$row['usr_id']] = array(
+ 'fonction' => $row['fonction'],
+ 'societe' => $row['societe'],
+ 'activite' => $row['activite'],
+ 'pays' => $row['pays']
+ );
+ }
+
+ foreach ($appbox->get_databoxes() as $databox)
+ {
+ foreach ($tab_usr as $id => $columns)
+ {
+ $f_req = array();
+ $params = array(':usr_id' => $id, ':site' => $appbox->get_registry()->get('GV_sit'));
+ foreach ($columns as $column => $value)
+ {
+ $column = trim($column);
+ $f_req[] = $column . " = :" . $column;
+ $params[':' . $column] = $value;
+ }
+ $f_req = implode(', ', $f_req);
+ $sql = "UPDATE log SET " . $f_req . "
+ WHERE usrid = :usr_id AND site = :site";
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute($params);
+ $stmt->closeCursor();
+ }
+ }
+
+ return $this;
}
- return $this;
- }
-
- /**
- *
- * @return patch_303
- */
- function update_users_search_datas(appbox &$appbox)
- {
- foreach ($appbox->get_databoxes() as $databox)
+ /**
+ *
+ * @return patch_303
+ */
+ function update_users_search_datas(appbox &$appbox)
{
- $date_debut = '0000-00-00 00:00:00';
+ foreach ($appbox->get_databoxes() as $databox)
+ {
+ $date_debut = '0000-00-00 00:00:00';
- $sql = 'SELECT MAX(date) as debut FROM `log_search`';
+ $sql = 'SELECT MAX(date) as debut FROM `log_search`';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $row = $stmt->fetch(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $row = $stmt->fetch(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
- if ($row)
- {
- $date_debut = $row['debut'];
- }
+ if ($row)
+ {
+ $date_debut = $row['debut'];
+ }
- $sql = 'REPLACE INTO log_search
- (SELECT null as id, logid as log_id, date, askquest as search,
- nbrep as results, coll_id
- FROM quest
- WHERE `date` > :date)';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute(array(':date' => $date_debut));
- $stmt->closeCursor();
+ $sql = 'REPLACE INTO log_search
+ (SELECT null as id, logid as log_id, date, askquest as search,
+ nbrep as results, coll_id
+ FROM quest
+ WHERE `date` > :date)';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute(array(':date' => $date_debut));
+ $stmt->closeCursor();
+ }
+
+ return $this;
}
- return $this;
- }
-
}
diff --git a/lib/classes/patch/304.class.php b/lib/classes/patch/304.class.php
index 5ac77b7277..ddbff95d0b 100644
--- a/lib/classes/patch/304.class.php
+++ b/lib/classes/patch/304.class.php
@@ -18,61 +18,61 @@
class patch_304 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.0.4';
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.0.4';
- /**
- *
- * @var Array
- */
- private $concern = array(base::DATA_BOX);
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::DATA_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$databox)
- {
- $sql = 'SELECT id FROM pref WHERE prop = "indexes"';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $rowcount = $stmt->rowCount();
- $stmt->closeCursor();
-
- if ($rowcount == 0)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $sql = 'INSERT INTO pref
- (id, prop, value, locale, updated_on, created_on)
- VALUES
- (null, "indexes", "1", "", NOW(), NOW())';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ return $this->release;
}
- return true;
- }
+ public function require_all_upgrades()
+ {
+ return false;
+ }
+
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
+
+ function apply(base &$databox)
+ {
+ $sql = 'SELECT id FROM pref WHERE prop = "indexes"';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rowcount = $stmt->rowCount();
+ $stmt->closeCursor();
+
+ if ($rowcount == 0)
+ {
+ $sql = 'INSERT INTO pref
+ (id, prop, value, locale, updated_on, created_on)
+ VALUES
+ (null, "indexes", "1", "", NOW(), NOW())';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+ }
+
+ return true;
+ }
}
diff --git a/lib/classes/patch/305.class.php b/lib/classes/patch/305.class.php
index 3d3da0cfe6..814cd21884 100644
--- a/lib/classes/patch/305.class.php
+++ b/lib/classes/patch/305.class.php
@@ -18,52 +18,52 @@
class patch_305 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.0.5';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.0.5';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
+ /**
+ *
+ * @return string
+ */
+ function get_release()
+ {
+ return $this->release;
+ }
- public function require_all_upgrades()
- {
- return false;
- }
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- function apply(base &$appbox)
- {
- $sql = 'REPLACE INTO usr_settings
- (SELECT usr_id, "start_page_query" as prop, last_query as value
- FROM usr
- WHERE model_of="0" AND usr_login NOT LIKE "(#deleted_%")';
+ function apply(base &$appbox)
+ {
+ $sql = 'REPLACE INTO usr_settings
+ (SELECT usr_id, "start_page_query" as prop, last_query as value
+ FROM usr
+ WHERE model_of="0" AND usr_login NOT LIKE "(#deleted_%")';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
- return true;
- }
+ return true;
+ }
}
diff --git a/lib/classes/patch/306.class.php b/lib/classes/patch/306.class.php
index 9f212b0e56..dfff7728d2 100644
--- a/lib/classes/patch/306.class.php
+++ b/lib/classes/patch/306.class.php
@@ -18,69 +18,69 @@
class patch_306 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.0.6';
- /**
- *
- * @var Array
- */
- private $concern = array(base::DATA_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.0.6';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::DATA_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$databox)
- {
- $dom = $databox->get_dom_structure();
- $xpath = $databox->get_xpath_structure();
- $res = $xpath->query('/record/subdefs/preview/type');
-
- foreach ($res as $type)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- if ($type->nodeValue == 'video')
- {
- $preview = $type->parentNode;
-
- $to_add = array(
- 'acodec' => 'faac',
- 'vcodec' => 'libx264',
- 'bitrate' => '700'
- );
- foreach ($to_add as $k => $v)
- {
- $el = $dom->createElement($k);
- $el->appendChild($dom->createTextNode($v));
- $preview->appendChild($el);
- }
- }
+ return $this->release;
}
- $databox->saveStructure($dom);
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- return true;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
+
+ function apply(base &$databox)
+ {
+ $dom = $databox->get_dom_structure();
+ $xpath = $databox->get_xpath_structure();
+ $res = $xpath->query('/record/subdefs/preview/type');
+
+ foreach ($res as $type)
+ {
+ if ($type->nodeValue == 'video')
+ {
+ $preview = $type->parentNode;
+
+ $to_add = array(
+ 'acodec' => 'faac',
+ 'vcodec' => 'libx264',
+ 'bitrate' => '700'
+ );
+ foreach ($to_add as $k => $v)
+ {
+ $el = $dom->createElement($k);
+ $el->appendChild($dom->createTextNode($v));
+ $preview->appendChild($el);
+ }
+ }
+ }
+
+ $databox->saveStructure($dom);
+
+ return true;
+ }
}
diff --git a/lib/classes/patch/310.class.php b/lib/classes/patch/310.class.php
index 0fc5401210..462471fed6 100644
--- a/lib/classes/patch/310.class.php
+++ b/lib/classes/patch/310.class.php
@@ -18,160 +18,160 @@
class patch_310 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.1.0';
- /**
- *
- * @var Array
- */
- private $concern = array(base::DATA_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.1.0';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::DATA_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$databox)
- {
- $dom_structure = $databox->get_dom_structure();
- $sx_structure = $databox->get_sxml_structure();
-
- $subdefgroups = $sx_structure->xpath('//subdefgroup');
-
- if (count($subdefgroups) > 0)
-
- return;
-
- $subdefs = $sx_structure->xpath('/record/subdefs');
-
- if (count($subdefs) > 1)
- exit('La structure semble erronnée, veuillez la corriger');
-
- $new_subefs_node = $dom_structure->createElement('subdefs');
-
- $subdefs_groups = array();
-
- foreach ($subdefs[0] as $k => $v)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $type = isset($v->type) ? (string) $v->type : 'image';
-
- if ($type == 'image')
- $media = 'image';
- elseif ($type == 'audio')
- {
- if ($v->method == 'MP3')
- $media = "audio";
- else
- $media = "image";
- }
- elseif ($type == 'video')
- {
- if ($v->method == 'AnimGIF')
- $media = "gif";
- elseif ($v->method == 'JPG')
- $media = "image";
- else
- $media = 'video';
- }
-
- if (!isset($subdefs_groups[$type]))
- {
- $subdefs_groups[$type] = $dom_structure->createElement('subdefgroup');
- $subdefs_groups[$type]->setAttribute('name', $type);
- }
-
- $dom_subdef = $dom_structure->createElement('subdef');
- $class = ($k == 'preview' ? 'preview' : 'thumbnail');
- $dom_subdef->setAttribute('class', $class);
- $dom_subdef->setAttribute('name', $k);
- $dom_subdef->setAttribute('downloadable', 'true');
-
- foreach ($v as $tag => $value)
- {
- if (in_array($tag, array('type', 'name')))
- continue;
-
- $dom_element = $dom_structure->createElement($tag, $value);
- $dom_subdef->appendChild($dom_element);
- }
- $dom_element = $dom_structure->createElement('mediatype', $media);
- $dom_subdef->appendChild($dom_element);
-
- if ($media == 'video')
- {
- $dom_element = $dom_structure->createElement('threads', '1');
- $dom_subdef->appendChild($dom_element);
- }
-
-
- //preview, thumbnail et thumbnailGIF
- if ($k == 'preview')
- {
- $dom_element =
- $dom_structure->createElement('label', 'Prévisualisation');
- $dom_element->setAttribute('xml:lang', 'fr');
- $dom_subdef->appendChild($dom_element);
- $dom_element = $dom_structure->createElement('label', 'Preview');
- $dom_element->setAttribute('lang', 'en');
- $dom_subdef->appendChild($dom_element);
- }
- elseif ($k == 'thumbnailGIF')
- {
- $dom_element = $dom_structure->createElement('label', 'Animation GIF');
- $dom_element->setAttribute('lang', 'fr');
- $dom_subdef->appendChild($dom_element);
- $dom_element = $dom_structure->createElement('label', 'GIF animation');
- $dom_element->setAttribute('lang', 'en');
- $dom_subdef->appendChild($dom_element);
- }
- else
- {
- $dom_element = $dom_structure->createElement('label', 'Imagette');
- $dom_element->setAttribute('lang', 'fr');
- $dom_subdef->appendChild($dom_element);
- $dom_element = $dom_structure->createElement('label', 'Thumbnail');
- $dom_element->setAttribute('lang', 'en');
- $dom_subdef->appendChild($dom_element);
- }
-
- $subdefs_groups[$type]->appendChild($dom_subdef);
+ return $this->release;
}
- foreach ($subdefs_groups as $type => $node)
- $new_subefs_node->appendChild($node);
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- $record = $dom_structure->documentElement;
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- $record->replaceChild(
- $new_subefs_node,
- $record->getElementsByTagName('subdefs')->item(0)
- );
+ function apply(base &$databox)
+ {
+ $dom_structure = $databox->get_dom_structure();
+ $sx_structure = $databox->get_sxml_structure();
- $databox->saveStructure($dom_structure);
+ $subdefgroups = $sx_structure->xpath('//subdefgroup');
- return true;
- }
+ if (count($subdefgroups) > 0)
+
+ return;
+
+ $subdefs = $sx_structure->xpath('/record/subdefs');
+
+ if (count($subdefs) > 1)
+ exit('La structure semble erronnée, veuillez la corriger');
+
+ $new_subefs_node = $dom_structure->createElement('subdefs');
+
+ $subdefs_groups = array();
+
+ foreach ($subdefs[0] as $k => $v)
+ {
+ $type = isset($v->type) ? (string) $v->type : 'image';
+
+ if ($type == 'image')
+ $media = 'image';
+ elseif ($type == 'audio')
+ {
+ if ($v->method == 'MP3')
+ $media = "audio";
+ else
+ $media = "image";
+ }
+ elseif ($type == 'video')
+ {
+ if ($v->method == 'AnimGIF')
+ $media = "gif";
+ elseif ($v->method == 'JPG')
+ $media = "image";
+ else
+ $media = 'video';
+ }
+
+ if (!isset($subdefs_groups[$type]))
+ {
+ $subdefs_groups[$type] = $dom_structure->createElement('subdefgroup');
+ $subdefs_groups[$type]->setAttribute('name', $type);
+ }
+
+ $dom_subdef = $dom_structure->createElement('subdef');
+ $class = ($k == 'preview' ? 'preview' : 'thumbnail');
+ $dom_subdef->setAttribute('class', $class);
+ $dom_subdef->setAttribute('name', $k);
+ $dom_subdef->setAttribute('downloadable', 'true');
+
+ foreach ($v as $tag => $value)
+ {
+ if (in_array($tag, array('type', 'name')))
+ continue;
+
+ $dom_element = $dom_structure->createElement($tag, $value);
+ $dom_subdef->appendChild($dom_element);
+ }
+ $dom_element = $dom_structure->createElement('mediatype', $media);
+ $dom_subdef->appendChild($dom_element);
+
+ if ($media == 'video')
+ {
+ $dom_element = $dom_structure->createElement('threads', '1');
+ $dom_subdef->appendChild($dom_element);
+ }
+
+
+ //preview, thumbnail et thumbnailGIF
+ if ($k == 'preview')
+ {
+ $dom_element =
+ $dom_structure->createElement('label', 'Prévisualisation');
+ $dom_element->setAttribute('xml:lang', 'fr');
+ $dom_subdef->appendChild($dom_element);
+ $dom_element = $dom_structure->createElement('label', 'Preview');
+ $dom_element->setAttribute('lang', 'en');
+ $dom_subdef->appendChild($dom_element);
+ }
+ elseif ($k == 'thumbnailGIF')
+ {
+ $dom_element = $dom_structure->createElement('label', 'Animation GIF');
+ $dom_element->setAttribute('lang', 'fr');
+ $dom_subdef->appendChild($dom_element);
+ $dom_element = $dom_structure->createElement('label', 'GIF animation');
+ $dom_element->setAttribute('lang', 'en');
+ $dom_subdef->appendChild($dom_element);
+ }
+ else
+ {
+ $dom_element = $dom_structure->createElement('label', 'Imagette');
+ $dom_element->setAttribute('lang', 'fr');
+ $dom_subdef->appendChild($dom_element);
+ $dom_element = $dom_structure->createElement('label', 'Thumbnail');
+ $dom_element->setAttribute('lang', 'en');
+ $dom_subdef->appendChild($dom_element);
+ }
+
+ $subdefs_groups[$type]->appendChild($dom_subdef);
+ }
+
+ foreach ($subdefs_groups as $type => $node)
+ $new_subefs_node->appendChild($node);
+
+ $record = $dom_structure->documentElement;
+
+ $record->replaceChild(
+ $new_subefs_node,
+ $record->getElementsByTagName('subdefs')->item(0)
+ );
+
+ $databox->saveStructure($dom_structure);
+
+ return true;
+ }
}
diff --git a/lib/classes/patch/3102.class.php b/lib/classes/patch/3102.class.php
index 8f4c626b2e..9f6360fb30 100644
--- a/lib/classes/patch/3102.class.php
+++ b/lib/classes/patch/3102.class.php
@@ -18,79 +18,79 @@
class patch_3102 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.1.20';
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.1.20';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX, base::DATA_BOX);
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX, base::DATA_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$base)
- {
- $conn = connection::getPDOConnection();
-
- $sql = 'SELECT task_id FROM task2 WHERE `class` = "task_period_upgradetov31"';
-
- $stmt = $conn->prepare($sql);
- $stmt->execute();
- $rowcount = $stmt->rowCount();
- $stmt->closeCursor();
-
- if ($rowcount == 0)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $sql = 'INSERT INTO `task2`
- (`task_id`, `usr_id_owner`, `pid`, `status`, `crashed`,
- `active`, `name`, `last_exec_time`, `class`, `settings`, `completed`)
- VALUES
- (null, 0, 0, "stopped", 0, 1, "upgrade to v3.1",
- "0000-00-00 00:00:00", "task_period_upgradetov31",
- "' .
- '", -1)';
-
- $stmt = $conn->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ return $this->release;
}
-
- if ($base->get_base_type() == base::DATA_BOX)
+ public function require_all_upgrades()
{
- $sql = 'UPDATE record SET sha256 = ""
- WHERE sha256 IS NULL AND parent_record_id = 0';
- $stmt = $base->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ return false;
}
- return true;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
+
+ function apply(base &$base)
+ {
+ $conn = connection::getPDOConnection();
+
+ $sql = 'SELECT task_id FROM task2 WHERE `class` = "task_period_upgradetov31"';
+
+ $stmt = $conn->prepare($sql);
+ $stmt->execute();
+ $rowcount = $stmt->rowCount();
+ $stmt->closeCursor();
+
+ if ($rowcount == 0)
+ {
+ $sql = 'INSERT INTO `task2`
+ (`task_id`, `usr_id_owner`, `pid`, `status`, `crashed`,
+ `active`, `name`, `last_exec_time`, `class`, `settings`, `completed`)
+ VALUES
+ (null, 0, 0, "stopped", 0, 1, "upgrade to v3.1",
+ "0000-00-00 00:00:00", "task_period_upgradetov31",
+ "' .
+ '", -1)';
+
+ $stmt = $conn->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+ }
+
+
+ if ($base->get_base_type() == base::DATA_BOX)
+ {
+ $sql = 'UPDATE record SET sha256 = ""
+ WHERE sha256 IS NULL AND parent_record_id = 0';
+ $stmt = $base->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+ }
+
+ return true;
+ }
}
diff --git a/lib/classes/patch/3103.class.php b/lib/classes/patch/3103.class.php
index 9a1ed7964c..f103d6b7ba 100644
--- a/lib/classes/patch/3103.class.php
+++ b/lib/classes/patch/3103.class.php
@@ -18,133 +18,133 @@
class patch_3103 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.1.0';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.1.0';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return true;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$appbox)
- {
- $conn = $appbox->get_connection();
-
- $validate_process = array();
-
- $sql = 'SELECT id, ssel_id, usr_id FROM validate';
- $stmt = $conn->prepare($sql);
- $stmt->execute();
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- foreach ($rs as $row)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $validate_process[$row['ssel_id']][$row['usr_id']] = $row['id'];
+ return $this->release;
}
- $sql = 'SELECT u.*, s.ssel_id, c.base_id, c.record_id , s.usr_id as pushFrom
- FROM sselcontusr u, sselcont c, ssel s' .
- ' WHERE s.ssel_id = c.ssel_id AND u.sselcont_id = c.sselcont_id' .
- ' AND s.deleted="0" ' .
- ' ORDER BY s.ssel_id ASC, c.sselcont_id ASC';
-
- $stmt = $conn->prepare($sql);
- $stmt->execute();
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- foreach ($rs as $row)
+ public function require_all_upgrades()
{
- if (!isset($validate_process[$row['ssel_id']]) ||
- !array_key_exists($row['usr_id'], $validate_process[$row['ssel_id']])
- )
- {
+ return true;
+ }
- $sql = 'INSERT INTO validate
- (id, ssel_id, created_on, updated_on, expires_on, last_reminder,
- usr_id, confirmed, can_agree, can_see_others)
- VALUES
- (null, :ssel_id, :created_on, :updated_on, :expires_on, null,
- :usr_id, "0", :can_agree, :can_see)';
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
+ function apply(base &$appbox)
+ {
+ $conn = $appbox->get_connection();
+
+ $validate_process = array();
+
+ $sql = 'SELECT id, ssel_id, usr_id FROM validate';
$stmt = $conn->prepare($sql);
-
- $expire = new DateTime($row['dateFin']);
- $expire = $expire->format('u') == 0 ?
- null : phraseadate::format_mysql($expire);
-
-
- $params = array(
- ':ssel_id' => $row['ssel_id']
- , ':created_on' => $row['date_maj']
- , ':updated_on' => $row['date_maj']
- , ':expires_on' => $expire
- , ':usr_id' => $row['usr_id']
- , ':can_agree' => $row['canAgree']
- , ':can_see' => $row['canSeeOther']
- );
- $stmt->execute($params);
-
- $validate_process[$row['ssel_id']][$row['usr_id']] = $conn->lastInsertId();
+ $stmt->execute();
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
$stmt->closeCursor();
- $sbas_id = phrasea::sbasFromBas($row['base_id']);
- $record = new record_adapter($sbas_id, $row['record_id']);
+ foreach ($rs as $row)
+ {
+ $validate_process[$row['ssel_id']][$row['usr_id']] = $row['id'];
+ }
- $user = User_Adapter::getInstance($row['usr_id'], $appbox);
- $pusher = User_Adapter::getInstance($row['pushFrom'], $appbox);
+ $sql = 'SELECT u.*, s.ssel_id, c.base_id, c.record_id , s.usr_id as pushFrom
+ FROM sselcontusr u, sselcont c, ssel s' .
+ ' WHERE s.ssel_id = c.ssel_id AND u.sselcont_id = c.sselcont_id' .
+ ' AND s.deleted="0" ' .
+ ' ORDER BY s.ssel_id ASC, c.sselcont_id ASC';
- if ($row['canHD'])
- $user->ACL()->grant_hd_on($record, $pusher, 'validate');
- else
- $user->ACL()->grant_preview_on($record, $pusher, 'validate');
- }
+ $stmt = $conn->prepare($sql);
+ $stmt->execute();
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
- $sql = 'REPLACE INTO validate_datas
- (id, validate_id, sselcont_id, updated_on, agreement)
- VALUES
- (null, :validate_id, :sselcont_id, :updated_on, :agreement)';
+ foreach ($rs as $row)
+ {
+ if (!isset($validate_process[$row['ssel_id']]) ||
+ !array_key_exists($row['usr_id'], $validate_process[$row['ssel_id']])
+ )
+ {
- $stmt = $conn->prepare($sql);
+ $sql = 'INSERT INTO validate
+ (id, ssel_id, created_on, updated_on, expires_on, last_reminder,
+ usr_id, confirmed, can_agree, can_see_others)
+ VALUES
+ (null, :ssel_id, :created_on, :updated_on, :expires_on, null,
+ :usr_id, "0", :can_agree, :can_see)';
- $params = array(
- ':validate_id' => $validate_process[$row['ssel_id']][$row['usr_id']]
- , ':sselcont_id' => $row['sselcont_id']
- , ':updated_on' => $row['date_maj']
- , ':agreement' => $row['agree']
- );
- $stmt->execute($params);
- $stmt->closeCursor();
+ $stmt = $conn->prepare($sql);
+
+ $expire = new DateTime($row['dateFin']);
+ $expire = $expire->format('u') == 0 ?
+ null : phraseadate::format_mysql($expire);
+
+
+ $params = array(
+ ':ssel_id' => $row['ssel_id']
+ , ':created_on' => $row['date_maj']
+ , ':updated_on' => $row['date_maj']
+ , ':expires_on' => $expire
+ , ':usr_id' => $row['usr_id']
+ , ':can_agree' => $row['canAgree']
+ , ':can_see' => $row['canSeeOther']
+ );
+ $stmt->execute($params);
+
+ $validate_process[$row['ssel_id']][$row['usr_id']] = $conn->lastInsertId();
+ $stmt->closeCursor();
+
+ $sbas_id = phrasea::sbasFromBas($row['base_id']);
+ $record = new record_adapter($sbas_id, $row['record_id']);
+
+ $user = User_Adapter::getInstance($row['usr_id'], $appbox);
+ $pusher = User_Adapter::getInstance($row['pushFrom'], $appbox);
+
+ if ($row['canHD'])
+ $user->ACL()->grant_hd_on($record, $pusher, 'validate');
+ else
+ $user->ACL()->grant_preview_on($record, $pusher, 'validate');
+ }
+
+ $sql = 'REPLACE INTO validate_datas
+ (id, validate_id, sselcont_id, updated_on, agreement)
+ VALUES
+ (null, :validate_id, :sselcont_id, :updated_on, :agreement)';
+
+ $stmt = $conn->prepare($sql);
+
+ $params = array(
+ ':validate_id' => $validate_process[$row['ssel_id']][$row['usr_id']]
+ , ':sselcont_id' => $row['sselcont_id']
+ , ':updated_on' => $row['date_maj']
+ , ':agreement' => $row['agree']
+ );
+ $stmt->execute($params);
+ $stmt->closeCursor();
+ }
+
+ return true;
}
- return true;
- }
-
}
diff --git a/lib/classes/patch/311.class.php b/lib/classes/patch/311.class.php
index 5c71912843..a0198a02e3 100644
--- a/lib/classes/patch/311.class.php
+++ b/lib/classes/patch/311.class.php
@@ -18,51 +18,51 @@
class patch_311 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.1.1';
- /**
- *
- * @var Array
- */
- private $concern = array(base::DATA_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.1.1';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::DATA_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
+ /**
+ *
+ * @return string
+ */
+ function get_release()
+ {
+ return $this->release;
+ }
- public function require_all_upgrades()
- {
- return false;
- }
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- function apply(base &$databox)
- {
- $sql = 'UPDATE record SET jeton = '
- . (JETON_WRITE_META_DOC | JETON_WRITE_META_SUBDEF);
+ function apply(base &$databox)
+ {
+ $sql = 'UPDATE record SET jeton = '
+ . (JETON_WRITE_META_DOC | JETON_WRITE_META_SUBDEF);
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
- return true;
- }
+ return true;
+ }
}
diff --git a/lib/classes/patch/320.class.php b/lib/classes/patch/320.class.php
index e9f51cf0f7..9de66a9bbe 100644
--- a/lib/classes/patch/320.class.php
+++ b/lib/classes/patch/320.class.php
@@ -18,50 +18,50 @@
class patch_320 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.2.0.0.a1';
- /**
- *
- * @var Array
- */
- private $concern = array(base::DATA_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.2.0.0.a1';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::DATA_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
+ /**
+ *
+ * @return string
+ */
+ function get_release()
+ {
+ return $this->release;
+ }
- public function require_all_upgrades()
- {
- return false;
- }
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- function apply(base &$databox)
- {
- $sql = 'UPDATE record SET parent_record_id = "1"
- WHERE parent_record_id != "0"';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ function apply(base &$databox)
+ {
+ $sql = 'UPDATE record SET parent_record_id = "1"
+ WHERE parent_record_id != "0"';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
- return true;
- }
+ return true;
+ }
}
diff --git a/lib/classes/patch/320a.class.php b/lib/classes/patch/320a.class.php
index ad7175ddc3..7b6ed19e94 100644
--- a/lib/classes/patch/320a.class.php
+++ b/lib/classes/patch/320a.class.php
@@ -18,87 +18,87 @@
class patch_320a implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.2.0.0.a2';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.2.0.0.a2';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$appbox)
- {
- $sql = 'SELECT * FROM usr WHERE nonce IS NULL';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- $sql = 'UPDATE usr SET nonce = :nonce WHERE usr_id = :usr_id';
- $stmt = $appbox->get_connection()->prepare($sql);
- foreach ($rs as $row)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $nonce = random::generatePassword(16);
- $params = array(':usr_id' => $row['usr_id'], ':nonce' => $nonce);
- $stmt->execute($params);
- }
- $stmt->closeCursor();
-
-
-
- $sql = 'SELECT task_id, `class` FROM task2';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- $tasks = array();
-
- $sql = 'UPDATE task2 SET `class` = :class WHERE task_id = :task_id';
- $stmt = $appbox->get_connection()->prepare($sql);
- foreach ($rs as $row)
- {
- if (strpos($row['class'], 'task_period_') !== false)
- continue;
-
- $params = array(
- ':task_id' => $row['task_id']
- , ':class' => str_replace('task_', 'task_period_', $row['class'])
- );
-
- $stmt->execute($params);
+ return $this->release;
}
- $stmt->closeCursor();
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- return true;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
+
+ function apply(base &$appbox)
+ {
+ $sql = 'SELECT * FROM usr WHERE nonce IS NULL';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+ $sql = 'UPDATE usr SET nonce = :nonce WHERE usr_id = :usr_id';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ foreach ($rs as $row)
+ {
+ $nonce = random::generatePassword(16);
+ $params = array(':usr_id' => $row['usr_id'], ':nonce' => $nonce);
+ $stmt->execute($params);
+ }
+ $stmt->closeCursor();
+
+
+
+ $sql = 'SELECT task_id, `class` FROM task2';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+ $tasks = array();
+
+ $sql = 'UPDATE task2 SET `class` = :class WHERE task_id = :task_id';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ foreach ($rs as $row)
+ {
+ if (strpos($row['class'], 'task_period_') !== false)
+ continue;
+
+ $params = array(
+ ':task_id' => $row['task_id']
+ , ':class' => str_replace('task_', 'task_period_', $row['class'])
+ );
+
+ $stmt->execute($params);
+ }
+
+ $stmt->closeCursor();
+
+ return true;
+ }
}
diff --git a/lib/classes/patch/320aa.class.php b/lib/classes/patch/320aa.class.php
index 5468abc4d5..5781e20401 100644
--- a/lib/classes/patch/320aa.class.php
+++ b/lib/classes/patch/320aa.class.php
@@ -18,95 +18,95 @@
class patch_320aa implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.2.0.0.a1';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.2.0.0.a1';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$appbox)
- {
- if(is_file(__DIR__ . '/../../../config/_GV.php'))
- require __DIR__ . '/../../../config/_GV.php';
- require __DIR__ . '/../../../lib/conf.d/_GV_template.inc';
-
- define('GV_STATIC_URL', '');
- define('GV_sphinx', false);
- define('GV_sphinx_host', '');
- define('GV_sphinx_port', '');
- define('GV_sphinx_rt_host', '');
- define('GV_sphinx_rt_port', '');
-
- $registry = $appbox->get_registry();
-
- foreach ($GV as $section => $datas_section)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- foreach ($datas_section['vars'] as $datas)
- {
-
- $registry->un_set($datas['name']);
- eval('$test = defined("' . $datas["name"] . '");');
- if (!$test)
- {
- continue;
- }
- eval('$val = ' . $datas["name"] . ';');
-
- $val = $val === true ? '1' : $val;
- $val = $val === false ? '0' : $val;
-
- if($datas['name'] == 'GV_exiftool' && strpos($val, 'lib/exiftool/exiftool') !== false)
- {
- $val = str_replace('lib/exiftool/exiftool', 'lib/vendor/exiftool/exiftool', $val);
- }
-
- switch ($datas['type'])
- {
- case registry::TYPE_ENUM_MULTI:
- case registry::TYPE_INTEGER:
- case registry::TYPE_BOOLEAN:
- case registry::TYPE_STRING:
- case registry::TYPE_ARRAY:
- $type = $datas['type'];
- break;
- default:
- $type = registry::TYPE_STRING;
- break;
- }
- $registry->set($datas['name'], $val, $type);
- }
+ return $this->release;
}
- $registry->un_set('registry_loaded');
- return true;
- }
+ public function require_all_upgrades()
+ {
+ return false;
+ }
+
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
+
+ function apply(base &$appbox)
+ {
+ if(is_file(__DIR__ . '/../../../config/_GV.php'))
+ require __DIR__ . '/../../../config/_GV.php';
+ require __DIR__ . '/../../../lib/conf.d/_GV_template.inc';
+
+ define('GV_STATIC_URL', '');
+ define('GV_sphinx', false);
+ define('GV_sphinx_host', '');
+ define('GV_sphinx_port', '');
+ define('GV_sphinx_rt_host', '');
+ define('GV_sphinx_rt_port', '');
+
+ $registry = $appbox->get_registry();
+
+ foreach ($GV as $section => $datas_section)
+ {
+ foreach ($datas_section['vars'] as $datas)
+ {
+
+ $registry->un_set($datas['name']);
+ eval('$test = defined("' . $datas["name"] . '");');
+ if (!$test)
+ {
+ continue;
+ }
+ eval('$val = ' . $datas["name"] . ';');
+
+ $val = $val === true ? '1' : $val;
+ $val = $val === false ? '0' : $val;
+
+ if($datas['name'] == 'GV_exiftool' && strpos($val, 'lib/exiftool/exiftool') !== false)
+ {
+ $val = str_replace('lib/exiftool/exiftool', 'lib/vendor/exiftool/exiftool', $val);
+ }
+
+ switch ($datas['type'])
+ {
+ case registry::TYPE_ENUM_MULTI:
+ case registry::TYPE_INTEGER:
+ case registry::TYPE_BOOLEAN:
+ case registry::TYPE_STRING:
+ case registry::TYPE_ARRAY:
+ $type = $datas['type'];
+ break;
+ default:
+ $type = registry::TYPE_STRING;
+ break;
+ }
+ $registry->set($datas['name'], $val, $type);
+ }
+ }
+ $registry->un_set('registry_loaded');
+
+ return true;
+ }
}
diff --git a/lib/classes/patch/320ab.class.php b/lib/classes/patch/320ab.class.php
index 453077dede..8a8eb34d5c 100644
--- a/lib/classes/patch/320ab.class.php
+++ b/lib/classes/patch/320ab.class.php
@@ -18,54 +18,54 @@
class patch_320ab implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.2.0.0.a1';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.2.0.0.a1';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
+ /**
+ *
+ * @return string
+ */
+ function get_release()
+ {
+ return $this->release;
+ }
- public function require_all_upgrades()
- {
- return false;
- }
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- function apply(base &$appbox)
- {
- $sql = 'REPLACE INTO records_rights
- (SELECT null as id, usr_id, b.sbas_id, record_id, "1" as document
- , null as preview, "push" as `case`, pushFrom as pusher_usr_id
- FROM sselcont c, ssel s, bas b
- WHERE c.ssel_id = s.ssel_id
- AND b.base_id = c.base_id AND c.canHD = 1
- )';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ function apply(base &$appbox)
+ {
+ $sql = 'REPLACE INTO records_rights
+ (SELECT null as id, usr_id, b.sbas_id, record_id, "1" as document
+ , null as preview, "push" as `case`, pushFrom as pusher_usr_id
+ FROM sselcont c, ssel s, bas b
+ WHERE c.ssel_id = s.ssel_id
+ AND b.base_id = c.base_id AND c.canHD = 1
+ )';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
- return true;
- }
+ return true;
+ }
}
diff --git a/lib/classes/patch/320b.class.php b/lib/classes/patch/320b.class.php
index e412497fa8..6d62b481e2 100644
--- a/lib/classes/patch/320b.class.php
+++ b/lib/classes/patch/320b.class.php
@@ -19,49 +19,49 @@
class patch_320b implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.2.0.0.a3';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.2.0.0.a3';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
+ /**
+ *
+ * @return string
+ */
+ function get_release()
+ {
+ return $this->release;
+ }
- public function require_all_upgrades()
- {
- return false;
- }
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- function apply(base &$appbox)
- {
- $sql = 'UPDATE basusr SET nowatermark=1 WHERE needwatermark=0';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
- unset($stmt);
+ function apply(base &$appbox)
+ {
+ $sql = 'UPDATE basusr SET nowatermark=1 WHERE needwatermark=0';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+ unset($stmt);
- return true;
- }
+ return true;
+ }
}
diff --git a/lib/classes/patch/320c.class.php b/lib/classes/patch/320c.class.php
index 1e2b62f4aa..42e1eece9e 100644
--- a/lib/classes/patch/320c.class.php
+++ b/lib/classes/patch/320c.class.php
@@ -18,149 +18,149 @@
class patch_320c implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.2.0.0.a4';
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.2.0.0.a4';
- /**
- *
- * @var Array
- */
- private $concern = array(base::DATA_BOX);
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::DATA_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$databox)
- {
- $sql = 'TRUNCATE metadatas';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
- $sql = 'TRUNCATE metadatas_structure';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
- $sql = 'TRUNCATE technical_datas';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
-
- $phrasea_maps = array(
- 'pdftext' => '/rdf:RDF/rdf:Description/PHRASEANET:pdftext'
- , 'tf-archivedate' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-archivedate'
- , 'tf-atime' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-atime'
- , 'tf-chgdocdate' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-chgdocdate'
- , 'tf-ctime' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-ctime'
- , 'tf-editdate' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-editdate'
- , 'tf-mtime' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-mtime'
- , 'tf-parentdir' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-parentdir'
- , 'tf-bits' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-bits'
- , 'tf-channels' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-channels'
- , 'tf-extension' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-extension'
- , 'tf-filename' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-filename'
- , 'tf-filepath' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-filepath'
- , 'tf-height' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-height'
- , 'tf-mimetype' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-mimetype'
- , 'tf-recordid' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-recordid'
- , 'tf-size' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-size'
- , 'tf-width' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-width'
- );
-
- $sxe = $databox->get_sxml_structure();
- $dom_struct = $databox->get_dom_structure();
- $xp_struct = $databox->get_xpath_structure();
-
- foreach ($sxe->description->children() as $fname => $field)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $src = trim(isset($field['src']) ? $field['src'] : '');
-
- if (array_key_exists($src, $phrasea_maps))
- {
- $src = $phrasea_maps[$src];
- }
-
- $nodes = $xp_struct->query('/record/description/' . $fname);
- if ($nodes->length > 0)
- {
- $node = $nodes->item(0);
- $node->setAttribute('src', $src);
- $node->removeAttribute('meta_id');
- }
+ return $this->release;
}
- $databox->saveStructure($dom_struct);
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- $ext_databox = new extended_databox($databox->get_sbas_id());
- $ext_databox->migrate_fields();
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- $databox->delete_data_from_cache(databox::CACHE_STRUCTURE);
- $databox->delete_data_from_cache(databox::CACHE_META_STRUCT);
+ function apply(base &$databox)
+ {
+ $sql = 'TRUNCATE metadatas';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ $sql = 'TRUNCATE metadatas_structure';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ $sql = 'TRUNCATE technical_datas';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
- $conn = connection::getPDOConnection();
- $sql = 'INSERT INTO `task2`
- (`task_id`, `usr_id_owner`, `pid`, `status`, `crashed`,
- `active`, `name`, `last_exec_time`, `class`, `settings`, `completed`)
- VALUES
- (null, 0, 0, "stopped", 0, 1, "upgrade to v3.2 for sbas ' . $databox->get_sbas_id() . '",
- "0000-00-00 00:00:00", "task_period_upgradetov32",
- "' .
- '' . $databox->get_sbas_id() . '", -1)';
- $stmt = $conn->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ $phrasea_maps = array(
+ 'pdftext' => '/rdf:RDF/rdf:Description/PHRASEANET:pdftext'
+ , 'tf-archivedate' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-archivedate'
+ , 'tf-atime' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-atime'
+ , 'tf-chgdocdate' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-chgdocdate'
+ , 'tf-ctime' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-ctime'
+ , 'tf-editdate' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-editdate'
+ , 'tf-mtime' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-mtime'
+ , 'tf-parentdir' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-parentdir'
+ , 'tf-bits' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-bits'
+ , 'tf-channels' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-channels'
+ , 'tf-extension' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-extension'
+ , 'tf-filename' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-filename'
+ , 'tf-filepath' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-filepath'
+ , 'tf-height' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-height'
+ , 'tf-mimetype' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-mimetype'
+ , 'tf-recordid' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-recordid'
+ , 'tf-size' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-size'
+ , 'tf-width' => '/rdf:RDF/rdf:Description/PHRASEANET:tf-width'
+ );
- $sql = 'DELETE FROM `task2` WHERE class="readmeta"';
- $stmt = $conn->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
- unset($stmt);
+ $sxe = $databox->get_sxml_structure();
+ $dom_struct = $databox->get_dom_structure();
+ $xp_struct = $databox->get_xpath_structure();
+
+ foreach ($sxe->description->children() as $fname => $field)
+ {
+ $src = trim(isset($field['src']) ? $field['src'] : '');
+
+ if (array_key_exists($src, $phrasea_maps))
+ {
+ $src = $phrasea_maps[$src];
+ }
+
+ $nodes = $xp_struct->query('/record/description/' . $fname);
+ if ($nodes->length > 0)
+ {
+ $node = $nodes->item(0);
+ $node->setAttribute('src', $src);
+ $node->removeAttribute('meta_id');
+ }
+ }
+
+ $databox->saveStructure($dom_struct);
+
+ $ext_databox = new extended_databox($databox->get_sbas_id());
+ $ext_databox->migrate_fields();
+
+ $databox->delete_data_from_cache(databox::CACHE_STRUCTURE);
+ $databox->delete_data_from_cache(databox::CACHE_META_STRUCT);
- return true;
- }
+ $conn = connection::getPDOConnection();
+ $sql = 'INSERT INTO `task2`
+ (`task_id`, `usr_id_owner`, `pid`, `status`, `crashed`,
+ `active`, `name`, `last_exec_time`, `class`, `settings`, `completed`)
+ VALUES
+ (null, 0, 0, "stopped", 0, 1, "upgrade to v3.2 for sbas ' . $databox->get_sbas_id() . '",
+ "0000-00-00 00:00:00", "task_period_upgradetov32",
+ "' .
+ '' . $databox->get_sbas_id() . '", -1)';
+ $stmt = $conn->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ $sql = 'DELETE FROM `task2` WHERE class="readmeta"';
+ $stmt = $conn->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+ unset($stmt);
+
+
+ return true;
+ }
}
class extended_databox extends databox
{
- public function __construct($sbas_id)
- {
- parent::__construct($sbas_id);
- }
+ public function __construct($sbas_id)
+ {
+ parent::__construct($sbas_id);
+ }
- public function migrate_fields()
- {
- $this->feed_meta_fields();
+ public function migrate_fields()
+ {
+ $this->feed_meta_fields();
- return $this;
- }
+ return $this;
+ }
}
diff --git a/lib/classes/patch/320d.class.php b/lib/classes/patch/320d.class.php
index 12db701ed5..0714c98d69 100644
--- a/lib/classes/patch/320d.class.php
+++ b/lib/classes/patch/320d.class.php
@@ -18,65 +18,65 @@
class patch_320d implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.2.0.0.a5';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.2.0.0.a5';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$appbox)
- {
-
- $sql = 'SELECT base_id, usr_id FROM order_masters';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- $sql = 'UPDATE basusr SET order_master="1"
- WHERE base_id = :base_id AND usr_id = :usr_id';
- $stmt = $appbox->get_connection()->prepare($sql);
-
- foreach ($rs as $row)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $params = array(
- ':base_id' => $row['base_id'],
- ':usr_id' => $row['usr_id']
- );
- $stmt->execute($params);
+ return $this->release;
}
- $stmt->closeCursor();
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- return true;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
+
+ function apply(base &$appbox)
+ {
+
+ $sql = 'SELECT base_id, usr_id FROM order_masters';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+ $sql = 'UPDATE basusr SET order_master="1"
+ WHERE base_id = :base_id AND usr_id = :usr_id';
+ $stmt = $appbox->get_connection()->prepare($sql);
+
+ foreach ($rs as $row)
+ {
+ $params = array(
+ ':base_id' => $row['base_id'],
+ ':usr_id' => $row['usr_id']
+ );
+ $stmt->execute($params);
+ }
+
+ $stmt->closeCursor();
+
+ return true;
+ }
}
diff --git a/lib/classes/patch/320e.class.php b/lib/classes/patch/320e.class.php
index 07d344606a..03946fb1d8 100644
--- a/lib/classes/patch/320e.class.php
+++ b/lib/classes/patch/320e.class.php
@@ -18,79 +18,79 @@
class patch_320e implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.2.0.0.a6';
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.2.0.0.a6';
- /**
- *
- * @var Array
- */
- private $concern = array(base::DATA_BOX);
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::DATA_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$databox)
- {
- $sql = 'UPDATE record r, subdef s
- SET r.mime = s.mime
- WHERE r.record_id = s.record_id AND s.name="document"';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
- $sql = 'UPDATE subdef s, record r
- SET s.updated_on = r.moddate, s.created_on = r.credate
- WHERE s.record_id = r.record_id';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
- $sql = 'UPDATE subdef SET `name` = LOWER( `name` )';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
-
- $dom = $databox->get_dom_structure();
- $xpath = $databox->get_xpath_structure();
-
- $nodes = $xpath->query('//record/subdefs/subdefgroup/subdef');
-
- foreach ($nodes as $node)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $name = mb_strtolower(trim($node->getAttribute('name')));
- if ($name === '')
- continue;
- $node->setAttribute('name', $name);
+ return $this->release;
}
- $databox->saveStructure($dom);
+ public function require_all_upgrades()
+ {
+ return false;
+ }
- return true;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
+
+ function apply(base &$databox)
+ {
+ $sql = 'UPDATE record r, subdef s
+ SET r.mime = s.mime
+ WHERE r.record_id = s.record_id AND s.name="document"';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ $sql = 'UPDATE subdef s, record r
+ SET s.updated_on = r.moddate, s.created_on = r.credate
+ WHERE s.record_id = r.record_id';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ $sql = 'UPDATE subdef SET `name` = LOWER( `name` )';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+
+ $dom = $databox->get_dom_structure();
+ $xpath = $databox->get_xpath_structure();
+
+ $nodes = $xpath->query('//record/subdefs/subdefgroup/subdef');
+
+ foreach ($nodes as $node)
+ {
+ $name = mb_strtolower(trim($node->getAttribute('name')));
+ if ($name === '')
+ continue;
+ $node->setAttribute('name', $name);
+ }
+
+ $databox->saveStructure($dom);
+
+ return true;
+ }
}
diff --git a/lib/classes/patch/320f.class.php b/lib/classes/patch/320f.class.php
index 7777e680cb..c9f1287237 100644
--- a/lib/classes/patch/320f.class.php
+++ b/lib/classes/patch/320f.class.php
@@ -18,195 +18,195 @@
class patch_320f implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.2.0.0.a4';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.2.0.0.a4';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return true;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$appbox)
- {
- $feeds = array();
-
- try
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $sql = 'ALTER TABLE `ssel` ADD `migrated` INT NOT NULL DEFAULT "0"';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
- }
- catch(Exception $e)
- {
-
+ return $this->release;
}
- $sql = 'SELECT ssel_id, usr_id, name, descript, pub_date
- , updater, pub_restrict, homelink
- FROM ssel WHERE (public = "1" or homelink="1") and migrated = 0';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- $date_ref = new DateTime();
-
- foreach ($rs as $row)
+ public function require_all_upgrades()
{
- $user = User_Adapter::getInstance($row['usr_id'], $appbox);
+ return true;
+ }
- $feed = $this->get_feed($appbox, $user, $row['pub_restrict'], $row['homelink']);
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- if(!$feed instanceof Feed_Adapter)
- {
- continue;
- }
+ function apply(base &$appbox)
+ {
+ $feeds = array();
- $entry = Feed_Entry_Adapter::create($appbox, $feed, array_shift($feed->get_publishers()), $row['name'], $row['descript'], $user->get_display_name(), $user->get_email());
- $date_create = new DateTime($row['pub_date']);
- if ($date_create < $date_ref)
- {
- $date_ref = $date_create;
- }
- $entry->set_created_on($date_create);
- if ($row['updater'] != '0000-00-00 00:00:00')
- {
- $date_update = new DateTime($row['updater']);
- $entry->set_updated_on($date_update);
- }
-
- $sql = 'SELECT sselcont_id, ssel_id, base_id, record_id
- FROM sselcont WHERE ssel_id = :ssel_id ORDER BY ord ASC';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute(array(':ssel_id' => $row['ssel_id']));
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- foreach ($rs as $row)
- {
try
{
- $record = new record_adapter(phrasea::sbasFromBas($row['base_id']), $row['record_id']);
- $item = Feed_Entry_Item::create($appbox, $entry, $record);
+ $sql = 'ALTER TABLE `ssel` ADD `migrated` INT NOT NULL DEFAULT "0"';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
}
- catch (Exception_NotFound $e)
+ catch(Exception $e)
{
}
- }
- $sql = 'UPDATE ssel SET deleted = "1", migrated="1"
- WHERE ssel_id = :ssel_id';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute(array(':ssel_id' => $row['ssel_id']));
- $stmt->closeCursor();
- }
- $this->set_feed_dates($date_ref);
+ $sql = 'SELECT ssel_id, usr_id, name, descript, pub_date
+ , updater, pub_restrict, homelink
+ FROM ssel WHERE (public = "1" or homelink="1") and migrated = 0';
- return true;
- }
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
- protected function set_feed_dates(DateTime $date_ref)
- {
- foreach (self::$feeds as $array_feeds)
- {
- foreach ($array_feeds as $feed)
- {
- $feed->set_created_on($date_ref);
- }
- }
+ $date_ref = new DateTime();
- return;
- }
-
- protected static $feeds = array();
-
- protected function get_feed(appbox &$appbox, User_Adapter &$user, $pub_restrict, $homelink)
- {
- $user_key = 'user_' . $user->get_id();
- if ($homelink == '1')
- $feed_key = 'feed_homelink';
- elseif ($pub_restrict == '1')
- $feed_key = 'feed_restricted';
- else
- $feed_key = 'feed_public';
-
- if (!array_key_exists($user_key, self::$feeds) || !isset(self::$feeds[$user_key][$feed_key]))
- {
- if ($homelink == '1')
- $title = $user->get_display_name() . ' - ' . 'homelink Feed';
- elseif ($pub_restrict == '1')
- $title = $user->get_display_name() . ' - ' . 'private Feed';
- else
- $title = $user->get_display_name() . ' - ' . 'public Feed';
-
- $feed = Feed_Adapter::create($appbox, $user, $title, '');
-
- if ($homelink)
- {
- $feed->set_public(true);
- }
- elseif ($pub_restrict == 1)
- {
- $collection = array_shift($user->ACL()->get_granted_base());
- if (!($collection instanceof collection))
+ foreach ($rs as $row)
{
- foreach ($appbox->get_databoxes() as $databox)
- {
- foreach ($databox->get_collections() as $coll)
+ $user = User_Adapter::getInstance($row['usr_id'], $appbox);
+
+ $feed = $this->get_feed($appbox, $user, $row['pub_restrict'], $row['homelink']);
+
+ if(!$feed instanceof Feed_Adapter)
{
- $collection = $coll;
- break;
+ continue;
}
- if ($collection instanceof collection)
- break;
- }
- }
- if (!($collection instanceof collection))
- {
- echo "unable to find a collection to protect feeds";
+ $entry = Feed_Entry_Adapter::create($appbox, $feed, array_shift($feed->get_publishers()), $row['name'], $row['descript'], $user->get_display_name(), $user->get_email());
+ $date_create = new DateTime($row['pub_date']);
+ if ($date_create < $date_ref)
+ {
+ $date_ref = $date_create;
+ }
+ $entry->set_created_on($date_create);
+ if ($row['updater'] != '0000-00-00 00:00:00')
+ {
+ $date_update = new DateTime($row['updater']);
+ $entry->set_updated_on($date_update);
+ }
- return false;
+ $sql = 'SELECT sselcont_id, ssel_id, base_id, record_id
+ FROM sselcont WHERE ssel_id = :ssel_id ORDER BY ord ASC';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute(array(':ssel_id' => $row['ssel_id']));
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+ foreach ($rs as $row)
+ {
+ try
+ {
+ $record = new record_adapter(phrasea::sbasFromBas($row['base_id']), $row['record_id']);
+ $item = Feed_Entry_Item::create($appbox, $entry, $record);
+ }
+ catch (Exception_NotFound $e)
+ {
+
+ }
+ }
+
+ $sql = 'UPDATE ssel SET deleted = "1", migrated="1"
+ WHERE ssel_id = :ssel_id';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute(array(':ssel_id' => $row['ssel_id']));
+ $stmt->closeCursor();
}
- $feed->set_collection($collection);
- }
- self::$feeds[$user_key][$feed_key] = $feed;
+ $this->set_feed_dates($date_ref);
+
+ return true;
}
- else
+
+ protected function set_feed_dates(DateTime $date_ref)
{
- $feed = self::$feeds[$user_key][$feed_key];
+ foreach (self::$feeds as $array_feeds)
+ {
+ foreach ($array_feeds as $feed)
+ {
+ $feed->set_created_on($date_ref);
+ }
+ }
+
+ return;
}
- return $feed;
- }
+ protected static $feeds = array();
+
+ protected function get_feed(appbox &$appbox, User_Adapter &$user, $pub_restrict, $homelink)
+ {
+ $user_key = 'user_' . $user->get_id();
+ if ($homelink == '1')
+ $feed_key = 'feed_homelink';
+ elseif ($pub_restrict == '1')
+ $feed_key = 'feed_restricted';
+ else
+ $feed_key = 'feed_public';
+
+ if (!array_key_exists($user_key, self::$feeds) || !isset(self::$feeds[$user_key][$feed_key]))
+ {
+ if ($homelink == '1')
+ $title = $user->get_display_name() . ' - ' . 'homelink Feed';
+ elseif ($pub_restrict == '1')
+ $title = $user->get_display_name() . ' - ' . 'private Feed';
+ else
+ $title = $user->get_display_name() . ' - ' . 'public Feed';
+
+ $feed = Feed_Adapter::create($appbox, $user, $title, '');
+
+ if ($homelink)
+ {
+ $feed->set_public(true);
+ }
+ elseif ($pub_restrict == 1)
+ {
+ $collection = array_shift($user->ACL()->get_granted_base());
+ if (!($collection instanceof collection))
+ {
+ foreach ($appbox->get_databoxes() as $databox)
+ {
+ foreach ($databox->get_collections() as $coll)
+ {
+ $collection = $coll;
+ break;
+ }
+ if ($collection instanceof collection)
+ break;
+ }
+ }
+
+ if (!($collection instanceof collection))
+ {
+ echo "unable to find a collection to protect feeds";
+
+ return false;
+ }
+ $feed->set_collection($collection);
+ }
+ self::$feeds[$user_key][$feed_key] = $feed;
+ }
+ else
+ {
+ $feed = self::$feeds[$user_key][$feed_key];
+ }
+
+ return $feed;
+ }
}
diff --git a/lib/classes/patch/320h.class.php b/lib/classes/patch/320h.class.php
index 1d4866eabf..90db0bb095 100644
--- a/lib/classes/patch/320h.class.php
+++ b/lib/classes/patch/320h.class.php
@@ -18,49 +18,49 @@
class patch_320h implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.2.0.0.a8';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.2.0.0.a8';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
+ /**
+ *
+ * @return string
+ */
+ function get_release()
+ {
+ return $this->release;
+ }
- public function require_all_upgrades()
- {
- return true;
- }
+ public function require_all_upgrades()
+ {
+ return true;
+ }
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- function apply(base &$appbox)
- {
- $sql = 'DELETE FROM basusr WHERE actif = "0"';
+ function apply(base &$appbox)
+ {
+ $sql = 'DELETE FROM basusr WHERE actif = "0"';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
- return true;
- }
+ return true;
+ }
}
diff --git a/lib/classes/patch/360.class.php b/lib/classes/patch/360.class.php
index 0804f89972..72f8c0cdbe 100644
--- a/lib/classes/patch/360.class.php
+++ b/lib/classes/patch/360.class.php
@@ -18,259 +18,259 @@
class patch_360 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.6.0a1';
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.6.0a1';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return true;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$appbox)
- {
- $tables = array('StoryWZ', 'ValidationDatas', 'ValidationParticipants', 'ValidationSessions', 'BasketElements', 'Baskets');
-
- foreach ($tables as $table)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $sql = 'DELETE FROM ' . $table;
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ return $this->release;
}
-
- $stories = array();
-
- $sql = 'SELECT sbas_id, rid as record_id, usr_id
- FROM ssel
- WHERE temporaryType = "1"';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $rs_s = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- $current = array();
-
- foreach ($rs_s as $row_story)
+ public function require_all_upgrades()
{
- $serial = $row_story['sbas_id'] . '_' . $row_story['usr_id'] . '_' . $row_story['record_id'];
-
- if (isset($current[$serial]))
- {
- $stories[] = $row_story;
- }
-
- $current[$serial] = $serial;
+ return true;
}
- $sql = 'DELETE FROM ssel
- WHERE temporaryType="1" AND record_id = :record_id
- AND usr_id = :usr_id AND sbas_id = :sbas_id';
- $stmt = $appbox->get_connection()->prepare($sql);
-
- foreach ($stories as $row)
+ /**
+ *
+ * @return Array
+ */
+ function concern()
{
- $params = array(
- ':usr_id' => $row['usr_id'],
- ':sbas_id' => $row['sbas_id'],
- ':record_id' => $row['record_id']
- );
- $stmt->execute($params);
+ return $this->concern;
}
- $stmt->closeCursor();
-
- $sql = 'INSERT INTO StoryWZ
- (
- SELECT null as id, sbas_id, rid as record_id, usr_id, date as created
- FROM ssel
- WHERE temporaryType = "1"
- )';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
- $sql = 'INSERT INTO Baskets
- (
- SELECT ssel_id as id, name, descript as description, usr_id, 1 as is_read
- , pushFrom as pusher_id,
- 0 as archived, date as created, updater as updated
- FROM ssel
- WHERE temporaryType = "0"
- )';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
-
- $sql = 'SELECT ssel_id FROM ssel WHERE temporaryType = "0"';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- $sselcont_ids = array();
-
- foreach ($rs as $row)
+ function apply(base &$appbox)
{
- $sql = 'SELECT c.sselcont_id, c.record_id, b.sbas_id
- FROM sselcont c, bas b, ssel s
- WHERE s.temporaryType = "0" AND b.base_id = c.base_id
- AND c.ssel_id = :ssel_id AND s.ssel_id = c.ssel_id';
+ $tables = array('StoryWZ', 'ValidationDatas', 'ValidationParticipants', 'ValidationSessions', 'BasketElements', 'Baskets');
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute(array(':ssel_id' => $row['ssel_id']));
- $rs_be = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- $current = array();
-
- foreach ($rs_be as $row_sselcont)
- {
- $serial = $row_sselcont['sbas_id'] . '_' . $row_sselcont['record_id'];
-
- if (isset($current[$serial]))
+ foreach ($tables as $table)
{
- $sselcont_ids[] = $row_sselcont['sselcont_id'];
+ $sql = 'DELETE FROM ' . $table;
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
}
- $current[$serial] = $serial;
- }
+
+ $stories = array();
+
+ $sql = 'SELECT sbas_id, rid as record_id, usr_id
+ FROM ssel
+ WHERE temporaryType = "1"';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rs_s = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+ $current = array();
+
+ foreach ($rs_s as $row_story)
+ {
+ $serial = $row_story['sbas_id'] . '_' . $row_story['usr_id'] . '_' . $row_story['record_id'];
+
+ if (isset($current[$serial]))
+ {
+ $stories[] = $row_story;
+ }
+
+ $current[$serial] = $serial;
+ }
+
+ $sql = 'DELETE FROM ssel
+ WHERE temporaryType="1" AND record_id = :record_id
+ AND usr_id = :usr_id AND sbas_id = :sbas_id';
+ $stmt = $appbox->get_connection()->prepare($sql);
+
+ foreach ($stories as $row)
+ {
+ $params = array(
+ ':usr_id' => $row['usr_id'],
+ ':sbas_id' => $row['sbas_id'],
+ ':record_id' => $row['record_id']
+ );
+ $stmt->execute($params);
+ }
+
+ $stmt->closeCursor();
+
+ $sql = 'INSERT INTO StoryWZ
+ (
+ SELECT null as id, sbas_id, rid as record_id, usr_id, date as created
+ FROM ssel
+ WHERE temporaryType = "1"
+ )';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ $sql = 'INSERT INTO Baskets
+ (
+ SELECT ssel_id as id, name, descript as description, usr_id, 1 as is_read
+ , pushFrom as pusher_id,
+ 0 as archived, date as created, updater as updated
+ FROM ssel
+ WHERE temporaryType = "0"
+ )';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+
+ $sql = 'SELECT ssel_id FROM ssel WHERE temporaryType = "0"';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+ $sselcont_ids = array();
+
+ foreach ($rs as $row)
+ {
+ $sql = 'SELECT c.sselcont_id, c.record_id, b.sbas_id
+ FROM sselcont c, bas b, ssel s
+ WHERE s.temporaryType = "0" AND b.base_id = c.base_id
+ AND c.ssel_id = :ssel_id AND s.ssel_id = c.ssel_id';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute(array(':ssel_id' => $row['ssel_id']));
+ $rs_be = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+ $current = array();
+
+ foreach ($rs_be as $row_sselcont)
+ {
+ $serial = $row_sselcont['sbas_id'] . '_' . $row_sselcont['record_id'];
+
+ if (isset($current[$serial]))
+ {
+ $sselcont_ids[] = $row_sselcont['sselcont_id'];
+ }
+
+ $current[$serial] = $serial;
+ }
+ }
+
+ $sql = 'DELETE FROM sselcont WHERE sselcont_id = :sselcont_id';
+ $stmt = $appbox->get_connection()->prepare($sql);
+
+ foreach ($sselcont_ids as $sselcont_id)
+ {
+ $stmt->execute(array(':sselcont_id' => $sselcont_id));
+ }
+
+ $stmt->closeCursor();
+
+ $sql = 'INSERT INTO BasketElements
+ (
+ SELECT sselcont_id as id, c.ssel_id as basket_id, record_id, b.sbas_id, c.ord,
+ s.date as created, s.updater as updated
+ FROM sselcont c, ssel s, bas b
+ WHERE temporaryType = "0" AND b.base_id = c.base_id AND s.ssel_id = c.ssel_id
+ )';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ $sql = 'UPDATE Baskets SET pusher_id = NULL WHERE pusher_id = 0';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+
+ $sql = 'INSERT INTO ValidationSessions
+ (
+ SELECT null as id, v.ssel_id as basket_id ,created_on as created
+ ,updated_on as updated ,expires_on as expires
+ ,v.usr_id as initiator_id
+ FROM ssel s, validate v
+ WHERE v.ssel_id = s.ssel_id AND v.usr_id = s.usr_id
+ )';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ $sql = 'INSERT INTO ValidationParticipants
+ (
+ SELECT v.id as id, v.usr_id
+ , 1 AS is_aware, confirmed as is_confirmed, 1 as can_agree
+ , can_see_others, last_reminder AS reminded
+ , vs.`id` AS ValidationSession_id
+ FROM validate v, ssel s, ValidationSessions vs
+ WHERE s.ssel_id = v.ssel_id AND vs.basket_id = v.ssel_id
+ )';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+
+ $sql = 'SELECT usr_id, basket_id, p.id as participant_id
+ FROM ValidationParticipants p, ValidationSessions s
+ WHERE p.ValidationSession_Id = s.id';
+
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+
+ $sql = 'INSERT INTO ValidationDatas (
+ SELECT d.id , :participant_id as participant_id, d.sselcont_id, d.agreement,
+ d.note, d.updated_on as updated
+ FROM validate v, validate_datas d, sselcont c
+ WHERE c.sselcont_id = d.sselcont_id AND v.id = d.validate_id
+ AND v.usr_id = :usr_id AND v.ssel_id = :basket_id
+ )';
+ $stmt = $appbox->get_connection()->prepare($sql);
+ foreach ($rs as $row)
+ {
+ $params = array(
+ ':participant_id' => $row['participant_id'],
+ ':basket_id' => $row['basket_id'],
+ ':usr_id' => $row['usr_id'],
+ );
+ $stmt->execute($params);
+ }
+
+ $stmt->closeCursor();
+
+ $sql = 'UPDATE ValidationDatas
+ SET agreement = NULL where agreement = "0"';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ $sql = 'UPDATE ValidationDatas
+ SET agreement = "0" where agreement = "-1"';
+
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ return true;
}
- $sql = 'DELETE FROM sselcont WHERE sselcont_id = :sselcont_id';
- $stmt = $appbox->get_connection()->prepare($sql);
-
- foreach ($sselcont_ids as $sselcont_id)
- {
- $stmt->execute(array(':sselcont_id' => $sselcont_id));
- }
-
- $stmt->closeCursor();
-
- $sql = 'INSERT INTO BasketElements
- (
- SELECT sselcont_id as id, c.ssel_id as basket_id, record_id, b.sbas_id, c.ord,
- s.date as created, s.updater as updated
- FROM sselcont c, ssel s, bas b
- WHERE temporaryType = "0" AND b.base_id = c.base_id AND s.ssel_id = c.ssel_id
- )';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
- $sql = 'UPDATE Baskets SET pusher_id = NULL WHERE pusher_id = 0';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
-
- $sql = 'INSERT INTO ValidationSessions
- (
- SELECT null as id, v.ssel_id as basket_id ,created_on as created
- ,updated_on as updated ,expires_on as expires
- ,v.usr_id as initiator_id
- FROM ssel s, validate v
- WHERE v.ssel_id = s.ssel_id AND v.usr_id = s.usr_id
- )';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
- $sql = 'INSERT INTO ValidationParticipants
- (
- SELECT v.id as id, v.usr_id
- , 1 AS is_aware, confirmed as is_confirmed, 1 as can_agree
- , can_see_others, last_reminder AS reminded
- , vs.`id` AS ValidationSession_id
- FROM validate v, ssel s, ValidationSessions vs
- WHERE s.ssel_id = v.ssel_id AND vs.basket_id = v.ssel_id
- )';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
-
- $sql = 'SELECT usr_id, basket_id, p.id as participant_id
- FROM ValidationParticipants p, ValidationSessions s
- WHERE p.ValidationSession_Id = s.id';
-
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
-
- $sql = 'INSERT INTO ValidationDatas (
- SELECT d.id , :participant_id as participant_id, d.sselcont_id, d.agreement,
- d.note, d.updated_on as updated
- FROM validate v, validate_datas d, sselcont c
- WHERE c.sselcont_id = d.sselcont_id AND v.id = d.validate_id
- AND v.usr_id = :usr_id AND v.ssel_id = :basket_id
- )';
- $stmt = $appbox->get_connection()->prepare($sql);
- foreach ($rs as $row)
- {
- $params = array(
- ':participant_id' => $row['participant_id'],
- ':basket_id' => $row['basket_id'],
- ':usr_id' => $row['usr_id'],
- );
- $stmt->execute($params);
- }
-
- $stmt->closeCursor();
-
- $sql = 'UPDATE ValidationDatas
- SET agreement = NULL where agreement = "0"';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
- $sql = 'UPDATE ValidationDatas
- SET agreement = "0" where agreement = "-1"';
-
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
- return true;
- }
-
}
diff --git a/lib/classes/patch/3602.class.php b/lib/classes/patch/3602.class.php
index f198b3590d..16dc25db3e 100644
--- a/lib/classes/patch/3602.class.php
+++ b/lib/classes/patch/3602.class.php
@@ -18,56 +18,56 @@
class patch_3602 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.6.0a1';
- /**
- *
- * @var Array
- */
- private $concern = array(base::DATA_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.6.0a1';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::DATA_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$databox)
- {
- try
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $sql = 'ALTER TABLE `metadatas` DROP INDEX `unique`';
-
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
- }
- catch(\PDOException $e)
- {
-
+ return $this->release;
}
- return true;
- }
+ public function require_all_upgrades()
+ {
+ return false;
+ }
+
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
+
+ function apply(base &$databox)
+ {
+ try
+ {
+ $sql = 'ALTER TABLE `metadatas` DROP INDEX `unique`';
+
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+ }
+ catch(\PDOException $e)
+ {
+
+ }
+
+ return true;
+ }
}
diff --git a/lib/classes/patch/3603.class.php b/lib/classes/patch/3603.class.php
index 5f62abfe59..f51b4dcc6b 100644
--- a/lib/classes/patch/3603.class.php
+++ b/lib/classes/patch/3603.class.php
@@ -18,51 +18,51 @@
class patch_3603 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.6.0a2';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.6.0a2';
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
+ /**
+ *
+ * @return string
+ */
+ function get_release()
+ {
+ return $this->release;
+ }
- public function require_all_upgrades()
- {
- return true;
- }
+ public function require_all_upgrades()
+ {
+ return true;
+ }
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- function apply(base &$appbox)
- {
+ function apply(base &$appbox)
+ {
- $sql = 'UPDATE usr SET usr_mail = NULL
- WHERE usr_mail IS NOT NULL AND usr_login LIKE "(#deleted%"';
+ $sql = 'UPDATE usr SET usr_mail = NULL
+ WHERE usr_mail IS NOT NULL AND usr_login LIKE "(#deleted%"';
- $stmt = $appbox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
+ $stmt = $appbox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
- return true;
- }
+ return true;
+ }
}
diff --git a/lib/classes/patch/3604.class.php b/lib/classes/patch/3604.class.php
index ae4aabf0fd..20667935f2 100644
--- a/lib/classes/patch/3604.class.php
+++ b/lib/classes/patch/3604.class.php
@@ -18,172 +18,172 @@
class patch_3604 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.6.0a2';
-
- /**
- *
- * @var Array
- */
- private $concern = array(base::DATA_BOX);
-
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return true;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$databox)
- {
/**
- * Fail if upgrade has previously failed, no problem
+ *
+ * @var string
*/
- try
+ private $release = '3.6.0a2';
+
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::DATA_BOX);
+
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $sql = "ALTER TABLE `metadatas`
- ADD `updated` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '1',
- ADD INDEX ( `updated` )";
-
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
-
- $sql = 'UPDATE metadatas SET updated = "0"
- WHERE meta_struct_id
- IN (SELECT id FROM metadatas_structure WHERE multi = "1")';
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
- }
- catch (\Exception $e)
- {
-
+ return $this->release;
}
-
- try
+ public function require_all_upgrades()
{
- $sql = 'ALTER TABLE `metadatas` DROP INDEX `unique`';
-
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
- }
- catch(\PDOException $e)
- {
-
- }
-
- $sql = 'SELECT m . *
- FROM metadatas_structure s, metadatas m
- WHERE m.meta_struct_id = s.id
- AND s.multi = "1" AND updated="0"';
-
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $rowCount = $stmt->rowCount();
- $stmt->closeCursor();
-
- $n = 0;
- $perPage = 1000;
-
- while ($n < $rowCount)
- {
- $sql = 'SELECT m . *
- FROM metadatas_structure s, metadatas m
- WHERE m.meta_struct_id = s.id
- AND s.multi = "1" LIMIT ' . $n . ', ' . $perPage;
-
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- $databox->get_connection()->beginTransaction();
-
- $sql = 'INSERT INTO metadatas(id, record_id, meta_struct_id, value)
- VALUES (null, :record_id, :meta_struct_id, :value)';
- $stmt = $databox->get_connection()->prepare($sql);
-
- $databox_fields = array();
-
- foreach ($rs as $row)
- {
- $meta_struct_id = $row['meta_struct_id'];
-
- if ( ! isset($databox_fields[$meta_struct_id]))
- {
- $databox_fields[$meta_struct_id] = \databox_field::get_instance($databox, $meta_struct_id);
- }
-
- $values = \caption_field::get_multi_values($row['value'], $databox_fields[$meta_struct_id]->get_separator());
-
- foreach ($values as $value)
- {
- $params = array(
- ':record_id' => $row['record_id'],
- ':meta_struct_id' => $row['meta_struct_id'],
- ':value' => $value,
- );
- $stmt->execute($params);
- }
- }
-
- $stmt->closeCursor();
-
-
- $sql = 'DELETE FROM metadatas WHERE id = :id';
- $stmt = $databox->get_connection()->prepare($sql);
-
- foreach ($rs as $row)
- {
- $params = array(':id' => $row['id']);
- $stmt->execute($params);
- }
-
- $stmt->closeCursor();
-
- $databox->get_connection()->commit();
-
- $n+= $perPage;
+ return true;
}
/**
- * Remove the extra column
+ *
+ * @return Array
*/
- try
+ function concern()
{
- $sql = "ALTER TABLE `metadatas` DROP `updated`";
- $stmt = $databox->get_connection()->prepare($sql);
- $stmt->execute();
- $stmt->closeCursor();
- }
- catch (\Exception $e)
- {
-
+ return $this->concern;
}
- return true;
- }
+ function apply(base &$databox)
+ {
+ /**
+ * Fail if upgrade has previously failed, no problem
+ */
+ try
+ {
+ $sql = "ALTER TABLE `metadatas`
+ ADD `updated` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT '1',
+ ADD INDEX ( `updated` )";
+
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+
+ $sql = 'UPDATE metadatas SET updated = "0"
+ WHERE meta_struct_id
+ IN (SELECT id FROM metadatas_structure WHERE multi = "1")';
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+ }
+ catch (\Exception $e)
+ {
+
+ }
+
+
+ try
+ {
+ $sql = 'ALTER TABLE `metadatas` DROP INDEX `unique`';
+
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+ }
+ catch(\PDOException $e)
+ {
+
+ }
+
+ $sql = 'SELECT m . *
+ FROM metadatas_structure s, metadatas m
+ WHERE m.meta_struct_id = s.id
+ AND s.multi = "1" AND updated="0"';
+
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rowCount = $stmt->rowCount();
+ $stmt->closeCursor();
+
+ $n = 0;
+ $perPage = 1000;
+
+ while ($n < $rowCount)
+ {
+ $sql = 'SELECT m . *
+ FROM metadatas_structure s, metadatas m
+ WHERE m.meta_struct_id = s.id
+ AND s.multi = "1" LIMIT ' . $n . ', ' . $perPage;
+
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+ $databox->get_connection()->beginTransaction();
+
+ $sql = 'INSERT INTO metadatas(id, record_id, meta_struct_id, value)
+ VALUES (null, :record_id, :meta_struct_id, :value)';
+ $stmt = $databox->get_connection()->prepare($sql);
+
+ $databox_fields = array();
+
+ foreach ($rs as $row)
+ {
+ $meta_struct_id = $row['meta_struct_id'];
+
+ if ( ! isset($databox_fields[$meta_struct_id]))
+ {
+ $databox_fields[$meta_struct_id] = \databox_field::get_instance($databox, $meta_struct_id);
+ }
+
+ $values = \caption_field::get_multi_values($row['value'], $databox_fields[$meta_struct_id]->get_separator());
+
+ foreach ($values as $value)
+ {
+ $params = array(
+ ':record_id' => $row['record_id'],
+ ':meta_struct_id' => $row['meta_struct_id'],
+ ':value' => $value,
+ );
+ $stmt->execute($params);
+ }
+ }
+
+ $stmt->closeCursor();
+
+
+ $sql = 'DELETE FROM metadatas WHERE id = :id';
+ $stmt = $databox->get_connection()->prepare($sql);
+
+ foreach ($rs as $row)
+ {
+ $params = array(':id' => $row['id']);
+ $stmt->execute($params);
+ }
+
+ $stmt->closeCursor();
+
+ $databox->get_connection()->commit();
+
+ $n+= $perPage;
+ }
+
+ /**
+ * Remove the extra column
+ */
+ try
+ {
+ $sql = "ALTER TABLE `metadatas` DROP `updated`";
+ $stmt = $databox->get_connection()->prepare($sql);
+ $stmt->execute();
+ $stmt->closeCursor();
+ }
+ catch (\Exception $e)
+ {
+
+ }
+
+ return true;
+ }
}
diff --git a/lib/classes/patch/361.class.php b/lib/classes/patch/361.class.php
index bd305924d5..9994700167 100644
--- a/lib/classes/patch/361.class.php
+++ b/lib/classes/patch/361.class.php
@@ -20,128 +20,128 @@ use Doctrine\ORM\Tools\Pagination\Paginator;
class patch_361 implements patchInterface
{
- /**
- *
- * @var string
- */
- private $release = '3.6.1';
+ /**
+ *
+ * @var string
+ */
+ private $release = '3.6.1';
- /**
- *
- * @var Array
- */
- private $concern = array(base::APPLICATION_BOX);
+ /**
+ *
+ * @var Array
+ */
+ private $concern = array(base::APPLICATION_BOX);
- /**
- *
- * @return string
- */
- function get_release()
- {
- return $this->release;
- }
-
- public function require_all_upgrades()
- {
- return false;
- }
-
- /**
- *
- * @return Array
- */
- function concern()
- {
- return $this->concern;
- }
-
- function apply(base &$appbox)
- {
- $Core = \bootstrap::getCore();
-
- $em = $Core->getEntityManager();
-
- $conn = $appbox->get_connection();
-
- $sql = 'SELECT sbas_id, record_id, id FROM BasketElements';
- $stmt = $conn->prepare($sql);
- $stmt->execute();
- $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
- $stmt->closeCursor();
-
- foreach ($result as $row)
+ /**
+ *
+ * @return string
+ */
+ function get_release()
{
- $sbas_id = (int) $row['sbas_id'];
-
- try
- {
- $connbas = connection::getPDOConnection($sbas_id);
- }
- catch (\Exception $e)
- {
- $conn->exec('DELETE FROM ValidationDatas WHERE basket_element_id = ' . $row['id']);
- $conn->exec('DELETE FROM BasketElements WHERE id = ' . $row['id']);
- continue;
- }
-
- $sql = 'SELECT record_id FROM record WHERE record_id = :record_id';
- $stmt = $connbas->prepare($sql);
- $stmt->execute(array(':record_id' => $row['record_id']));
- $rowCount = $stmt->rowCount();
- $stmt->closeCursor();
-
- if ($rowCount == 0)
- {
- $conn->exec('DELETE FROM ValidationDatas WHERE basket_element_id = ' . $row['id']);
- $conn->exec('DELETE FROM BasketElements WHERE id = ' . $row['id']);
- }
+ return $this->release;
}
-
- $dql = "SELECT b FROM Entities\Basket b WHERE b.description != ''";
-
- $n = 0;
- $perPage = 100;
-
- $query = $em->createQuery($dql)
- ->setFirstResult($n)
- ->setMaxResults($perPage);
-
- $paginator = new Paginator($query, true);
-
- $count = count($paginator);
-
- while ($n < $count)
+ public function require_all_upgrades()
{
- $query = $em->createQuery($dql)
- ->setFirstResult($n)
- ->setMaxResults($perPage);
+ return false;
+ }
- $paginator = new Paginator($query, true);
+ /**
+ *
+ * @return Array
+ */
+ function concern()
+ {
+ return $this->concern;
+ }
- foreach ($paginator as $basket)
- {
- $htmlDesc = $basket->getDescription();
+ function apply(base &$appbox)
+ {
+ $Core = \bootstrap::getCore();
- $description = trim(strip_tags(str_replace("
", "\n", $htmlDesc)));
+ $em = $Core->getEntityManager();
- if ($htmlDesc == $description)
+ $conn = $appbox->get_connection();
+
+ $sql = 'SELECT sbas_id, record_id, id FROM BasketElements';
+ $stmt = $conn->prepare($sql);
+ $stmt->execute();
+ $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ $stmt->closeCursor();
+
+ foreach ($result as $row)
{
- continue;
+ $sbas_id = (int) $row['sbas_id'];
+
+ try
+ {
+ $connbas = connection::getPDOConnection($sbas_id);
+ }
+ catch (\Exception $e)
+ {
+ $conn->exec('DELETE FROM ValidationDatas WHERE basket_element_id = ' . $row['id']);
+ $conn->exec('DELETE FROM BasketElements WHERE id = ' . $row['id']);
+ continue;
+ }
+
+ $sql = 'SELECT record_id FROM record WHERE record_id = :record_id';
+ $stmt = $connbas->prepare($sql);
+ $stmt->execute(array(':record_id' => $row['record_id']));
+ $rowCount = $stmt->rowCount();
+ $stmt->closeCursor();
+
+ if ($rowCount == 0)
+ {
+ $conn->exec('DELETE FROM ValidationDatas WHERE basket_element_id = ' . $row['id']);
+ $conn->exec('DELETE FROM BasketElements WHERE id = ' . $row['id']);
+ }
}
- $basket->setDescription($description);
- }
- $n += $perPage;
- $em->flush();
+ $dql = "SELECT b FROM Entities\Basket b WHERE b.description != ''";
+
+ $n = 0;
+ $perPage = 100;
+
+ $query = $em->createQuery($dql)
+ ->setFirstResult($n)
+ ->setMaxResults($perPage);
+
+ $paginator = new Paginator($query, true);
+
+ $count = count($paginator);
+
+ while ($n < $count)
+ {
+ $query = $em->createQuery($dql)
+ ->setFirstResult($n)
+ ->setMaxResults($perPage);
+
+ $paginator = new Paginator($query, true);
+
+ foreach ($paginator as $basket)
+ {
+ $htmlDesc = $basket->getDescription();
+
+ $description = trim(strip_tags(str_replace("
", "\n", $htmlDesc)));
+
+ if ($htmlDesc == $description)
+ {
+ continue;
+ }
+
+ $basket->setDescription($description);
+ }
+
+ $n += $perPage;
+ $em->flush();
+ }
+
+ $em->flush();
+
+
+ return true;
}
- $em->flush();
-
-
- return true;
- }
-
}