printRSSFeed(); exitZP(); } $_zp_script = ''; //$_zp_script_timer['controller'] = microtime(); // Display an arbitrary theme-included PHP page if (isset($_GET['p'])) { $theme = prepareCustomPage(); // Display an Image page. } else if (in_context(ZP_IMAGE)) { $theme = prepareImagePage(); // Display an Album page. } else if (in_context(ZP_ALBUM)) { $theme = prepareAlbumPage(); // Display the Index page. } else if (in_context(ZP_INDEX)) { $theme = prepareIndexPage(); } //$_zp_script_timer['page'] = microtime(); if (!isset($theme)) { $theme = setupTheme(); } //$_zp_script_timer['theme setup'] = microtime(); $custom = SERVERPATH.'/'.THEMEFOLDER.'/'.internalToFilesystem($theme).'/functions.php'; if (file_exists($custom)) { require_once($custom); } else { $custom = false; } if (DEBUG_PLUGINS) { debugLog('Loading the "theme" plugins.'); } $_zp_loaded_plugins = array(); foreach (getEnabledPlugins() as $extension=>$loadtype) { if ($loadtype&THEME_PLUGIN) { if (DEBUG_PLUGINS) { list($usec, $sec) = explode(" ", microtime()); $start = (float)$usec + (float)$sec; } require_once(getPlugin($extension.'.php')); if (DEBUG_PLUGINS) { list($usec, $sec) = explode(" ", microtime()); $end = (float)$usec + (float)$sec; debugLog(sprintf(' '.$extension.'('.($priority & PLUGIN_PRIORITY).')=>%.4fs',$end-$start)); } // $_zp_script_timer['load '.$extension] = microtime(); } $_zp_loaded_plugins[] = $extension; } $_zp_script = zp_apply_filter('load_theme_script', $_zp_script, $zp_request); //$_zp_script_timer['theme scripts'] = microtime(); if ($zp_request && $_zp_script && file_exists(SERVERPATH . "/" . internalToFilesystem($_zp_script))) { if (checkAccess($hint, $show)) { // ok to view setThemeColumns(); } else { if (is_object($_zp_HTML_cache)) { // don't cache the logon page or you can never see the real one $_zp_HTML_cache->abortHTMLCache(); } $_zp_gallery_page = 'password.php'; $_zp_script = SERVERPATH.'/'.THEMEFOLDER.'/'.$theme.'/password.php'; if (!file_exists(internalToFilesystem($_zp_script))) { $_zp_script = SERVERPATH.'/'.ZENFOLDER.'/password.php'; } } // Include the appropriate page for the requested object, and a 200 OK header. header ('Content-Type: text/html; charset=' . LOCAL_CHARSET); header("HTTP/1.0 200 OK"); header("Status: 200 OK"); header('Last-Modified: ' . ZP_LAST_MODIFIED); zp_apply_filter('theme_headers'); include(internalToFilesystem($_zp_script)); } else { // If the requested object does not exist, issue a 404 and redirect to the theme's // 404.php page, or a 404.php in the zp-core folder. if (is_object($_zp_HTML_cache)) { $_zp_HTML_cache->abortHTMLCache(); } list($album, $image) = rewrite_get_album_image('album','image'); debug404($album, $image, $theme); $_zp_gallery_page = '404.php'; $_zp_script = THEMEFOLDER.'/'.internalToFilesystem($theme).'/404.php'; header ('Content-Type: text/html; charset=' . LOCAL_CHARSET); header("HTTP/1.0 404 Not Found"); header("Status: 404 Not Found"); zp_apply_filter('theme_headers'); if (file_exists(SERVERPATH . "/" . $_zp_script)) { if ($custom) require_once($custom); include($_zp_script); } else { include(ZENFOLDER. '/404.php'); } } //$_zp_script_timer['theme script load'] = microtime(); exposeZenPhotoInformations($_zp_script, $_zp_loaded_plugins, $theme); //$_zp_script_timer['expose information'] = microtime(); db_close(); // close the database as we are done echo "\n"; list($usec, $sec) = explode(' ', array_shift($_zp_script_timer)); $first = $last = (float)$usec + (float)$sec; $_zp_script_timer['end'] = microtime(); foreach ($_zp_script_timer as $step=>$time) { list($usec, $sec) = explode(" ", $time); $cur = (float)$usec + (float)$sec; printf("\n",$step,$cur-$last); $last = $cur; } if (count($_zp_script_timer)>1) printf("\n",$last-$first); if (is_object($_zp_HTML_cache)) { $_zp_HTML_cache->endHTMLCache(); } ?>