Merged changes from main branch up to release 2.2.1
[fa-stable.git] / admin / db / maintenance_db.inc
index ceccb076fcb715ad2e6553b5bae020201ccfb7f9..225d57f7827be4bc593e8494d3b9bb8fb1d90ef2 100644 (file)
@@ -56,6 +56,12 @@ function array_natsort($aryData, $strIndex, $strSortBy, $strSortType=false)
    return $aryResult;
 }
 
+function update_admin_password($conn, $password)
+{
+       $sql = "UPDATE ".$conn['tbpref']."users SET password=".db_escape($password) . "
+               WHERE user_id='admin'";
+       db_query($sql, "could not update user password for 'admin'");
+}
 
 function write_config_db($new = false)
 {
@@ -129,7 +135,9 @@ function write_extensions($extensions=null, $company = -1)
        if (!isset($extensions)) {
                $extensions = $installed_extensions;
        }
-
+       if (!isset($next_extension_id)) {
+               $next_extension_id = 1;
+       }
 //     $exts = array_natsort($extensions, 'name', 'name');
 //     $extensions = $exts;
 
@@ -609,11 +617,11 @@ function db_export($conn, $filename, $zip='no', $comment='', $tbpref = TB_PREF)
                                // check if field types are NULL or NOT NULL
                                $res3 = db_query("SHOW COLUMNS FROM `" . $tablename . "`");
 
-                               $field_type = array();
+                               $field_null = array();
                                for ($j = 0; $j < db_num_rows($res3); $j++)
                                {
                                        $row3 = db_fetch($res3);
-                                       $field_type[] = $row3[2];
+                                       $field_null[] = $row3[2]=='YES' && $row3[4]===null;
                                }
 
                                $res2 = db_query("SELECT * FROM `" . $tablename . "`");
@@ -624,7 +632,7 @@ function db_export($conn, $filename, $zip='no', $comment='', $tbpref = TB_PREF)
                                        // run through each field
                                        for ($k = 0; $k < $nf = db_num_fields($res2); $k++)
                                        {
-                                               $out .= db_escape(@html_entity_decode($row2[$k], ENT_QUOTES, $_SESSION['language']->encoding));
+                                               $out .= db_escape($row2[$k], $field_null[$k]);
                                                if ($k < ($nf - 1))
                                                        $out .= ", ";
                                        }