Ejemplo n.º 1
0
 /**
  * Generate sequenceKey Function - used generator_no_ini is set.
  *
  * @param    array  table and key definition.
  * @return   string
  * @access   public
  */
 function _generateSequenceKeyFunction($def)
 {
     //print_r($def);
     //DB_DataObject::debugLevel(5);
     global $_DB_DATAOBJECT;
     // set the objects keys
     $obj = new DB_DataObject();
     $obj->_table = $this->table;
     $obj->_database = $this->_database;
     $obj->_database_dsn_md5 = $this->_database_dsn_md5;
     // if the key is not an integer - then it's not a sequence or native
     $_DB_DATAOBJECT['INI'][$obj->_database][$obj->__table] = $def['table'];
     $_DB_DATAOBJECT['INI'][$obj->_database][$obj->__table . "__keys"] = $def['keys'];
     $ar = $obj->sequenceKey();
     //print_r($obj);
     $ret = "\n" . "    function sequenceKey() // keyname, use native, native name\n" . "    {\n" . "         return array(";
     foreach ($ar as $v) {
         switch (gettype($v)) {
             case 'boolean':
                 $ret .= ($v ? 'true' : 'false') . ', ';
                 break;
             case 'string':
                 $ret .= "'" . $v . "', ";
                 break;
             default:
                 // eak
                 $ret .= "null, ";
         }
     }
     $ret = preg_replace('#, $#', '', $ret);
     return $ret . ");\n" . "    }\n";
 }