http::redirect(SITE_PATH . 'editor/' . $book->book_id);\r
}\r
\r
+ cubePage::swfaddress();\r
+\r
$res = '<html><head><style type="text/css">';\r
$res .= '#composerSwf{width:100%;height:100%;margin:0 auto;}\r
body{margin:0;padding:0;height:100%;overflow:hidden;background:#d2d3c7;}\r
echo $res;\r
}\r
\r
+ /**\r
+ * wsUrl::restoreLinks()\r
+ *\r
+ * @param mixed $args\r
+ * @return\r
+ */\r
+ public static function restoreLinks($args)\r
+ {\r
+ commonDroits::min(1);\r
+\r
+ global $core;\r
+\r
+ $args = cubePage::getArgs($args);\r
+ $book_id = $args[0];\r
+\r
+ $dao = new wsDAODocument($core->con);\r
+ $updates = $dao->getLinksVersions($book_id);\r
+ krsort($updates);\r
+\r
+ $res = '<html><head>';\r
+ $res .= '<title>' . __('Restauration des liens de la publication') . ' #' . $args[0] . '</title>';\r
+ $res .= '</head>';\r
+ $res .= '<body onload="this.focus();">';\r
+ $res .= '<div id="restoreLinks">';\r
+ $res .= '<table class="liste" style="width:100%;min-width:0;">';\r
+ $res .= '<tr>';\r
+ $res .= '<th>' . __('Date') . '</th>';\r
+ $res .= '<th class="center">' . __('Nombre de liens') . '</th>';\r
+ $res .= '<th class="center">' . __('Nombre de règles') . '</th>';\r
+ $res .= '<th class="min"></th>';\r
+ $res .= '</tr>';\r
+ $i=0;\r
+ foreach($updates as $time => $infos) {\r
+ $odd=cubeMath::isOdd($i)?' class="odd"':'';\r
+ $res .= '<tr'.$odd.'>';\r
+ $res .= '<td>' . date('Y-m-d H:i:s',$time) . '</td>';\r
+ $res .= '<td class="center">' . $infos['links'] . '</td>';\r
+ $res .= '<td class="center">' . $infos['rulers'] . '</td>';\r
+ $res .= '<td><a href="#" rel="' . $book_id . '/' . $time . '" class="restoreLink">' . __('Restaurer') . '</a></td>';\r
+ $res .= '</tr>';\r
+ $i++;\r
+ }\r
+\r
+ $res .= '</table>';\r
+ $res .= '</div>';\r
+ $res .= '</body>';\r
+ $res .= '</html>';\r
+\r
+ echo $res;\r
+ }\r
+\r
public static function editComposition($args)\r
{\r
$fv = array(session_name() => session_id(),\r
}\r
}\r
\r
+ public function getLinksVersions($book_id)\r
+ {\r
+ $res = array();\r
+ $r = $this->con->select('SELECT * FROM document_links_versions WHERE document_id IN(SELECT document_id FROM book_pages WHERE book_id=\'' . $this->con->escape($book_id) . '\')');\r
+ while ($r->fetch()) {\r
+ if (!isset($res[$r->update])) {\r
+ $res[$r->update] = array('links' => 0, 'rulers' => 0);\r
+ }\r
+ $ll = json_decode($r->links);\r
+ foreach($ll as $lll) {\r
+ $res[$r->update]['links'] += count($lll);\r
+ }\r
+ $rr = json_decode($r->rulers);\r
+ foreach($rr as $rrr) {\r
+ $res[$r->update]['rulers'] += count($rrr);\r
+ }\r
+ }\r
+ return $res;\r
+ }\r
+\r
public function getNextId()\r
{\r
$r = $this->con->select('SELECT MAX(document_id) AS document_id FROM documents');\r
$core->url->register('services', 'services', '^services(.*)$', array('wsServices', 'in'));\r
$core->url->register('maintenance', 'maintenance', '^maintenance(.*)$', array('wsMaintenance', 'in'));\r
$core->url->register('editor', 'editor', '^editor/(.*)$', array('wsUrl', 'editor'));\r
+$core->url->register('restoreLinks', 'restoreLinks', '^restoreLinks/(.*)$', array('wsUrl', 'restoreLinks'));\r
$core->url->register('viewer', 'viewer', '^viewer/(.*)$', array('wsUrl', 'viewer'));\r
$core->url->register('vieweru', 'vieweru', '^vieweru/(.*)$', array('wsUrl', 'vieweru'));\r
$core->url->register('viewerp', 'viewerp', '^viewerp/(.*)$', array('wsUrl', 'viewerp'));\r
});\r
}\r
\r
+ $(".restoreLink").click(restoreLink);\r
+}\r
+\r
+function restoreLink(){\r
+ $.ajax({\r
+ url : SITE_PATH+'ajax/restoreLink/'+$(this).attr('rel'),\r
+ success : function(data){window.opener.location=window.opener.location;window.close();}\r
+ });\r
+ return false;\r
}\r
\r
function findProprietaire(li){\r