function zip_add() { if (logged_user()->isGuest()) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } ajx_current("empty"); if (!zip_supported()) { flash_error(lang('zip not supported')); return; } $files = ProjectFiles::findByCSVIds(array_var($_GET, 'objects'), '`type` = 0'); if (count($files) == 0) { flash_error(lang('no files to compress')); return; } $isnew = false; $file = null; if (array_var($_GET, 'filename')) { $filename = array_var($_GET, 'filename'); $isnew = true; } else if (array_var($_GET, 'id')) { $file = ProjectFiles::findById(array_var($_GET, 'id')); $filename = $file->getFilename(); } $tmp_zip_path = ROOT.'/tmp/'.rand().'.zip'; $handle = fopen($tmp_zip_path, 'wb'); if (!$isnew) { $content = $file->getLastRevision()->getFileContent(); fwrite($handle, $content, $file->getLastRevision()->getFilesize()); } fclose($handle); $zip = new ZipArchive(); if (!$isnew) $zip->open($tmp_zip_path); else $zip->open($tmp_zip_path, ZipArchive::OVERWRITE); $tmp_dir = ROOT.'/tmp/'.rand().'/'; mkdir($tmp_dir); $members = array(); foreach ($files as $file_to_add) { if (FileRepository::getBackend() instanceof FileRepository_Backend_FileSystem) { $file_to_add_path = FileRepository::getBackend()->getFilePath($file_to_add->getLastRevision()->getRepositoryId()); } else { $file_to_add_path = $tmp_dir . $file_to_add->getFilename(); $handle = fopen($file_to_add_path, 'wb'); fwrite($handle, $file_to_add->getLastRevision()->getFileContent(), $file_to_add->getLastRevision()->getFilesize()); fclose($handle); } $zip->addFile($file_to_add_path, utf8_safe($file_to_add->getFilename())); $members[] = $file_to_add->getMemberIds(); } $zip->close(); delete_dir($tmp_dir); $this->upload_file($file, $filename, $tmp_zip_path, $members); unlink($tmp_zip_path); flash_success(lang('success compressing files', count($files))); ajx_current("reload"); }
?> , isAdmin: <?php echo logged_user()->isAdministrator() ? 'true' : 'false'; ?> , isGuest: <?php echo logged_user()->isGuest() ? 'true' : 'false'; ?> , tz: <?php echo logged_user()->getTimezone(); ?> }; og.zipSupported = <?php echo zip_supported() ? 1 : 0; ?> ; og.hasNewVersions = <?php if (config_option('upgrade_last_check_new_version', false) && logged_user()->isAdministrator()) { echo json_encode(lang('new Feng Office version available', "#", "og.openLink(og.getUrl('administration', 'upgrade'))")); } else { echo "false"; } ?> ; og.config = { 'files_per_page': <?php echo json_encode(config_option('files_per_page', 10)); ?> ,
private function download_zip_lang($locale) { if (!zip_supported()) { die(lang("zip not supported")); } $filename = "tmp/$locale.zip"; if (is_file($filename)) unlink($filename); $zip = new ZipArchive(); $zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE); $zip->addFile(LANG_DIR . "/$locale.php", "$locale.php"); $zip->addEmptyDir($locale); $dir = opendir(LANG_DIR . "/" . $locale); while (false !== ($file = readdir($dir))) { if ($file != "." && $file != ".." && $file != "CVS") { $zip->addFile(LANG_DIR . "/$locale/$file", "$locale/$file"); } } closedir($dir); $zip->close(); header("Cache-Control: public"); header("Expires: -1"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Content-Type: application/zip"); header("Content-Length: " . (string) filesize($filename)); header("Content-Disposition: 'attachment'; filename=\"$locale.zip\""); header("Content-Transfer-Encoding: binary"); readfile($filename); die(); }
?> og.usertimezone = og.calculate_time_zone(new Date(<?php echo $now->getYear() ?>,<?php echo $now->getMonth() - 1 ?>,<?php echo $now->getDay() ?>,<?php echo $now->getHour() ?>,<?php echo $now->getMinute() ?>,<?php echo $now->getSecond() ?>)); og.openLink(og.getUrl('account', 'set_timezone', {'tz': og.usertimezone}), {'hideLoading': true}); <?php } ?> og.CurrentPagingToolbar = <?php echo defined('INFINITE_PAGING') && INFINITE_PAGING ? 'og.InfinitePagingToolbar' : 'og.PagingToolbar' ?>; og.loggedUser = { id: <?php echo logged_user()->getId() ?>, username: <?php echo json_encode(logged_user()->getUsername()) ?>, displayName: <?php echo json_encode(logged_user()->getObjectName()) ?>, isAdmin: <?php echo logged_user()->isAdministrator() ? 'true' : 'false' ?>, isGuest: <?php echo logged_user()->isGuest() ? 'true' : 'false' ?>, tz: <?php echo logged_user()->getTimezone() ?>, type: <?php echo logged_user()->getUserType() ?> }; og.zipSupported = <?php echo zip_supported() ? 1 : 0 ?>; og.hasNewVersions = <?php if (config_option('upgrade_last_check_new_version', false) && logged_user()->isAdministrator()) { echo json_encode(lang('new Feng Office version available', "#", "og.openLink(og.getUrl('administration', 'upgrade'))")); } else { echo "false"; } ?>; og.config = { 'mails_per_page': <?php echo json_encode(user_config_option('mails_per_page',50)) ?>, 'contacts_per_page': <?php echo json_encode(user_config_option('contacts_per_page',50)) ?>, 'files_per_page': <?php echo json_encode(config_option('files_per_page', 50)) ?>, 'days_on_trash': <?php echo json_encode(config_option("days_on_trash", 0)) ?>, 'checkout_notification_dialog': <?php echo json_encode(config_option('checkout_notification_dialog', 0)) ?>, 'use_time_in_task_dates': <?php echo json_encode(config_option('use_time_in_task_dates')) ?>, 'can_assign_tasks_to_companies': <?php echo json_encode(config_option('can_assign_tasks_to_companies')) ?>,
$options = array(); if (!$file->isTrashed()) { if ($file && strcmp($file->getTypeString(), 'prsn') == 0) { add_page_action(lang('slideshow'), "javascript:og.slideshow(" . $file->getId() . ")", 'ico-slideshow'); } if ($file && $file->isMP3()) { $songinfo = array($file->getProperty("songname"), $file->getProperty("songartist"), $file->getProperty("songalbum"), $file->getProperty("songtrack"), $file->getProperty("songyear"), $file->getProperty("songduration"), $file->getDownloadUrl(), $file->getFilename(), $file->getId()); $songdata = str_replace('"', "'", json_encode($songinfo)); add_page_action(lang('play'), "javascript:og.playMP3(" . $songdata . ")", 'ico-play'); add_page_action(lang('queue'), "javascript:og.queueMP3(" . $songdata . ")", 'ico-queue'); } else { if ($file && strcmp($file->getTypeString(), 'application/xspf+xml') == 0) { add_page_action(lang('play'), "javascript:og.playXSPF(" . $file->getId() . ")", 'ico-play'); } } if (file_is_zip($file->getTypeString(), get_file_extension($file->getFilename())) && zip_supported()) { add_page_action(lang('extract'), get_url('files', 'zip_extract', array('id' => $file->getId())), 'ico-zip-extract'); if ($file->canEdit(logged_user())) { add_page_action(lang('add files to zip'), "javascript:og.pickObjectToZip({$file->getId()})", 'ico-zip-add'); } } if ($file->canEdit(logged_user())) { if (!$file->isArchived()) { add_page_action(lang('archive'), "javascript:if(confirm(lang('confirm archive object'))) og.openLink('" . $file->getArchiveUrl() . "');", 'ico-archive-obj'); } else { add_page_action(lang('unarchive'), "javascript:if(confirm(lang('confirm unarchive object'))) og.openLink('" . $file->getUnarchiveUrl() . "');", 'ico-unarchive-obj'); } } } if ($file->canDownload(logged_user()) && $file->getType() != ProjectFiles::TYPE_WEBLINK) { $url = $file->getDownloadUrl();