Move formfactor code to OC_Template
This commit is contained in:
parent
79f9d61ec8
commit
332603a263
2 changed files with 37 additions and 34 deletions
34
lib/base.php
34
lib/base.php
|
@ -95,31 +95,6 @@ class OC{
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* autodetects the formfactor of the used device
|
||||
* default -> the normal desktop browser interface
|
||||
* mobile -> interface for smartphones
|
||||
* tablet -> interface for tablets
|
||||
* standalone -> the default interface but without header, footer and sidebar. just the application. useful to ue just a specific app on the desktop in a standalone window.
|
||||
*/
|
||||
public static function detectFormfactor(){
|
||||
// please add more useragent strings for other devices
|
||||
if(isset($_SERVER['HTTP_USER_AGENT'])){
|
||||
if(stripos($_SERVER['HTTP_USER_AGENT'],'ipad')>0) {
|
||||
$mode='tablet';
|
||||
}elseif(stripos($_SERVER['HTTP_USER_AGENT'],'iphone')>0){
|
||||
$mode='mobile';
|
||||
}elseif((stripos($_SERVER['HTTP_USER_AGENT'],'N9')>0) and (stripos($_SERVER['HTTP_USER_AGENT'],'nokia')>0)){
|
||||
$mode='mobile';
|
||||
}else{
|
||||
$mode='default';
|
||||
}
|
||||
}else{
|
||||
$mode='default';
|
||||
}
|
||||
return($mode);
|
||||
}
|
||||
|
||||
public static function initPaths(){
|
||||
// calculate the root directories
|
||||
OC::$SERVERROOT=str_replace("\\",'/',substr(__FILE__,0,-13));
|
||||
|
@ -237,15 +212,6 @@ class OC{
|
|||
}
|
||||
|
||||
public static function initTemplateEngine() {
|
||||
// if the formfactor is not yet autodetected do the autodetection now. For possible forfactors check the detectFormfactor documentation
|
||||
if(!isset($_SESSION['formfactor'])){
|
||||
$_SESSION['formfactor']=OC::detectFormfactor();
|
||||
}
|
||||
// allow manual override via GET parameter
|
||||
if(isset($_GET['formfactor'])){
|
||||
$_SESSION['formfactor']=$_GET['formfactor'];
|
||||
}
|
||||
|
||||
// Add the stuff we need always
|
||||
OC_Util::addScript( "jquery-1.7.2.min" );
|
||||
OC_Util::addScript( "jquery-ui-1.8.16.custom.min" );
|
||||
|
|
|
@ -166,11 +166,48 @@ class OC_Template{
|
|||
$this->findTemplate($name);
|
||||
}
|
||||
|
||||
/**
|
||||
* autodetects the formfactor of the used device
|
||||
* default -> the normal desktop browser interface
|
||||
* mobile -> interface for smartphones
|
||||
* tablet -> interface for tablets
|
||||
* standalone -> the default interface but without header, footer and
|
||||
* sidebar, just the application. Useful to use just a specific
|
||||
* app on the desktop in a standalone window.
|
||||
*/
|
||||
public static function detectFormfactor(){
|
||||
// please add more useragent strings for other devices
|
||||
if(isset($_SERVER['HTTP_USER_AGENT'])){
|
||||
if(stripos($_SERVER['HTTP_USER_AGENT'],'ipad')>0) {
|
||||
$mode='tablet';
|
||||
}elseif(stripos($_SERVER['HTTP_USER_AGENT'],'iphone')>0){
|
||||
$mode='mobile';
|
||||
}elseif((stripos($_SERVER['HTTP_USER_AGENT'],'N9')>0) and (stripos($_SERVER['HTTP_USER_AGENT'],'nokia')>0)){
|
||||
$mode='mobile';
|
||||
}else{
|
||||
$mode='default';
|
||||
}
|
||||
}else{
|
||||
$mode='default';
|
||||
}
|
||||
return($mode);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Returns the formfactor extension for current formfactor
|
||||
*/
|
||||
static public function getFormFactorExtension()
|
||||
{
|
||||
// if the formfactor is not yet autodetected do the
|
||||
// autodetection now. For possible formfactors check the
|
||||
// detectFormfactor documentation
|
||||
if(!isset($_SESSION['formfactor'])){
|
||||
$_SESSION['formfactor'] = self::detectFormfactor();
|
||||
}
|
||||
// allow manual override via GET parameter
|
||||
if(isset($_GET['formfactor'])){
|
||||
$_SESSION['formfactor']=$_GET['formfactor'];
|
||||
}
|
||||
$formfactor=$_SESSION['formfactor'];
|
||||
if($formfactor=='default') {
|
||||
$fext='';
|
||||
|
|
Loading…
Reference in a new issue