function addFiles($src, &$zipFile, $typeArch) { if ($typeArch == "tar") { return $zipFile->add("{$src}/", array("callback_pre_add" => "delSvnAndSmartyDir")); } $values = array(".", "..", ".svn", "templates", "templates_c"); $dir = opendir($src); while (false !== ($file = readdir($dir))) { if (!in_array($file, $values)) { if (is_dir("{$src}/{$file}")) { addFiles("{$src}/{$file}", $zipFile, $typeArch); } else { $zipFile->addFile("{$src}/{$file}", "{$src}/{$file}"); } } } }
$debug = true; $debugString = 'debug'; } } // Always build manifest $files = array(); array_push($files, '# Version ' . time()); addFiles($files, '*.html'); addFiles($files, 'favicon.ico'); addFiles($files, 'apple-touch-icon.png'); addFiles($files, 'apple-touch-icon-precomposed.png'); addFiles($files, 'css/style.css', true); addFiles($files, 'js/*.js', true); addFiles($files, 'images/*'); addFiles($files, 'about/*.html'); addFiles($files, 'about/*.png'); //array_push($files, "\nFALLBACK:"); //array_push($files, '/ offline.html'); array_push($files, "\nNETWORK:"); //array_push($files, 'api/'); //array_push($files, 'google-analytics.com/ga.js'); array_push($files, '*'); $manifestFile = fopen('web/cache.manifest', 'wb'); if ($manifestFile) { fputs($manifestFile, "CACHE MANIFEST\n"); foreach ($files as $filename) { fputs($manifestFile, $filename . "\n"); } fclose($manifestFile); echo "Manifest file created.\n"; } else {
/** * Recursively traverses directories calling #addFile on each file encountered * @param $dir string name of directory relative to PATH in the format 'some/directory/'; may be an empty string * @param $stmts array of prepared statements; see #getPreparedStatements for details * @param $options array of options; see declaration for details */ function addFiles($dir, array $stmts, array $options = array()) { $results = array('added' => array(), 'failed' => array()); $path = PATH . $dir; if (is_dir($path)) { if ($dh = opendir($path)) { while (($file = readdir($dh)) !== false) { if ($file[0] === '.') { continue; // skips ., .., and hidden files and directories } elseif (is_dir($path . $file)) { if (!empty($options['recursive'])) { $results = array_merge_recursive($results, addFiles("{$dir}{$file}/", $stmts, $options)); } } elseif (addFile($dir, $file, $stmts, $options, $message)) { $results['added'][] = "File: {$path}" . formatName($file) . $message; } else { $results['failed'][] = "File: " . PATH . $dir . formatName($file) . $message; } } closedir($dh); } } elseif (is_file($path)) { $parts = explode('/', $dir); $file = array_pop($parts); $dir = implode('/', $parts); if (!empty($dir)) { $dir .= '/'; } if (addFile($dir, $file, $stmts, $options, $message)) { $results['added'][] = "File: " . PATH . $dir . formatName($file) . $message; } else { $results['failed'][] = "File: " . PATH . $dir . formatName($file) . $message; } } else { $results['failed'][] = "Invalid file or directory: {$path}"; } return $results; }
} // adding the mobile sitemap site accesses if ($xrowsitemapINI->hasVariable('MobileSitemapSettings', 'AvailableSiteAccessList')) { $siteAccessArray = array_merge($siteAccessArray, $xrowsitemapINI->variable('MobileSitemapSettings', 'AvailableSiteAccessList')); } $Module = $Params['Module']; $access = $GLOBALS['eZCurrentAccess']['name']; if (is_array($siteAccessArray) && count($siteAccessArray) > 0) { if (!in_array($access, $siteAccessArray)) { return $Module->handleError(eZError::KERNEL_ACCESS_DENIED, 'kernel'); } } $index = new xrowSitemapIndex(); $dirArray = array(eZSys::storageDirectory() . '/sitemap/' . xrowSitemapTools::domain(), eZSys::storageDirectory() . '/sitemap/' . xrowSitemapTools::domain() . '/' . xrowSitemapTools::FILETYP_ARCHIVE, eZSys::storageDirectory() . '/sitemap/' . xrowSitemapTools::domain() . '/' . xrowSitemapTools::FILETYP_STANDARD); foreach ($dirArray as $item) { addFiles($index, $item, $dirArray); } function addFiles(&$index, $dirname, $dirArray) { try { $dir = new eZClusterDirectoryIterator($dirname); } catch (Exception $e) { if ($e instanceof UnexpectedValueException) { eZDebug::writeDebug("Cannot add {$dirname} to the sitemaps index because it does not exist"); return; } } foreach ($dir as $file) { $f = eZClusterFileHandler::instance($file->name()); if ($f->exists()) { $exists = true;
<?php function addFiles($path) { global $jsCode; $files = scandir($path); for ($i = 0; $i < count($files); $i++) { switch ($files[$i]) { case '.': break; case '..': break; default: $jsCode .= file_get_contents($path . '/' . $files[$i]); break; } } } $jsCode = ''; $folders = ['public', 'config', 'directive', 'run', 'controller']; for ($i = 0; $i < count($folders); $i++) { addFiles('./' . $folders[$i]); } header('Content-type: text/javascript'); echo '(function(){' . $jsCode . '})()';