+ /**
+ * parse user friendly url which got rewritten by the websever
+ * @param string $request_uri
+ * @return string
+ */
+ private function parse_user_friendly_url($request_uri)
+ {
+ if(preg_match('/\/photoview\/|\/photo\/|\/tag\//', $request_uri)) {
+
+ $options = explode('/', $request_uri);
+
+ switch($options[1]) {
+ case 'photoview':
+ if(is_numeric($options[2])) {
+ $this->session_cleanup();
+ //unset($_SESSION['start_action']);
+ //unset($_SESSION['selected_tags']);
+ $_GET['mode'] = 'showp';
+ return $this->showPhoto($options[2]);
+ }
+ break;
+ case 'photo':
+ if(is_numeric($options[2])) {
+ require_once "phpfspot_img.php";
+ $img = new PHPFSPOT_IMG;
+ if(isset($options[3]) && is_numeric($options[3]))
+ $img->showImg($options[2], $options[3]);
+ else
+ $img->showImg($options[2]);
+ }
+ exit;
+ break;
+ case 'tag':
+ if(is_numeric($options[2])) {
+ $this->session_cleanup();
+ $_GET['tags'] = $options[2];
+ $_SESSION['selected_tags'] = Array($options[2]);
+ if(isset($options[3]) && is_numeric($options[3]))
+ $_SESSION['begin_with'] = $options[3];
+ return $this->showPhotoIndex();
+ }
+ break;
+ }
+ }
+
+ } // parse_user_friendly_url()
+
+ /**
+ * check if user-friendly-urls are enabled
+ *
+ * this function will return true, if the config option
+ * $user_friendly_url has been set. Otherwise false.
+ * @return boolean
+ */
+ private function is_user_friendly_url()
+ {
+ if(isset($this->cfg->user_friendly_url) && $this->cfg->user_friendly_url)
+ return true;
+
+ return false;
+
+ } // is_user_friendly_url()
+
+ /**
+ * session cleanup
+ *
+ * this function will cleanup user's session information
+ */
+ private function session_cleanup()
+ {
+ unset($_SESSION['begin_with']);
+ $this->resetDateSearch();
+ $this->resetPhotoView();
+ $this->resetTagSearch();
+ $this->resetNameSearch();
+ $this->resetDateSearch();
+ $this->resetTags();
+
+ } // session_cleanup()
+