From 464f4d3497617fadb9d7752868f1175849cfa6d2 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 7 Jan 2012 08:21:00 -0800 Subject: Refactor to separate the framework from the app; drop message stuff, this app is just user management. Add a json view for individual users --- src/lib/View.class.php | 135 ------------------------------------------------- 1 file changed, 135 deletions(-) delete mode 100644 src/lib/View.class.php (limited to 'src/lib/View.class.php') diff --git a/src/lib/View.class.php b/src/lib/View.class.php deleted file mode 100644 index d7a21d3..0000000 --- a/src/lib/View.class.php +++ /dev/null @@ -1,135 +0,0 @@ -extensions = array(); - $regex = '@'.preg_quote(VIEWPATH,'@').'[^.]*\.(.*)\.php$@'; - foreach ($files as $file) { - $ext = preg_replace($regex, '$1', $file); - $this->extensions[] = $ext; - } - if (count($this->extensions)<1) return false; - - if (PAGE_EXT != '') { - // First, do a check if we can just return requested - // file extension: - if (in_array(PAGE_EXT, $this->extensions)) { - return PAGE_EXT; - } - - // Check for other extensions with the same mime type as - // the requested: - $accept_str = implode(', ', Mime::ext2mime(PAGE_EXT)); - $extensions = $this->parseAccept($view, $accept_str); - if ($ext = $this->chooseBetweenEquals($extensions)) return $ext; - } - - // Check for other extensions based on HTTP 'Accept' headers: - $accept_str = $_SERVER['HTTP_ACCEPT']; - $extensions = $this->parseAccept($view, $accept_str); - if ($ext = $this->chooseBetweenEquals($extensions)) return $ext; - - // Well, all the good options failed, so let's see what we've - // got left: - $extensions = $this->extensions; - return $this->chooseBetweenEquals($extensions); - - } - - private function parseAccept($view, $accept_str) { - // $prefs is a associative array where the key is the file - // extension, and the value is how much we like that extension. - // Higher numbers are better. - $prefs = array(); - - $accept = new HTTP_Accept($accept_str); - - // Loop through the candidate views, and record how much we - // like each. - foreach ($this->extensions as $ext) { - $mimes = Mime::ext2mime($ext); - foreach ($mimes as $mime) { - $quality = $accept->getQuality($mime); - if (isset($prefs[$ext])) { - $quality = max($prefs[$ext], $quality); - } - $prefs[$ext] = $quality; - } - } - - // Create an array of all extensions tied for the top quality. - $ret = array(); - $top_quality = 0.001;// minimum acceptable according to RFC 2616 - foreach ($prefs as $ext => $quality) { - if ($quality > $top_quality) { - $top_quality = $quality; - $ret = array(); - } - if ($quality == $top_quality) { - $ret[] = $ext; - } - } - return $ret; - } - - public function __construct($view) { - $this->ext = $this->chooseExtension($view); - $this->view = $view; - } - - public function show($vars) { - $file = self::filename($this->view, $this->ext); - $mimes = Mime::ext2mime($this->ext); - - header('Content-type: '.$mimes[0]); - - require_once(VIEWPATH.'/Template.class.php'); - $vars['template'] = new Template(); - - global $VARS; - $VARS = $vars; - include($file); - unset($VARS); - } -} -- cgit v1.2.3-2-g168b