home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / dotproject / modules / system / system.class.php < prev    next >
Encoding:
PHP Script  |  2003-05-08  |  2.7 KB  |  122 lines

  1. <?php /* SYSTEM $Id: system.class.php,v 1.4 2003/05/08 06:43:12 eddieajau Exp $ */
  2.  
  3. /**
  4. * Preferences class
  5. */
  6. class CPreferences {
  7.     var $pref_user = NULL;
  8.     var $pref_name = NULL;
  9.     var $pref_value = NULL;
  10.  
  11.     function CPreferences() {
  12.         // empty constructor
  13.     }
  14.  
  15.     function bind( $hash ) {
  16.         if (!is_array( $hash )) {
  17.             return "CPreferences::bind failed";
  18.         } else {
  19.             bindHashToObject( $hash, $this );
  20.             return NULL;
  21.         }
  22.     }
  23.  
  24.     function check() {
  25.         // TODO MORE
  26.         return NULL; // object is ok
  27.     }
  28.  
  29.     function store() {
  30.         $msg = $this->check();
  31.         if( $msg ) {
  32.             return "CPreference::store-check failed<br />$msg";
  33.         }
  34.         if (($msg = $this->delete())) {
  35.             return "CPreference::store-delete failed<br />$msg";
  36.         }
  37.         if (!($ret = db_insertObject( 'user_preferences', $this, 'pref_user' ))) {
  38.             return "CPreference::store failed <br />" . db_error();
  39.         } else {
  40.             return NULL;
  41.         }
  42.     }
  43.  
  44.     function delete() {
  45.         $sql = "DELETE FROM user_preferences WHERE pref_user = $this->pref_user AND pref_name = '$this->pref_name'";
  46.         if (!db_exec( $sql )) {
  47.             return db_error();
  48.         } else {
  49.             return NULL;
  50.         }
  51.     }
  52. }
  53.  
  54. /**
  55. * Module class
  56. */
  57. class CModule extends CDpObject {
  58.     var $mod_id=null;
  59.     var $mod_name=null;
  60.     var $mod_directory=null;
  61.     var $mod_version=null;
  62.     var $mod_setup_class=null;
  63.     var $mod_type=null;
  64.     var $mod_active=null;
  65.     var $mod_ui_name=null;
  66.     var $mod_ui_icon=null;
  67.     var $mod_ui_order=null;
  68.     var $mod_ui_active=null;
  69.     var $mod_description=null;
  70.  
  71.     function CModule() {
  72.         $this->CDpObject( 'modules', 'mod_id' );
  73.     }
  74.  
  75.     function install() {
  76.         $sql = "SELECT mod_directory FROM modules WHERE mod_directory = '$this->mod_directory'";
  77.         if (db_loadHash( $sql, $temp )) {
  78.             // the module is already installed
  79.             // TODO: check for older version - upgrade
  80.             return false;
  81.         }
  82.         $this->store();
  83.         return true;
  84.     }
  85.  
  86.     function remove() {
  87.         $sql = "DELETE FROM modules WHERE mod_id = $this->mod_id";
  88.         if (!db_exec( $sql )) {
  89.             return db_error();
  90.         } else {
  91.             return NULL;
  92.         }
  93.     }
  94.  
  95.     function move( $dirn ) {
  96.         $temp = $this->mod_ui_order;
  97.         if ($dirn == 'moveup') {
  98.             $temp--;
  99.             $sql = "UPDATE modules SET mod_ui_order = (mod_ui_order+1) WHERE mod_ui_order = $temp";
  100.             db_exec( $sql );
  101.         } else if ($dirn == 'movedn') {
  102.             $temp++;
  103.             $sql = "UPDATE modules SET mod_ui_order = (mod_ui_order-1) WHERE mod_ui_order = $temp";
  104.             db_exec( $sql );
  105.         }
  106.         $sql = "UPDATE modules SET mod_ui_order = $temp WHERE mod_id = $this->mod_id";
  107.         db_exec( $sql );
  108.  
  109.         $this->mod_id = $temp;
  110.     }
  111. // overridable functions
  112.     function moduleInstall() {
  113.         return null;
  114.     }
  115.     function moduleRemove() {
  116.         return null;
  117.     }
  118.     function moduleUpgrade() {
  119.         return null;
  120.     }
  121. }
  122. ?>