Source for file controller.php

Documentation is available at controller.php

  1. <?php
  2. /**
  3.  * Project:     deskweb - the desktop manager for web <br />
  4.  * 
  5.  * This library is free software; you can redistribute it and/or
  6.  * modify it under the terms of the GNU Lesser General Public
  7.  * License as published by the Free Software Foundation; either
  8.  * version 2.1 of the License, or (at your option) any later version.
  9.  *
  10.  * This library is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.  * Lesser General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU Lesser General Public
  16.  * License along with this library; if not, write to the Free Software
  17.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18.  *
  19.  * You may contact the authors of Deskweb by emial at: <br />
  20.  * io@maxb.net <br />
  21.  *
  22.  * Or, write to: <br />
  23.  * Massimiliano Balestrieri <br />
  24.  * Via Casalis 9 <br />
  25.  * 10143 Torino <br />
  26.  * Italy <br />
  27.  *
  28.  * The latest version of deskweb can be obtained from: <br />
  29.  * http://www.deskweb.org/ <br />
  30.  *
  31.  * @link http://www.deskweb.org/
  32.  * @author Massimiliano Balestrieri <io@maxb.net>
  33.  * @version 0.1
  34.  * @copyright 2005-2006 Massimiliano Balestrieri.
  35.  * @package Core
  36.  */
  37. /**
  38.  * Variabile globale contenente l'oggetto session di deskweb
  39.  * E' globale per non dover passare questo oggetto come argomento.
  40.  * @global SessionDeskWeb $session 
  41.  * @name $session
  42.  */
  43. $session null;
  44. /**
  45.  * Variabile globale contenente l'oggetto request di deskweb
  46.  * E' globale per non dover passare questo oggetto come argomento.
  47.  * @global RequestDeskWeb $request 
  48.  * @name $request
  49.  */
  50. $request null;
  51. /**
  52.  * Variabile globale contenente l'oggetto model di deskweb
  53.  * E' globale per non dover passare questo oggetto come argomento.
  54.  * @global ModelDeskWeb $model 
  55.  * @name $model
  56.  */
  57. $model null;
  58. /**
  59.  * Variabile globale contenente l'oggetto view di deskweb
  60.  * E' globale per non dover passare questo oggetto come argomento.
  61.  * @global ViewDeskWeb $view 
  62.  * @name $view
  63.  */
  64. $view null;
  65. /**
  66.  * Variabile globale contenente l'oggetto sniffer di deskweb
  67.  * E' globale per non dover passare questo oggetto come argomento.
  68.  * @global phpSniff $sniffer 
  69.  * @name $sniffer
  70.  */
  71. $sniffer null;
  72.  
  73. /**
  74.  * Variabile globale contenente il link al db di deskweb
  75.  * E' globale perch� incapsulato in un oggetto si perdono parecchi millisecondi in esecuzioni
  76.  * @global resource $link_db 
  77.  * @name $link_db
  78.  */
  79. $link_db mysql_pconnect(SERVER_DBDB_USERDB_PWor die("Impossibile connettersi al server database");
  80. /**
  81.  * Variabile globale contenente l'oggetto connessione di deskweb
  82.  * E' globale perch� incapsulato in un oggetto si perdono parecchi millisecondi in esecuzioni
  83.  * @global connessione $conn 
  84.  * @name $conn
  85.  */
  86. $conn mysql_select_db(DB_DB$link_dbor die("impossibile connettersi al database");
  87.  
  88. /**
  89.  * classe Controller di deskweb
  90.  */
  91.  
  92.     /**
  93.      * class constructor
  94.      * il controller
  95.      * istanzia:
  96.      * 
  97.      * lo sniffer
  98.      * la sessione
  99.      * la request (reso globale)
  100.      * 
  101.      * la action (se la request lo richiede)
  102.      * 
  103.      * il modello
  104.      * la vista (che è sempre il desktop in questo tipo di applicazione)
  105.      * 
  106.      * 
  107.      */
  108.     function ControllerDeskWeb({
  109.         global $request$model$view$sniffer$session;
  110.  
  111.         $request new RequestDeskWeb();
  112.         $session new SessionDeskWeb();
  113.         $sniffer new phpSniff();
  114.         $session->setUserAgentFeatures();
  115.         //if ($request->action) {
  116.             $action new ActionDeskWeb();
  117.         //}
  118.         
  119.         //delego le action
  120.         $action_apps $session->getActiveDeskwebApps();
  121.         //print_r($session);//die();
  122.         if (is_array($action_apps)) {
  123.         
  124.             for ($x 0$x <= sizeof($action_apps1$x ++{
  125.                 $file $_SERVER['DOCUMENT_ROOT'].DIR_APPS."/".$action_apps[$x]."/".$action_apps[$x]."_action.php";
  126.                 //echo $file;
  127.                 if (is_file($file)) {
  128.                     require_once ($file);
  129.                     eval ('$action = new '.$action_apps[$x].'ActionDeskWeb();');
  130.                 }
  131.             }
  132.         }
  133.  
  134.         $model new ModelDeskWeb();
  135.         $view new ViewDeskWeb();
  136.         mysql_close();
  137.     }
  138. }
  139. ?>

Documentation generated on Sun, 18 Jun 2006 23:16:17 +0200 by phpDocumentor 1.3.0RC6