Esempio n. 1
0
} else {
    $urlerror = $this->getMessagePage();
}
$this->setLogRun(false);
if (defined("RADRIA_LOG_RUN_MYDB_EVENTS")) {
    $this->setLogRun(RADRIA_LOG_RUN_MYDB_EVENTS);
}
$this->setLog("\n mydb_add record start" . date("Y-m-d H:i:s"));
$disp = new Display($goto);
if ($submitbutton != $strCancel) {
    if ($doSave == "yes") {
        $table = $this->getParam("table");
        $fieldlist = '';
        $valuelist = '';
        $qGetFields = new sqlQuery($this->dbc);
        $qGetFields->setTable($table);
        $tableFields = $qGetFields->getTableField();
        $reg = new Registry($dbc);
        $reg->registryFromTable($table);
        if ($GLOBALS['cfg_local_db'] == "mysql") {
            while (list($key, $fieldname) = each($tableFields)) {
                if (strlen($fields[$fieldname]) > 0) {
                    if (get_magic_quotes_gpc()) {
                        $fields[$fieldname] = stripslashes($fields[$fieldname]);
                    }
                    $fieldname = str_replace("`", "", $fieldname);
                    $fieldlist .= "`{$fieldname}`, ";
                    if ($fields[$fieldname] == "null") {
                        $val = $fields[$fieldname];
                        // } elseif (is_numeric($fields[$fieldname])) {
                        //     $val = $fields[$fieldname];
Esempio n. 2
0
 /**
  * Add a record to the table.
  * And set the primary key so next time its an update
  * http://radria.sqlfusion.com/documentation/core:by_example_php5#add_delete_edit
  * @return boolean
  */
 function add($mix = null)
 {
     $qGetFields = new sqlQuery($this->getDbCon());
     $qGetFields->setTable($this->getTable());
     $tableFields = $qGetFields->getTableField();
     $this->setLog("\n in " . $this->getObjectName() . " (DataObject)::Add()");
     $reg = new Fields();
     $reg->registryFromTable($this->getTable());
     $fields = $this->getValues();
     $this->setLogArray($fields);
     $table = $this->getTable();
     $fieldlist = "";
     $valuelist = "";
     if ($GLOBALS['cfg_local_db'] == "mysql") {
         while (list($key, $fieldname) = each($tableFields)) {
             $this->setLog("\n " . $fieldname . "=" . $fields[$fieldname] . ";");
             if (strlen($fields[$fieldname]) > 0) {
                 if (get_magic_quotes_gpc()) {
                     $fields[$fieldname] = stripslashes($fields[$fieldname]);
                 }
                 $fieldname = str_replace("`", "", $fieldname);
                 $fieldlist .= "`{$fieldname}`, ";
                 if ($fields[$fieldname] == "null") {
                     $val = $fields[$fieldname];
                 } else {
                     if (function_exists("mysql_real_escape_string")) {
                         $val = "'" . mysql_real_escape_string($fields[$fieldname]) . "'";
                     } else {
                         // } elseif (is_numeric($fields[$fieldname])) {
                         //     $val = $fields[$fieldname];                    $val = "'".addslashes($fields[$fieldname])."'";
                     }
                 }
                 $valuelist .= "{$val}, ";
             }
         }
         $table = str_replace("`", "", $table);
         $fieldlist = ereg_replace(', $', '', $fieldlist);
         $valuelist = ereg_replace(', $', '', $valuelist);
         $query = "INSERT INTO `{$table}` ({$fieldlist}) VALUES ({$valuelist})";
     } elseif ($GLOBALS['cfg_local_db'] == "pgsql") {
         while (list($key, $fieldname) = each($tableFields)) {
             if (strlen($fields[$fieldname]) > 0) {
                 $this->setLog("\n For {$key} / {$fieldname} /  ");
                 $no_database_type = true;
                 if (is_object($reg->fields[$fieldname])) {
                     if (strlen($reg->fields[$fieldname]->getRdata("databasetype")) > 0) {
                         $this->setLog(" type:" . $reg->fields[$fieldname]->getRdata("databasetype"));
                         if ($reg->fields[$fieldname]->getRdata("databasetype") == "varchar" || $reg->fields[$fieldname]->getRdata("databasetype") == "text") {
                             $fieldlist .= "\"{$fieldname}\", ";
                             $valuelist .= "'" . $fields[$fieldname] . "', ";
                         } elseif ($reg->fields[$fieldname]->getRdata("databasetype") == "time" || $reg->fields[$fieldname]->getRdata("databasetype") == "date") {
                             if (!empty($fields[$fieldname])) {
                                 $fieldlist .= "\"{$fieldname}\", ";
                                 $valuelist .= "'" . $fields[$fieldname] . "', ";
                             }
                         } else {
                             if (!empty($fields[$fieldname])) {
                                 $fieldlist .= "\"{$fieldname}\", ";
                                 $valuelist .= $fields[$fieldname] . ", ";
                             }
                         }
                         $this->setLog(" add:\"{$fieldname}\" = " . $fields[$fieldname] . ", ");
                         $no_database_type = false;
                     }
                 }
                 if ($no_database_type) {
                     $fieldlist .= "\"{$fieldname}\", ";
                     if ($fields[$fieldname] == "null") {
                         $val = $fields[$fieldname];
                         // } elseif (is_numeric($fields[$fieldname])) {
                         //     $val = $fields[$fieldname];
                     } else {
                         $val = "'{$fields[$fieldname]}'";
                     }
                     $valuelist .= "{$val}, ";
                     $this->setLog(" add:\"{$fieldname}\" = {$val}, ");
                 }
             }
         }
         $fieldlist = ereg_replace(', $', '', $fieldlist);
         $valuelist = ereg_replace(', $', '', $valuelist);
         $query = "INSERT INTO `{$table}` ({$fieldlist}) VALUES ({$valuelist})";
     } else {
         while (list($key, $fieldname) = each($tableFields)) {
             if (strlen($fields[$fieldname]) > 0) {
                 $fieldlist .= "`{$fieldname}`, ";
                 if ($fields[$fieldname] == "null") {
                     $val = $fields[$fieldname];
                     // } elseif (is_numeric($fields[$fieldname])) {
                     //     $val = $fields[$fieldname];
                 } else {
                     $val = "'{$fields[$fieldname]}'";
                 }
                 $valuelist .= "{$val}, ";
             }
         }
         $fieldlist = ereg_replace(', $', '', $fieldlist);
         $valuelist = ereg_replace(', $', '', $valuelist);
         $query = "INSERT INTO `{$table}` ({$fieldlist}) VALUES ({$valuelist})";
     }
     $this->setLog("\n Running query:\n" . $query);
     $result = $this->query($query);
     if (is_object($mix)) {
         if (strtolower(get_class($mix)) == "eventcontroler") {
             $mix->insertid = $this->getInsertId($this->getTable(), $this->getPrimaryKey());
         }
     }
     if ($this->auto_increment_key) {
         $this->setPrimaryKeyValue($this->getInsertId($this->getTable(), $this->getPrimaryKey()));
     }
     return $result;
 }