]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 21 Apr 2011 17:45:01 +0000 (17:45 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Thu, 21 Apr 2011 17:45:01 +0000 (17:45 +0000)
inc/ws/Controlleur/class.ws.url.php
inc/ws/DAO/class.ws.dao.document.php
inc/ws/_common.php
js/ws.js
swf/_src/assets/linksNav.png
swf/_src/composerLibrary.swc

index 4c5f6d734fcc7ca313abc5431eab703118df4221..ccfd17be5cedbb5ad32be8bae07c4680faa74f51 100644 (file)
@@ -311,6 +311,8 @@ class wsUrl {
                        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
@@ -325,6 +327,57 @@ html{height:100%}' . "\n";
                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
index 27b2d0f05303aa745b07f670aa878313d4a1115b..7d42e3a028dd6f97e222d9282a7dcb2fa381f0f4 100644 (file)
@@ -305,6 +305,26 @@ class wsDAODocument extends commonDAO {
                }\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
index a4f1758c4d580dc1a5f9cbdad8e30a3db14252b4..e803a91278ba6c5927f0017ea98b9f9db0d15b97 100644 (file)
@@ -11,6 +11,7 @@ $core->url->register('flash', 'flash', '^flash(.*)$', array('wsFlash', 'in'));
 $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
index 2da7fe239c57ea1e2614345468763d75e1d4d35a..4f83309fa142b644c10547eb5ea72557b0f8f49c 100644 (file)
--- a/js/ws.js
+++ b/js/ws.js
@@ -30,6 +30,15 @@ function load_ws(){
                });\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
index 0e3da56e171ec32bbc84e6f9c20d14ef15010bfd..21e57799dd4698e35e665f952743d4b7566d01b8 100644 (file)
Binary files a/swf/_src/assets/linksNav.png and b/swf/_src/assets/linksNav.png differ
index 296bbc497d15cca8f125cdc80ad71d5e28307d3c..12dc6c82f2fb79d3c00812c420585b6d630b036c 100644 (file)
Binary files a/swf/_src/composerLibrary.swc and b/swf/_src/composerLibrary.swc differ