diff options
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | all.php | 2 | ||||
| -rw-r--r-- | autocompleter.php | 2 | ||||
| -rw-r--r-- | class/CommonTable.php | 190 | ||||
| -rw-r--r-- | include/config.php | 7 | ||||
| -rw-r--r-- | include/config.php.dist (renamed from config.inc.php.dist) | 0 | ||||
| -rw-r--r-- | include/main.php (renamed from main.inc.php) | 6 | ||||
| -rw-r--r-- | index.php | 2 | ||||
| -rw-r--r-- | pkgdb-ajax.php | 2 | ||||
| -rw-r--r-- | refresh.php | 2 | ||||
| -rw-r--r-- | rpm.php | 2 | ||||
| -rw-r--r-- | zoom.php | 2 | 
12 files changed, 147 insertions, 72 deletions
@@ -1,4 +1,4 @@ -config.inc.php +include/config.php  *.gz  .sendate  sendbox @@ -34,7 +34,7 @@   * @link      http://github.com/remicollet/rpmphp/   * @since     The begining of times.  */ -require 'main.inc.php'; +require 'include/main.php';  $what=(isset($_GET["what"]) ? $_GET["what"] : false);  $ariane[] = array( diff --git a/autocompleter.php b/autocompleter.php index e693e9a..2acb21e 100644 --- a/autocompleter.php +++ b/autocompleter.php @@ -34,7 +34,7 @@   * @link      http://github.com/remicollet/rpmphp/   * @since     The begining of times.  */ -require 'main.inc.php'; +require 'include/main.php';  $q = null;  $limit = null; diff --git a/class/CommonTable.php b/class/CommonTable.php index a913edd..1ed47f8 100644 --- a/class/CommonTable.php +++ b/class/CommonTable.php @@ -32,19 +32,19 @@   * @since     The begining of times.  */ -abstract class CommonTable { - +abstract class CommonTable +{      protected $db;      protected $table;      /**       * Instanciate a CommonTable       * -     * @param $db object PDO instance of the DB connection -     * @param $table string with table name +     * @param object $db    PDO instance of the DB connection +     * @param string $table with table name       */ -    function __construct(PDO $db, $table) { - +    function __construct(PDO $db, $table) +    {          $this->db = $db;          $this->table = $table; @@ -56,11 +56,12 @@ abstract class CommonTable {      /**       * Check if the table already exists       * -     * @param $table string with table name +     * @param string $table with table name       *       * @return boolean       */ -    public function existsTable($table) { +    public function existsTable($table) +    {          $req = new TableIterator($this->db, "SHOW TABLES LIKE '$table'");          foreach ($req as $data) {              return true; @@ -71,9 +72,10 @@ abstract class CommonTable {      /**       * Execute an SQL statement (INSERT, DELETE, ...)       * -     * @param $sql string +     * @param string $sql The SQL clause       */ -    protected function exec($sql) { +    protected function exec($sql) +    {          $res = $this->db->exec($sql);          if ($res===false) {              $err = $this->db->errorInfo(); @@ -84,9 +86,10 @@ abstract class CommonTable {      /**       * Add a new row in the table       * -     * @param fields hashtable of fieldname => value +     * @param hashtable $fields hashtable of fieldname => value       */ -    protected function add(array $fields) { +    protected function add(array $fields) +    {          $col = array();          $val = array();          foreach ($fields as $name => $value) { @@ -99,8 +102,8 @@ abstract class CommonTable {                  $val[] = "'$value'";              }          } -        $sql = "INSERT INTO `".$this->table."` (".implode(',',$col).") -                VALUE (".implode(',',$val).")"; +        $sql = "INSERT INTO `".$this->table."` (".implode(',', $col).") +                VALUE (".implode(',', $val).")";          $this->exec($sql);      } @@ -118,12 +121,22 @@ abstract class CommonTable {       *  foreach ($DB->request("", "name") as $ID => $data) { ... }       *  foreach ($DB->request(array("name"=>"SBEI003W","entities_id"=>1),array("serial","otherserial")) { ... }       * -     * @param $crit string or array of field/values, ex array("id"=>1), if empty => all rows +     * @param string|array $crit string or array of field/values, +     *                           ex array("id"=>1), if empty => all rows       *       * Examples = -     *   array("id"=>NULL) -     *   array("OR"=>array("id"=>1, "NOT"=>array("state"=>3))); -     *   array("AND"=>array("id"=>1, array("NOT"=>array("state"=>array(3,4,5),"toto"=>2)))) +     *  array("id"=>NULL) +     *  array("OR"=>array("id"=>1, "NOT"=>array("state"=>3))); +     *  array( +     *      "AND"=>array( +     *          "id"=>1,array( +     *              "NOT"=>array( +     *                  "state"=>array(3,4,5), +     *                  "toto"=>2 +     *              ) +     *          ) +     *      ) +     *  )       *       * param 'FIELDS' name or array of field names       * param 'ORDER' filed name or array of field names @@ -132,19 +145,21 @@ abstract class CommonTable {       *       * @return DBIterator       **/ -    public function request ($crit='') { +    public function request ($crit='') +    {          return new TableIterator ($this->db, $this->table, $crit);      }      /**       * Retrieve 2 columns of all the table's row in a hashtable       * -     * @param $fieldkey string name of the field to use as index -     * @param $fieldvalue string name of the field to use as value +     * @param string $fieldkey   name of the field to use as index +     * @param string $fieldvalue name of the field to use as value       *       * @return hashtable       */ -    public function getAllArray($fieldkey, $fieldvalue) { +    public function getAllArray($fieldkey, $fieldvalue) +    {          $crit = array('FIELDS'  => array($fieldkey, $fieldvalue),                        'ORDER'   => $fieldkey);          $tab = array(); @@ -155,19 +170,26 @@ abstract class CommonTable {      }  } -class TablePearRepo extends CommonTable { +class TablePearRepo extends CommonTable +{      /**       * Instanciate a TablePearRepo to manage pearrepo table +     * +     * @param object $db PDO instance of the DB connection       */ -    function __construct($db) { +    function __construct($db) +    {          parent::__construct($db, 'pearrepo');      }      /**       * Create the table and populate it with known repo +     * +     * @return void       */ -    protected function createTable() { +    protected function createTable() +    {          // Table schema          $sql = "CREATE TABLE `pearrepo` ( @@ -204,20 +226,21 @@ class TablePearRepo extends CommonTable {       *       * @return hastable of alias => url       */ -    function getAllRepo() { +    function getAllRepo() +    {          return $this->getAllArray('alias', 'url');      }  } -/* +/**   * Helper for simple query => use directly or through  CommonTable::request()   *   * Freely inspired from DBmysqlIterator class from GLPI   * (already written by Remi, and ported to PDO)   * See http://www.glpi-project.org/   */ -class TableIterator  implements Iterator { - +class TableIterator  implements Iterator +{      private $con;      private $sql;      private $res = false; @@ -227,12 +250,14 @@ class TableIterator  implements Iterator {      /**       * Constructor       * -     * @param $dbconnexion Database Connnexion (must be a CommonDBTM object) -     * @param $table table name -     * @param $crit string or array of filed/values, ex array("id"=>1), if empty => all rows -     * -     **/ -	function __construct (PDO $dbconnexion, $table, $crit='') { +     * @param CommonDBTM   $dbconnexion Database Connnexion +     *                                  (must be a CommonDBTM object) +     * @param string       $table       table name +     * @param string|array $crit        string or array of filed/values, +     *                                  ex array("id"=>1), if empty => all rows +     */ +    function __construct (PDO $dbconnexion, $table, $crit='') +    {          $this->conn = $dbconnexion;          if (is_string($table) && strpos($table, " ")) { @@ -267,11 +292,14 @@ class TableIterator  implements Iterator {                  $this->sql = "";                  foreach ($field as $t => $f) {                      if (is_numeric($t)) { -                        $this->sql .= (empty($this->sql) ? "SELECT " : ",") . $f; +                        $this->sql .= (empty($this->sql) +                            ? "SELECT " : ",") . $f;                      } else if (is_array($f)) { -                        $this->sql .= (empty($this->sql) ? "SELECT $t." : ",$t.") . implode(",$t.",$f); +                        $this->sql .= (empty($this->sql) +                            ? "SELECT $t." : ",$t.") . implode(",$t.", $f);                      } else { -                        $this->sql .= (empty($this->sql) ? "SELECT " : ",") . "$t.$f"; +                        $this->sql .= (empty($this->sql) +                            ? "SELECT " : ",") . "$t.$f";                      }                  }              } else if (empty($field)) { @@ -281,18 +309,18 @@ class TableIterator  implements Iterator {              }              // FROM table list              if (is_array($table)) { -                $this->sql .= " FROM `".implode("`, `",$table)."`"; +                $this->sql .= " FROM `".implode("`, `", $table)."`";              } else {                  $this->sql .= " FROM `$table`";              }              // WHERE criteria list              if (!empty($crit)) {                  print_r($crit); -                $this->sql .= " WHERE ".$this->analyseCrit($crit); +                $this->sql .= " WHERE ".$this->_analyseCrit($crit);              }              // ORDER BY              if (is_array($orderby)) { -                $this->sql .= " ORDER BY `".implode("`, `",$orderby)."`"; +                $this->sql .= " ORDER BY `".implode("`, `", $orderby)."`";              } else if (!empty($orderby)) {                  $this->sql .= " ORDER BY `$orderby`";              } @@ -313,8 +341,11 @@ class TableIterator  implements Iterator {          $this->pos = -1;      } -    function __destruct () { - +    /** +     * Class destructor +     */ +    function __destruct () +    {          if ($this->res) {              $this->res->closeCursor();          } @@ -322,8 +353,14 @@ class TableIterator  implements Iterator {      /**       * Build WHERE clause +     * +     * @param TODO $crit To document +     * @param TODO $bool To document +     * +     * @return To document       */ -    private function analyseCrit ($crit, $bool="AND") { +    private function _analyseCrit ($crit, $bool="AND") +    {          if (!is_array($crit)) {              return $crit; @@ -334,14 +371,14 @@ class TableIterator  implements Iterator {                  $ret .= " $bool ";              }              if (is_numeric($name)) { -            // No Key case => recurse. -                $ret .= "(" . $this->analyseCrit($value, $bool) . ")"; +                // No Key case => recurse. +                $ret .= "(" . $this->_analyseCrit($value, $bool) . ")";              } else if ($name==="OR" || $name==="AND") { -            // Binary logical operator -                $ret .= "(" . $this->analyseCrit($value, $name) . ")"; +                // Binary logical operator +                $ret .= "(" . $this->_analyseCrit($value, $name) . ")";              } else if ($name==="NOT") {                  // Uninary logicial operator -                $ret .= " NOT (" . $this->analyseCrit($value, "AND") . ")"; +                $ret .= " NOT (" . $this->_analyseCrit($value, "AND") . ")";              } else if ($name==="FKEY") {                  // Foreign Key condition                  if (is_array($value) && count($value)==2) { @@ -355,7 +392,7 @@ class TableIterator  implements Iterator {                  }              } else if (is_array($value)) {                  // Array of Value -                $ret .= "$name IN ('". implode("','",$value)."')"; +                $ret .= "$name IN ('". implode("','", $value)."')";              } else if (is_null($value)) {                  // NULL condition                  $ret .= "$name IS NULL"; @@ -370,7 +407,13 @@ class TableIterator  implements Iterator {          return $ret;      } -    public function rewind () { +    /** +    * To document +     * +     * @return To document +    */ +    public function rewind () +    {          if ($this->res && $this->pos>=0) {              $this->res->closeCursor(); @@ -386,18 +429,33 @@ class TableIterator  implements Iterator {          return $this->next();      } -    public function current() { - +    /** +     * To document +     * +     * @return To document +     */ +    public function current() +    {          return $this->row;      } -    public function key() { - +    /** +     * To document +     * +     * @return To document +     */ +    public function key() +    {          return (isset($this->row["id"]) ? $this->row["id"] : $this->pos);      } -    public function next() { - +    /** +     * To document +     * +     * @return To document +     */ +    public function next() +    {          if (!$this->res) {              return false;          } @@ -406,13 +464,23 @@ class TableIterator  implements Iterator {          return $this->row;      } -    public function valid() { - +    /** +     * To document +     * +     * @return To document +     */ +    public function valid() +    {          return $this->res && $this->row;      } -    public function numrows() { - +    /** +     * To document +     * +     * @return To document +     */ +    public function numrows() +    {          return ($this->res ? $this->res->rowCount() : 0);      }  } diff --git a/include/config.php b/include/config.php new file mode 100644 index 0000000..a3ba75c --- /dev/null +++ b/include/config.php @@ -0,0 +1,7 @@ +<?php +define("MYHOST", "localhost"); +define("MYUSER", "root"); +define("MYPASS", "valentin"); +define("MYBASE", "rpmphp"); +?> + diff --git a/config.inc.php.dist b/include/config.php.dist index 8895cdc..8895cdc 100644 --- a/config.inc.php.dist +++ b/include/config.php.dist diff --git a/main.inc.php b/include/main.php index c9ec889..b97db02 100644 --- a/main.inc.php +++ b/include/main.php @@ -35,9 +35,9 @@  */  define('RPMPHP_VERSION', '1.0.0-dev'); -require 'config.inc.php'; -require '/usr/share/php/Smarty/Smarty.class.php'; -require 'class/FedoraClient.php'; +require 'config.php'; +require 'Smarty/Smarty.class.php'; +require dirname(__FILE__).'/../class/FedoraClient.php';  $smarty = new Smarty(); @@ -34,7 +34,7 @@   * @link      http://github.com/remicollet/rpmphp/   * @since     The begining of times.  */ -require 'main.inc.php'; +require 'include/main.php';  $smarty->assign('ariane', $ariane);  $smarty->assign('page_title', 'Packages in Fedora repositories'); diff --git a/pkgdb-ajax.php b/pkgdb-ajax.php index a07a3e4..f23b4cf 100644 --- a/pkgdb-ajax.php +++ b/pkgdb-ajax.php @@ -35,7 +35,7 @@   * @since     The begining of times.  */  header('Content-Type: application/json;charset=utf-8'); -require 'main.inc.php'; +require 'include/main.php';  $name = $_GET['name'];  if ( !isset($name) || !$name ) { diff --git a/refresh.php b/refresh.php index cc56e84..53aef84 100644 --- a/refresh.php +++ b/refresh.php @@ -43,7 +43,7 @@ if (isset($_SERVER["SERVER_NAME"])) {      die("This script is launched twice a day, be patient");  } -require "config.inc.php"; +require "include/main.php";  require "class/CommonTable.php";  /** @@ -34,7 +34,7 @@   * @link      http://github.com/remicollet/rpmphp/   * @since     The begining of times.  */ -require 'main.inc.php'; +require 'include/main.php';  $what=(isset($_GET["what"]) ? $_GET["what"] : "%fedora");  $type=(isset($_GET["type"]) ? $_GET["type"] : "pecl"); @@ -34,7 +34,7 @@   * @link      http://github.com/remicollet/rpmphp/   * @since     The begining of times.  */ -require 'main.inc.php'; +require 'include/main.php';  $fedcli = new FedoraPkgdb();  | 
