}\r
}\r
\r
+ /**\r
+ * commonCore::dbSync()\r
+ *\r
+ * @return\r
+ */\r
public function dbSync()\r
{\r
$cache = ROOT . '/cache/DB_SYNC';\r
$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
{\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