]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 19 Apr 2011 13:09:57 +0000 (13:09 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Tue, 19 Apr 2011 13:09:57 +0000 (13:09 +0000)
inc/commons/class.common.core.php
inc/ws/Controlleur/class.ws.maintenance.php

index 89f5f416be97ff541599b859c4848ec592bb4ac4..b129542cf4f4427e25e29f7be48a582514c9e6d8 100644 (file)
@@ -95,6 +95,11 @@ class commonCore extends cubeCore {
                }\r
        }\r
 \r
+       /**\r
+        * commonCore::dbSync()\r
+        *\r
+        * @return\r
+        */\r
        public function dbSync()\r
        {\r
                $cache = ROOT . '/cache/DB_SYNC';\r
@@ -329,7 +334,9 @@ class commonCore extends cubeCore {
                $db->document_links->document_id('integer', 0, false);\r
                $db->document_links->document_page('integer', 0, false);\r
                $db->document_links->links('text', 0, false);\r
+               $db->document_links->nb_links('integer', 0, false);\r
                $db->document_links->rulers('text', 0, false);\r
+               $db->document_links->nb_rulers('integer', 0, false);\r
                $db->document_links->update('integer', 0, false);\r
                // Clés\r
                $db->document_links->primary('pk_document_links', 'document_id', 'document_page', 'update');\r
index 2838b8553cd702530e4e86782a353c8155d667ae..1da3727f30ad096c09622da9a6456b4d613fe3ae 100644 (file)
@@ -15,11 +15,43 @@ class wsMaintenance {
        {\r
                global $core;\r
                $book_id = $args[0];\r
-               fb($book_id);\r
                $dao = new wsDAODocument($core->con);\r
                $dao->setLinksFromOldFluidbook($book_id);\r
        }\r
 \r
+       public static function compactLinks()\r
+       {\r
+               global $core;\r
+               $r = $core->con->select('SELECT * FROM `document_links_versions` GROUP BY document_id,links,rulers');\r
+               $keep = array();\r
+               while ($r->fetch()) {\r
+                       if (!isset($keep[$r->document_id])) {\r
+                               $keep[$r->document_id] = array();\r
+                       }\r
+                       $keep[$r->document_id][] = $r->update;\r
+               }\r
+\r
+               foreach($keep as $document_id => $dates) {\r
+                       $core->con->execute('DELETE FROM document_links_versions WHERE document_id=' . $document_id . ' AND `update` NOT IN(' . implode(',', $dates) . ')');\r
+               }\r
+       }\r
+\r
+       public static function checkSerializeLinks()\r
+       {\r
+               global $core;\r
+               $r = $core->con->select('SELECT * FROM document_links_versions');\r
+               while ($r->fetch()) {\r
+                       if (substr($r->links, 1, 1) == ':') {\r
+                               $links = unserialize($r->links);\r
+                               $rulers = unserialize($r->rulers);\r
+                               $c = $core->con->openCursor('document_links_versions');\r
+                               $c->rulers = json_encode($rulers);\r
+                               $c->links = json_encode($links);\r
+                               $c->update('WHERE document_id=' . $r->document_id . ' AND `update`=' . $r->update);\r
+                       }\r
+               }\r
+       }\r
+\r
        public static function moveLinksToVersionDB()\r
        {\r
                global $core;\r