os.php
上传用户:snow1005
上传日期:2015-11-10
资源大小:3151k
文件大小:5k
源码类别:

Ajax

开发平台:

JavaScript

  1. <?php
  2. /*
  3.  * qWikiOffice Desktop 0.8.1
  4.  * Copyright(c) 2007-2008, Integrated Technologies, Inc.
  5.  * licensing@qwikioffice.com
  6.  * 
  7.  * http://www.qwikioffice.com/license
  8.  */
  9. require('config.php');
  10. require('lib/error.php');
  11. require('lib/group.php');
  12. require('lib/launcher.php');
  13. require('lib/member.php');
  14. require('lib/module.php');
  15. require('lib/preference.php');
  16. require('lib/privilege.php');
  17. require('lib/session.php');
  18. require('lib/theme.php');
  19. class os {
  20. public $connected_to_db = false;
  21. public function __construct(){
  22. // initialise the $_SESSION superglobal array
  23. // session is destroyed in session->logout()
  24. session_start();
  25. // config
  26. if(class_exists('config')){ $this->config = new config(); }
  27. else{ die("Config class is missing!"); }
  28. // error
  29. if(class_exists('error')){ $this->error = new error($this); }
  30. else{ die("Error class is missing!"); }
  31. // group
  32. if(class_exists('group')){ $this->group = new group($this); }
  33. else{ die("Group class is missing!"); }
  34. // launcher
  35. if(class_exists('launcher')){ $this->launcher = new launcher($this); }
  36. else{ die("Launcher class is missing!"); }
  37. // member
  38. if(class_exists('member')){ $this->member = new member($this); }
  39. else{ die("Member class is missing!"); }
  40. // module
  41. if(class_exists('module')){ $this->module = new module($this); }
  42. else{ die("Module class is missing!"); }
  43. // privileges
  44. if(class_exists('privilege')){ $this->privilege = new privilege($this); }
  45. else{ die("Privilege class is missing!"); }
  46. // preference
  47. if(class_exists('preference')){ $this->preference = new preference($this); }
  48. else{ die("Preference class is missing!"); }
  49. // session
  50. if(class_exists('session')){ $this->session = new session($this); }
  51. else{ die("Session class is missing!"); }
  52. // theme
  53. if(class_exists('theme')){ $this->theme = new theme($this); }
  54. else{ die("Theme class is missing!"); }
  55. // json support
  56. if(!function_exists('json_encode')){
  57. require("lib/json.php");
  58. $GLOBALS['JSON_OBJECT'] = new Services_JSON();
  59. function json_encode($value){
  60. return $GLOBALS['JSON_OBJECT']->encode($value);
  61. }
  62.    
  63. function json_decode($value){
  64. return $GLOBALS['JSON_OBJECT']->decode($value);
  65. }
  66. }
  67. // connect to the database
  68. $this->connect_to_db();
  69. }
  70. /** init() Initial page load or refresh has occured 
  71.   **/
  72. public function init(){
  73. $this->module->init();
  74. $this->privilege->init();
  75. }
  76. /** connect_to_db()
  77.   * 
  78.   * @access private
  79.   **/
  80. private function connect_to_db(){
  81. mysql_connect ($this->config->DB_HOST, $this->config->DB_USERNAME, $this->config->DB_PASSWORD) or die ('I cannot connect to mysql because: ' . mysql_error());
  82. mysql_select_db ($this->config->DB_NAME) or die ('I cannot select the database because: '.mysql_error());
  83. $this->connected_to_db = true;
  84. } // end connect_to_db()
  85. /** get_theme_dir()
  86.   **/
  87. public function get_theme_dir(){
  88.     return $this->config->THEME_DIR;
  89. } // end get_theme_dir()
  90. /** get_module_dir()
  91.   **/
  92. public function get_module_dir(){
  93.     return $this->config->MODULES_DIR;
  94. } // end get_module_dir()
  95. /** get_document_root()
  96.  **/
  97. public function get_document_root(){
  98.     return $this->config->DOCUMENT_ROOT;
  99. } // end get_document_root()
  100. /** get_login_url()
  101.  **/
  102. public function get_login_url(){
  103.     return $this->config->LOGIN_URL;
  104. } // end get_login_url()
  105. /** Mod_addslashes()
  106.   * 
  107.   * @param {string} string to be escaped
  108.   * @return {string} escaped string
  109.   **/
  110. public function Mod_addslashes($string){
  111. if(get_magic_quotes_gpc()==1){
  112. return ($string);
  113. }else{
  114. return (addslashes($string ));
  115. }
  116. } // end Mod_addslashes()
  117. /** concat_arrays()
  118.   * @access private
  119.   *
  120.   * @param {array}
  121.   * @param {array}
  122.   * @return {array} concated array
  123.   **/
  124. public function concat_arrays($a, $b){
  125. $c = $a;  
  126.     while(list(,$v)=each($b)){
  127.         $c[] = $v;
  128.     }
  129.     
  130.     return $c;
  131. } // end concat_arrays()
  132. /** overwrite_assoc_array()
  133.   * 
  134.   * @param {array}
  135.   * @param {array}
  136.   * @return {array} Overwritten associative array
  137.   **/
  138. public function overwrite_assoc_array($a, $b){
  139.     $c = $a;  
  140.     while(list($k,$v)=each($b)){
  141.         if(!is_array($v) || ( is_array($v) && count($v) > 0 )){
  142.          $c[$k] = $v;
  143.         }
  144.     }
  145.     
  146.     return $c;
  147. } // end overwrite_assoc_array()
  148. /** build_random_id()
  149.   * 
  150.   * @return {string} A random id
  151.   **/
  152. public function build_random_id(){
  153. return md5(uniqid(rand(), true));
  154. } // end build_random_id()
  155. }
  156. ?>