add a formfactor session variable which is autodetected but can also manually overwritten via a get variable.
currently we have: * 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. In the future we should adapt the userinterface to the specific formfactor.
This commit is contained in:
parent
f18e866a1e
commit
f9db4249a3
37
lib/base.php
37
lib/base.php
|
@ -70,6 +70,31 @@ 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 init(){
|
public static function init(){
|
||||||
// register autoloader
|
// register autoloader
|
||||||
spl_autoload_register(array('OC','autoload'));
|
spl_autoload_register(array('OC','autoload'));
|
||||||
|
@ -130,6 +155,16 @@ class OC{
|
||||||
ini_set('session.cookie_httponly','1;');
|
ini_set('session.cookie_httponly','1;');
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
|
// 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
|
// Add the stuff we need always
|
||||||
OC_Util::addScript( "jquery-1.6.4.min" );
|
OC_Util::addScript( "jquery-1.6.4.min" );
|
||||||
OC_Util::addScript( "jquery-ui-1.8.14.custom.min" );
|
OC_Util::addScript( "jquery-ui-1.8.14.custom.min" );
|
||||||
|
@ -214,5 +249,7 @@ if(!function_exists('get_temp_dir')) {
|
||||||
|
|
||||||
require_once('fakedirstream.php');
|
require_once('fakedirstream.php');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// FROM search.php
|
// FROM search.php
|
||||||
new OC_Search_Provider_File();
|
new OC_Search_Provider_File();
|
||||||
|
|
Loading…
Reference in New Issue