}\r
}\r
\r
+ public static function copyLinks($args) {\r
+ list($from, $to) = $args;\r
+ global $core;\r
+\r
+ $dao = new wsDAODocument($core->con);\r
+\r
+ $dao->getLinksAndRulers($from, $fromlinks, $fromrulers);\r
+ $dao->getLinksAndRulers($to, $tolinks, $torulers);\r
+\r
+ $tolinks = array_merge($tolinks, $fromlinks);\r
+ $torulers = array_merge($torulers, $fromrulers);\r
+\r
+ $dao->setLinksAndRulers($to, $tolinks, $torulers, 'Copy links from #' . $from . ' to #' . $to,$core->user->utilisateur_id);\r
+ }\r
+\r
public static function importBooks($oldBooks) {\r
global $core, $allTrads, $signatures;\r
// Importe les fluidbooks\r
}\r
`rm -rf $f`;\r
}\r
- \r
- if(!file_exists($dir)){\r
- mkdir($dir,0777,true);\r
+\r
+ if (!file_exists($dir)) {\r
+ mkdir($dir, 0777, true);\r
}\r
}\r
}\r
<?php\r
\r
class wsServices extends cubeFlashGateway {\r
+\r
const CNAME = __CLASS__;\r
\r
public static function in($args) {\r
$pdftk->setPath(CONVERTER_PATH);\r
$pdftk->setManualArg($args);\r
$pdftk->execute();\r
- // Debug\r
- fb($pdftk->command);\r
- fb($pdftk->output);\r
// Return the url of the resulting pdf\r
http::redirect($destURL);\r
exit;\r
}\r
\r
+ public function proxy() {\r
+ ob_end_clean();\r
+ fb(netHttp::quickGet($_GET['u'], 'php://output'));\r
+ $this->outputXML=false;\r
+ }\r
+\r
}\r
\r
?>
\ No newline at end of file
public static function exportLinksAsExcel($args) {\r
global $core;\r
\r
+ cubePHP::neverStop();\r
+ \r
$book_id = $args[1];\r
$time = $args[2];\r
\r
}\r
}\r
\r
- public function restoreLinksVersion($book_id, $update, $user=0) {\r
+ public function restoreLinksVersion($book_id, $update, $user = 0) {\r
\r
$daoBook = new wsDAOBook($this->con);\r
$pages = $daoBook->getPagesOfBookAt($book_id, $update);\r
return implode("\n", $log);\r
}\r
\r
- public function setLinksAndRulers($book_id, $links, $rulers, $comments='', $user=0) {\r
+ public function setLinksAndRulers($book_id, $links, $rulers, $comments = '', $user = 0) {\r
$daoBook = new wsDAOBook($this->con);\r
- $pages = $daoBook->getPagesOfBook($book_id);\r
-\r
+ $pages = $daoBook->getPagesOfBook($book_id,false);\r
+ \r
+ if (is_array($links)) {\r
+ $links = json_encode($links);\r
+ }\r
+ if (is_array($rulers)) {\r
+ $rulers = json_encode($rulers);\r
+ }\r
$links = json_decode($links, false);\r
$rulers = json_decode($rulers, false);\r
\r
\r
krsort($links);\r
\r
- foreach($links as $document_id=>$l){\r
+ foreach ($links as $document_id => $l) {\r
wsLinks::setDocumentLinks($document_id, json_encode($l), json_encode(array()), 0, 'Import from Fluidbook V1', TIME);\r
}\r
\r
$c->update('WHERE book_id=\'' . $this->con->escape($book_id) . '\'');\r
}\r
\r
- public function getLinksAndRulers($book_id, &$links, &$rulers, $time=null) {\r
+ public function getLinksAndRulers($book_id, &$links, &$rulers, $time = null) {\r
return wsLinks::getLinksAndRulers($book_id, $links, $rulers, $time);\r
}\r
\r
class wsLinks {
public static function linksToExcel($links, $rulers, $pages = null) {
- $cols = array('document_id' => __('Document'), 'document_page' => __('Page du document'),
+ $cols = array(
'page' => __('Page de la publication'), 'left' => __('x'), 'top' => __('y'), 'width' => __('Largeur'), 'height' => __('Hauteur'),
'type' => __('Type'), 'to' => __('Destination'), 'target' => __('Cible'),
'infobulle' => __('Infobulle'), 'numerotation' => __('Numérotation'),
'interactive' => __('Interactivité'), 'video_service' => __('Webvideo : service'),
'display_area' => __('Afficher le lien au rollover'),
'extra' => __('Paramètre supplémentaire'),
- 'alternative'=>__('Alternative')
+ 'alternative' => __('Alternative')
);
+ new PHPExcel();
+
+ $cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_memcache;
+ $cacheSettings = array('memcacheServer' => 'localhost',
+ 'memcachePort' => 11211,
+ 'cacheTime' => 600
+ );
+ PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
+
+
$xls = new PHPExcel();
$s = $xls->setActiveSheetIndex(0);
$s->setTitle('Links');
$s = $xls->createSheet();
$s->setTitle('Rulers');
- $rcols = array('document_id', 'document_page', 'page', 'type', 'pos');
+ $rcols = array( 'page', 'type', 'pos');
$i = 0;
// Labels
foreach ($rcols as $id) {
public static function getDocumentVersionLinks($document_id, $time) {
global $core;
- $r = $core->con->select('SELECT * FROM document_links_versions WHERE document_id=' . $document_id.' AND `update`<='.$time .' ORDER BY `update` DESC LIMIT 1');
+ $r = $core->con->select('SELECT * FROM document_links_versions WHERE document_id=' . $document_id . ' AND `update`<=' . $time . ' ORDER BY `update` DESC LIMIT 1');
return self::_recordToLinks($r);
}
$rulers = array();
fb($time);
-
+
foreach ($documents as $d) {
if (is_null($time)) {
$lr = self::getDocumentLastLinks($d);