if (!file_exists($dir)) {\r
mkdir($dir, 0777, true);\r
}\r
- if (isset($_FILES['apns_dev'])) {\r
+ $wdir = WS_COLLECTIONS . '/working/' . $_POST['collection_id'];\r
+ if (!file_exists($wdir)) {\r
+ mkdir($wdir, 0777, true);\r
+ }\r
+\r
+ if (isset($_FILES['apns_dev']) && !$_FILES['apns_dev']['error']) {\r
move_uploaded_file($_FILES['apns_dev']['tmp_name'], $dir . '/apns_dev.pem');\r
}\r
- if (isset($_FILES['apns_prod'])) {\r
+ if (isset($_FILES['apns_prod']) && $_FILES['apns_prod']['error']) {\r
move_uploaded_file($_FILES['apns_prod']['tmp_name'], $dir . '/apns_prod.pem');\r
}\r
+ if (isset($_FILES['back']) && !$_FILES['back']['error']) {\r
+ $ext = CubeIT_Files::getExtension($_FILES['back']['name']);\r
+ move_uploaded_file($_FILES['back']['tmp_name'], $wdir . '/back.' . $ext);\r
+ $_POST['theme']['back'] = 'back.' . $ext;\r
+ }\r
+ if (isset($_FILES['etagere']) && !$_FILES['etagere']['error']) {\r
+ $ext = CubeIT_Files::getExtension($_FILES['etagere']['name']);\r
+ move_uploaded_file($_FILES['etagere']['tmp_name'], $wdir . '/etagere.' . $ext);\r
+ $_POST['theme']['etagere'] = 'etagere.' . $ext;\r
+ }\r
\r
foreach ($_POST['group'] as $gid => $group) {\r
if ($gid && $gid == 'new_') {\r
$exporter->export($book_id, $x, 'download', $version);\r
}\r
\r
- public static function instbook($args, &$x) {\r
- global $core;\r
- $book_id = $args[1];\r
- $server = $args[2];\r
-\r
- $dao = new wsDAOBook($core->con);\r
- $book = $dao->selectById($book_id);\r
-\r
- if (!in_array($book->proprietaire_id, explode(',', $core->user->ws_rights))) {\r
- commonDroits::error();\r
- }\r
- if (!isset($_POST['dir'])) {\r
- $popup = commonAjax::form('instbook/' . $book_id . '/' . $server, __('Installation de la publication'), wsUrl::formInstall($book, $server), __('Installer'), 2, '', '', true);\r
- $x->addOpenPopup($popup);\r
- return;\r
- }\r
- $version = 'html';\r
- if ($book->parametres->version == 1) {\r
- $version = 'v1';\r
- }\r
- if (stristr($server, 'phonegap')) {\r
- if (stristr($server, 'ios')) {\r
- $os = 'ios';\r
- } elseif (stristr($server, 'android')) {\r
- $os = 'android';\r
- }\r
- $packager = new wsPackagerPhonegap($book_id, null, true, false, $os);\r
- $package = $packager->makePackage(false);\r
- } else {\r
- $package = wsPackager::package($book_id, $version, false);\r
- }\r
-\r
- if ($server == 'references') {\r
- $root = '/home/fluidbook/www/references';\r
- $url = 'http://www.fluidbook.com/references/';\r
- $protocol = 'rsync';\r
- } else if ($server == 'hosting') {\r
- $root = '/home/fluidbook/hosting';\r
- $url = 'http://hosting.fluidbook.com/';\r
- $protocol = 'rsync';\r
- } else if ($server == 'macbook_phonegap_ios') {\r
- $root = '/mnt/macbook/Phonegap/Projects/';\r
- $url = null;\r
- $protocol = 'rsync';\r
- } else if ($server == 'external') {\r
- $protocol = 'ftp';\r
- $root = 'ftp://';\r
- $passive = 'on';\r
- $url = null;\r
- } else if ($server == 'phonegap_android') {\r
- $protocol = 'ftp';\r
- $root = 'ftp://android:DlSa1LGw@paris.cubedesigners.com:22122/';\r
- $passive = 'off';\r
- $url = null;\r
- }\r
-\r
- if ($protocol == 'rsync') {\r
- $e = explode('/', $_POST['dir']);\r
- $f = array();\r
- foreach ($e as $d) {\r
- if ($d == '..' || $d == '') {\r
- continue;\r
- }\r
- $f[] = cubeText::str2URL($d);\r
- }\r
- $dir = implode('/', $f);\r
- } else {\r
- $dir = $_POST['dir'];\r
- }\r
-\r
- $dao->setInstallDir($book_id, $dir, $server);\r
-\r
- if ($protocol == 'rsync') {\r
-\r
- $finalDir = $root . '/' . $dir;\r
- if (!file_exists($finalDir)) {\r
- mkdir($finalDir, 0777, true);\r
- }\r
-\r
- /** --del -r -z -v * */\r
- $cp = new cubeCommandLine('rsync');\r
- $cp->setPath(CONVERTER_PATH);\r
- //$cp->setArg('del');\r
- $cp->setArg('t');\r
- $cp->setArg('r');\r
- $cp->setArg('z');\r
- $cp->setArg('v');\r
- $cp->setArg(null, $package . '*');\r
- $cp->setArg(null, $finalDir);\r
- $cp->execute();\r
- } elseif ($protocol == 'ftp') {\r
-\r
- $u = parse_url($root . ltrim($dir, '/'));\r
- if (!isset($u['port'])) {\r
- $u['port'] = '21';\r
- }\r
-\r
- $commandes = array(\r
- 'set ftp:passive-mode ' . $passive,\r
- 'mkdir -p ' . $u['path'],\r
- 'cd ' . $u['path'],\r
- 'lcd ' . $package,\r
- //'mirror -Rve --parallel=5'\r
- 'mirror -Rv --parallel=5'\r
- );\r
-\r
- $lftp = new cubeCommandLine('lftp');\r
- $lftp->setArg('u', $u['user'] . ',' . $u['pass']);\r
- $lftp->setArg('p', $u['port']);\r
- $lftp->setArg('e', implode(';', $commandes));\r
- $lftp->setArg(null, $u['host']);\r
- $lftp->execute();\r
- }\r
-\r
- $x->addClosePopup();\r
- if (!is_null($url)) {\r
- $x->addTruePopup($url . $dir . '/');\r
- }\r
- }\r
-\r
public static function statusBook($args, &$x) {\r
global $core;\r
\r