$db->books->numerotation('text', 0, false);\r
$db->books->changedate('integer', 0, false);\r
$db->books->compiledate('integer', 0, false);\r
+ $db->books->syncv1('integer',0,false,0);\r
// Clés\r
$db->books->primary('pk_books', 'book_id');\r
$db->books->index('index_books_nom', 'BTREE', 'nom');\r
public static function importFromOldWS($args)\r
{\r
global $core;\r
- // Supprime pour le test\r
- $core->con->execute('DELETE FROM book_pages WHERE book_id>3940 AND book_id<10000');\r
- $core->con->execute('DELETE FROM books WHERE book_id>3940 AND book_id<10000');\r
- $core->con->execute('DELETE FROM themes WHERE theme_id>627 AND theme_id<1000');\r
- $core->con->execute('DELETE FROM documents WHERE document_id>12673 AND document_id<100000');\r
- $core->con->execute('DELETE FROM langues WHERE lang_id=\'te\'');\r
- $core->con->execute('DELETE FROM utilisateurs WHERE utilisateur_id>699');\r
- $core->con->execute('DELETE FROM entreprises WHERE entreprise_id>561');\r
// Import des fluidbooks\r
// Donc le dernier importé est le max dont le numéro est inférieur à 10000\r
$r = $core->con->select('SELECT MAX(book_id) AS book_id FROM books WHERE book_id<10000');\r
$oldBooks[] = $r->bid;\r
}\r
\r
- fb($oldBooks, 'Old books to import');\r
-\r
if (count($oldBooks)) {\r
self::importLangs($oldBooks);\r
self::importThemes($oldBooks);\r
self::importDocs($oldBooks);\r
self::importBooks($oldBooks);\r
}\r
-\r
$core->refreshWSUsersTree();\r
}\r
\r
fb($e);\r
}\r
}\r
-\r
- fb($oldDocuments, 'Old documents imported');\r
}\r
\r
public static function importBooks($oldBooks)\r
$c->hash = $r->code;\r
$c->compteur_visites = 20;\r
$c->date = $r->date;\r
+ $c->syncv1 = 1;\r
$parametres = new wsBookParametres(new stdClass());\r
$parametres->fromRecord($r);\r
\r
\r
public static function dumpDatabase()\r
{\r
- cubeDb::mysqlDump('localhost', DB_NAME , DB_USER , DB_PASSWORD , ROOT. '/backups/dump-'.date('Y-m-d-H-i-s').'.sql', true, 8);\r
+ cubeDb::mysqlDump('localhost', DB_NAME , DB_USER , DB_PASSWORD , ROOT . '/backups/dump-' . date('Y-m-d-H-i-s') . '.sql', true, 8);\r
+ }\r
+\r
+ public static function cleanPackages()\r
+ {\r
+ $limit = TIME - (4 * 3600); // 4 heures avant maintenant*\r
+\r
+ // Clean downloaded packages\r
+ $dir = WS_FILES . '/packager/download/';\r
+ $dr = opendir($dir);\r
+ while ($file = readdir($dr)) {\r
+ if ($file == '.' || $file == '..') {\r
+ continue;\r
+ }\r
+ $f = $dir . $file;\r
+ if (filemtime($f) > $limit) {\r
+ continue;\r
+ }\r
+ unlink($f);\r
+ }\r
+ // Clean tempdir of packager\r
+ $dir = WS_FILES . '/packager/';\r
+ $dr = opendir($dir);\r
+ while ($file = readdir($dr)) {\r
+ if ($file == 'download' || $file == '.' || $file == '..') {\r
+ continue;\r
+ }\r
+ $f = $dir . $file;\r
+ if (!is_dir($f)) {\r
+ continue;\r
+ }\r
+ if (filemtime($f) > $limit) {\r
+ continue;\r
+ }\r
+ `rm -rf $f`;\r
+ }\r
+ }\r
+\r
+ public static function cleanConversionSessions()\r
+ {\r
+ $limit = TIME - (4 * 3600); // 4 heures avant maintenant*\r
+\r
+ $dir = ROOT . '/cache/conversionSessions/';\r
+ $dr = opendir($dir);\r
+ while ($file = readdir($dr)) {\r
+ if ($file == '.' || $file == '..') {\r
+ continue;\r
+ }\r
+ $f = $dir . $file;\r
+ if (filemtime($f) > $limit) {\r
+ continue;\r
+ }\r
+ unlink($f);\r
+ }\r
}\r
}\r
\r
$book->facturable_id = $r->facturable_id;\r
$book->tache = $r->tache;\r
$book->projet = $r->projet;\r
+ $book->syncv1 = $r->syncv1;\r
\r
return $book;\r
}\r
$book->parametres = new wsBookParametres();\r
$book->tache = 0;\r
$book->pages = array();\r
+ $book->syncv1 = 0;\r
return $book;\r
}\r
\r
$c->compteur_visites = 20;\r
$c->parametres = serialize(new wsParametres());\r
$c->changedate = TIME;\r
+ $c->syncv1 = 0;\r
$book_id = $c->book_id = $this->getNextId();\r
\r
$c->insert();\r
} else {\r
$c->changedate = TIME;\r
+ $c->syncv1 = 0;\r
$book_id = $data['book_id'];\r
$c->update('WHERE book_id=\'' . $this->con->escape($data['book_id']) . '\'');\r
}\r
$c->theme = $r->theme;\r
$c->changedate = TIME;\r
$c->compiledate = 0;\r
+ $c->syncv1 = 0;\r
$book_id = $c->book_id = $this->getNextId();\r
$c->insert();\r
\r
$c = $this->con->openCursor('books');\r
$c->chapters = json_encode(json_decode($json, false));\r
$c->changedate = TIME;\r
+ $c->syncv1 = 0;\r
$c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
}\r
\r
$c = $this->con->openCursor('books');\r
$c->theme = $theme;\r
$c->changedate = TIME;\r
+ $c->syncv1 = 0;\r
$c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
}\r
\r
$c->lang = $base;\r
$c->traductions = $t;\r
$c->changedate = TIME;\r
+ $c->syncv1 = 0;\r
$c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
}\r
\r
$c->nom = $parametres->title;\r
$c->parametres = serialize($parametres);\r
$c->changedate = TIME;\r
+ $c->syncv1 = 0;\r
$c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
}\r
\r
$c->parametres = serialize($parametres);\r
$c->numerotation = implode(',', $numerotation);\r
$c->changedate = TIME;\r
+ $c->syncv1 = 0;\r
$c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
\r
$this->con->execute('DELETE FROM book_pages WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r