$commsy_version = utf8_decode((string)$xml_object->version); $current_commsy_version = getCommSyVersion(); if ( $current_commsy_version != $commsy_version ) { $params = array(); $params['environment'] = $environment; $params['with_modifying_actions'] = true; $params['width'] = 500; $errorbox = $class_factory->getClass(ERRORBOX_VIEW,$params); unset($params); $errorbox->setText($translator->getMessage('PREFERENCES_BACKUP_WARNING_VERSION',$current_commsy_version,$commsy_version)); $page->add($errorbox); } foreach ($xml_object->data->children() as $list) { $name = str_replace('_list','',$list->getName()); $manager = $environment->getManager(DBTable2Type($name)); $success = false; $success = $manager->backupDataFromXMLObject($list); if (!isset($success) or !$success) { $params = array(); $params['environment'] = $environment; $params['with_modifying_actions'] = true; $params['width'] = 500; $errorbox = $class_factory->getClass(ERRORBOX_VIEW,$params); unset($params); $errorbox->setText($translator->getMessage('PREFERENCES_BACKUP_ERROR_MODULE',$name)); $page->add($errorbox); } else { $form_view->setItemIsSaved(); $is_saved = true; }
or $tbl == 'section' ) { $query .= ' ORDER BY '.$tbl.'.version_id DESC'; } $query .= ';'; $result = select($query); $saved_item_ids = array(); while ($row = mysql_fetch_assoc($result) ) { if ( !in_array($row['item_id'],$saved_item_ids) ) { $query = 'INSERT INTO items SET'; $query .= ' item_id="'.$row['item_id'].'"'; $query .= ' ,context_id="'.$row['context_id'].'"'; if ( $tbl == 'room' ) { $query .= ' ,type="'.$row['type'].'"'; } else { $query .= ' ,type="'.DBTable2Type($tbl).'"'; } if ( !empty($row['deleter_id']) ) { $query .= ' ,deleter_id="'.$row['deleter_id'].'"'; } if ( !empty($row['deletion_date']) ) { $query .= ' ,deletion_date="'.$row['deletion_date'].'"'; } if ( !empty($row['modification_date']) ) { $query .= ' ,modification_date="'.$row['modification_date'].'";'; } $result2 = insert($query); } update_progress_bar($count); $saved_item_ids[] = $row['item_id']; }
function _updateFromBackup($data_array) { $success = false; // get columns form database table if (!isset($this->_key_array)) { $query = 'SHOW COLUMNS FROM ' . $this->addDatabasePrefix($this->_db_table); $result = $this->_db_connector->performQuery($query); if (!isset($result)) { include_once 'functions/error_functions.php'; trigger_error('Problem get colums from table ' . $this->_db_table . '.', E_USER_ERROR); } else { $this->_key_array = array(); foreach ($result as $query_result) { $this->_key_array[] = $query_result['Field']; } unset($result); } } // perform update $query = ''; $query .= 'UPDATE ' . $this->addDatabasePrefix($this->_db_table) . ''; $query .= ' SET '; $first = true; foreach ($data_array as $key => $value) { if ($key != 'item_id' and $key != 'files_id' and $key != 'version_id' and in_array($key, $this->_key_array)) { if ($first) { $first = false; } else { $query .= ','; } $query .= $key . '="' . encode(AS_DB, $value) . '"'; } } if (!isset($data_array['deleter_id']) or empty($data_array['deleter_id'])) { $query .= ',deleter_id=NULL'; } if (!isset($data_array['deletion_date']) or empty($data_array['deletion_date'])) { $query .= ',deletion_date=NULL'; } if (DBTable2Type($this->_db_table) == CS_FILE_TYPE) { $query .= ' WHERE files_id="' . encode(AS_DB, $data_array['files_id']) . '"'; } elseif (DBTable2Type($this->_db_table) == CS_LINKHOMEPAGEHOMEPAGE_TYPE or DBTable2Type($this->_db_table) == CS_TAG2TAG_TYPE) { $query .= ' WHERE link_id="' . encode(AS_DB, $data_array['link_id']) . '"'; } else { $query .= ' WHERE item_id="' . encode(AS_DB, $data_array['item_id']) . '"'; } if (isset($data_array['version_id'])) { $query .= ' AND version_id="' . encode(AS_DB, $data_array['version_id']) . '"'; } elseif (DBTable2Type($this->_db_table) == CS_MATERIAL_TYPE) { $query .= ' AND version_id="0"'; } $query .= ';'; $result = $this->_db_connector->performQuery($query); if (!isset($result) or !$result) { include_once 'functions/error_functions.php'; trigger_error('Problem backuping item.', E_USER_ERROR); } else { $success = true; unset($result); } return $success; }