diff --git a/phpwf/plugins/class.databaseupgrade.php b/phpwf/plugins/class.databaseupgrade.php deleted file mode 100644 index 4c965b23..00000000 --- a/phpwf/plugins/class.databaseupgrade.php +++ /dev/null @@ -1,726 +0,0 @@ - -app = $app; - } - - public function emptyTableCache(){ - $this->CheckColumnTableCache = []; - $this->allTables = []; - $this->indexe = []; - } - - /** - * @var bool $force - * - * @return array - */ - public function getAllTables($force = false) - { - if($force || empty($this->allTables)) { - $this->allTables = $this->app->DB->SelectFirstCols('SHOW TABLES'); - } - - return $this->allTables; - } - - /** - * @param string $table - * @param string $pk - */ - public function createTable($table, $pk = 'id') - { - $sql = "CREATE TABLE `$table` (`".$pk."` INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (`".$pk."`)) ENGINE = InnoDB DEFAULT CHARSET=utf8"; - $this->app->DB->Query($sql); - $this->addPrimary($table, $pk); - } - - /** - * @param string $table - * @param string $pk - */ - public function addPrimary($table, $pk = 'id') - { - $this->CheckAlterTable( - "ALTER TABLE `$table` - ADD PRIMARY KEY (`".$pk."`)", - true - ); - $this->CheckAlterTable( - "ALTER TABLE `$table` - MODIFY `".$pk."` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=1", - true - ); - } - - /** - * @param string $table - * @param bool $force - * - * @return array - */ - public function getIndexeCached($table, $force = false) - { - if($force || !isset($this->indexe[$table])){ - $this->indexe[$table] = $this->app->DB->SelectArr(sprintf('SHOW INDEX FROM `%s`', $table)); - if($this->indexe[$table] === null) { - $this->indexe[$table] = []; - } - } - - return $this->indexe[$table]; - } - - /** - * @param string $table - */ - public function clearIndexCached($table) - { - if(!isset($this->indexe[$table])) { - return; - } - unset($this->indexe[$table]); - } - - /** - * @param string $table - * @param string $pk - */ - public function hasPrimaryKey($table, $pk = 'id') - { - $indexe = $this->getIndexeCached($table); - if(empty($indexe)) { - return false; - } - foreach($indexe as $index) { - if($index['Column_name'] === $pk - && $index['Key_name'] === 'PRIMARY' - && (int)$index['Non_unique'] === 0 - ) { - return true; - } - } - - return false; - } - - /** - * @param string $table - * @param string $pk - * - * @return void - */ - function CheckTable($table, $pk = 'id') - { - if($pk === 'id') { - $tables = $this->getAllTables(); - if(!empty($tables)){ - if(!in_array($table, $tables)){ - $this->createTable($table, $pk); - return; - } - if(!$this->hasPrimaryKey($table, $pk)) { - $this->addPrimary($table, $pk); - } - return; - } - } - $found = false; - $tables = $this->getAllTables(true); - if($tables) { - $found = in_array($table, $tables); - } - else{ - $check = $this->app->DB->Select("SELECT $pk FROM `$table` LIMIT 1"); - if($check) { - $found = true; - } - } - if($found==false) - { - $sql = "CREATE TABLE `$table` (`".$pk."` INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (`".$pk."`)) ENGINE = InnoDB DEFAULT CHARSET=utf8"; - $this->app->DB->Update($sql); - $this->CheckAlterTable("ALTER TABLE `$table` - ADD PRIMARY KEY (`".$pk."`)"); - $this->CheckAlterTable("ALTER TABLE `$table` - MODIFY `".$pk."` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=1"); - } - if($pk !== 'id') { - $this->CheckColumn('created_at','timestamp',$table,"DEFAULT CURRENT_TIMESTAMP NOT NULL"); - } - } - - /** - * @param string $column - * @param string $type - * @param string $table - * @param string $default - * - * @return void - */ - function UpdateColumn($column,$type,$table,$default="NOT NULL") - { - $fields = $this->app->DB->SelectArr("show columns from `".$table."`"); - if($fields) - { - foreach($fields as $val) - { - $field_array[] = $val['Field']; - } - } - if (in_array($column, $field_array)) - { - $this->app->DB->Query('ALTER TABLE `'.$table.'` CHANGE `'.$column.'` `'.$column.'` '.$type.' '.$default.';'); - } - } - - /** - * @param string $column - * @param string $table - * - * @return void - */ - public function DeleteColumn($column,$table) - { - $this->app->DB->Query('ALTER TABLE `'.$table.'` DROP `'.$column.'`;'); - } - - /** - * @param string $column - * @param string $type - * @param string $table - * @param string $default - * - * @return void - */ - public function CheckColumn($column,$type,$table,$default="") - { - if($table === 'firmendaten') - { - if($this->app->DB->Select("SELECT `id` FROM `firmendaten_werte` WHERE `name` = '$column' LIMIT 1"))return; - } - if(!isset($this->CheckColumnTableCache[$table])) - { - $tmp=$this->app->DB->SelectArr("show columns from `".$table."`"); - if($tmp) - { - foreach($tmp as $val) - { - $this->CheckColumnTableCache[$table][] = $val['Field']; - //$types[$val['Field']] = strtolower($val['Type']); - } - } - } - if (isset($this->CheckColumnTableCache[$table]) && !in_array($column, $this->CheckColumnTableCache[$table])) - { - if($this->check_column_missing_run) - { - //$result = mysqli_query($this->app->DB->connection,'ALTER TABLE `'.$table.'` ADD `'.$column.'` '.$type.' '.$default.';'); - $this->check_column_missing[$table][]=$column; - } else { - $result = $this->app->DB->Query('ALTER TABLE `'.$table.'` ADD `'.$column.'` '.$type.' '.$default.';'); - if($table === 'firmendaten' && $this->app->DB->error()) - { - if((method_exists($this->app->DB, 'errno2') && $this->app->DB->errno() == '1118') - || strpos($this->app->DB->error(),'Row size too large') !== false - ) - { - $this->ChangeFirmendatenToMyIsam(); - $this->app->DB->Query('ALTER TABLE `'.$table.'` ADD `'.$column.'` '.$type.' '.$default.';'); - } - } - } - } - } - - /** - * @param array $indexe - * - * @return array - */ - protected function getGroupedIndexe($indexe) - { - if(empty($indexe)) { - return $indexe; - } - $return = []; - foreach($indexe as $index) { - $keyName = $index['Key_name']; - $isUnique = $index['Non_unique'] == '0'; - $seq = $index['Seq_in_index']; - $columnName = $index['Column_name']; - $return[$isUnique?'unique':'index'][$keyName][(int)$seq - 1] = $columnName; - } - - return $return; - } - - /** - * @param array $indexe - * - * @return array - */ - protected function getDoubleIndexeFromGroupedIndexe($indexe) - { - if(empty($indexe)) { - return []; - } - - $ret = []; - foreach($indexe as $type => $indexArrs) { - $columnStrings = []; - foreach($indexArrs as $indexKey => $columns) { - $columnString = implode('|', $columns); - if(in_array($columnString, $columnStrings)) { - $ret[$type][] = $indexKey; - continue; - } - $columnStrings[] = $columnString; - } - } - - return $ret; - } - - /** - * @param string $table - * @param array $indexe - * @param bool $noCache - * - * @return array|null - */ - public function CheckDoubleIndex($table, $indexe, $noCache = false) - { - $query = $noCache?null:$this->CheckAlterTable("SHOW INDEX FROM `$table`"); - if(!$query) { - $indexeGrouped = $this->getGroupedIndexe($indexe); - $doubleIndexe = $this->getDoubleIndexeFromGroupedIndexe($indexeGrouped); - if(!empty($doubleIndexe)) { - $indexe = $this->getIndexeCached($table, true); - $indexeGrouped = $this->getGroupedIndexe($indexe); - $doubleIndexe = $this->getDoubleIndexeFromGroupedIndexe($indexeGrouped); - if(empty($doubleIndexe)) { - return $indexe; - } - - foreach($doubleIndexe as $type => $doubleIndex) { - foreach($doubleIndex as $indexName) { - $this->app->DB->Query("ALTER TABLE `".$table."` DROP INDEX `".$indexName."`"); - } - } - } - elseif($noCache) { - return $indexe; - } - $this->CheckAlterTable("SHOW INDEX FROM `$table`", true); - - return $this->getIndexeCached($table, true); - } - if(empty($indexe) || count($indexe) == 1){ - return $indexe; - } - $uniquearr = array(); - $indexarr = array(); - foreach($indexe as $index) - { - if($index['Key_name'] !== 'PRIMARY' && !empty($index['Column_name'])) - { - if($index['Non_unique']) - { - $indexarr[$index['Key_name']][] = $index['Column_name']; - }else{ - $uniquearr[$index['Key_name']][] = $index['Column_name']; - } - } - } - $cindex = count($indexarr); - $cuniqe = count($uniquearr); - $changed = false; - if($cindex > 1) - { - $check = array(); - foreach($indexarr as $key => $value) - { - if(empty($value)) - { - continue; - } - if(count($value) > 1){ - sort($value); - } - $vstr = implode(',', $value); - if(in_array($vstr, $check)) - { - $this->app->DB->Query("DROP INDEX `".$key."` ON `".$table."`"); - $changed = true; - }else{ - $check[] = $vstr; - } - } - } - if($cuniqe > 1) - { - $check = array(); - foreach($uniquearr as $key => $value) - { - if(empty($value)) - { - continue; - } - if(count($value) > 1){ - sort($value); - } - $vstr = implode(',', $value); - if(in_array($vstr, $check)) - { - $this->app->DB->Query("DROP UNIQUE `".$key."` ON `".$table."`"); - $changed = true; - }else{ - $check[] = $vstr; - } - } - } - if($changed) { - return $this->getIndexeCached($table, true); - } - return $indexe; - } - - /** - * @param string $table - * @param string|array $column - * - * @return bool - */ - public function CheckFulltextIndex($table,$column) - { - if(empty($table) || empty($column)) - { - return false; - } - if(!is_array($column)) - { - $column = [$column]; - } - $columnmasked = []; - foreach($column as $keyColumn => $valueColumn) - { - if(!empty($valueColumn)) - { - $columnmasked[] = "`$valueColumn`"; - }else{ - unset($column[$keyColumn]); - } - } - if(empty($column)) - { - return false; - } - $columnsFound = []; - $indexe = $this->getIndexeCached($table, true); - $indexeFound = []; - if(!empty($indexe)) - { - foreach($indexe as $index) - { - if($index['Index_type'] === 'FULLTEXT') - { - $indexeFound[] = $index['Column_name']; - if(!in_array($index['Column_name'], $columnsFound)) - { - $columnsFound[] = $index['Column_name']; - } - } - } - $cindexeFound = count($indexeFound); - $column = count($column); - if(($column === $cindexeFound) && (count($columnsFound) === $column)) - { - return true; - } - if($cindexeFound > 0) - { - return false; - } - - } - $this->app->DB->Query( - "ALTER TABLE `$table` - ADD FULLTEXT INDEX `FullText` - (".implode(',',$columnmasked).");" - ); - $error = $this->app->DB->error(); - - return empty($error); - } - - /** - * @param string $table - * @param string $column - * @param bool $unique - * - * @return void - */ - function CheckIndex($table, $column, $unique = false) - { - $indexex = null; - $indexexother = null; - $indexe = $this->getIndexeCached($table); - if($indexe) - { - $indexe = $this->CheckDoubleIndex($table, $indexe, true); - foreach($indexe as $index) - { - if(is_array($column) && $index['Key_name'] !== 'PRIMARY') - { - if($unique && !$index['Non_unique']) - { - if(in_array($index['Column_name'], $column)) - { - $indexex[$index['Key_name']][$index['Column_name']] = true; - }else{ - $indexexother[$index['Key_name']][$index['Column_name']] = true; - } - } - elseif(!$unique){ - if(in_array($index['Column_name'], $column)) { - $indexex[$index['Key_name']][$index['Column_name']] = true; - } - } - } - elseif(!is_array($column)){ - if($index['Column_name'] == $column) - { - return; - } - } - } - if($this->check_column_missing_run) - { - $this->check_index_missing[$table][] = $column; - } - if(!$unique) - { - if(is_array($column)) - { - if($indexex) - { - foreach($indexex as $k => $v) { - if(count($v) === 1 && count($column) > 1) { - $this->app->DB->Query("DROP INDEX `".$k."` ON `".$table."`"); - $this->clearIndexCached($table); - unset($indexex[$k]); - } - } - foreach($indexex as $k => $v) - { - if(count($v) == count($column)){ - return; - } - } - foreach($indexex as $k => $v) - { - if(!isset($indexexother[$k])) - { - $this->app->DB->Query("DROP INDEX `".$k."` ON `".$table."`"); - $cols = null; - foreach($column as $c) { - $cols[] = "`$c`"; - } - $this->CheckAlterTable("ALTER TABLE `$table` ADD INDEX(".implode(', ',$cols)."); ",true); - $this->clearIndexCached($table); - return; - } - } - } - $cols = null; - foreach($column as $c) { - $cols[] = "`$c`"; - } - $this->CheckAlterTable("ALTER TABLE `$table` ADD INDEX(".implode(', ',$cols)."); ", true); - $this->clearIndexCached($table); - } - else{ - $this->CheckAlterTable("ALTER TABLE `$table` ADD INDEX(`$column`); ", true); - $this->clearIndexCached($table); - } - } - else{ - if(is_array($column)) - { - if($indexex) - { - foreach($indexex as $k => $v) - { - if(count($v) == count($column)) - { - return; - } - } - foreach($indexex as $k => $v) - { - if(!isset($indexexother[$k])) - { - $this->app->DB->Query("DROP INDEX `".$k."` ON `".$table."`"); - $cols = null; - foreach($column as $c) { - $cols[] = "`$c`"; - } - $this->CheckAlterTable("ALTER TABLE `$table` ADD UNIQUE(".implode(', ',$cols)."); ", true); - $this->clearIndexCached($table); - return; - } - } - } - $cols = null; - foreach($column as $c) { - $cols[] = "`$c`"; - } - $this->CheckAlterTable("ALTER TABLE `$table` ADD UNIQUE(".implode(', ',$cols)."); ", true); - $this->clearIndexCached($table); - }else{ - $this->CheckAlterTable("ALTER TABLE `$table` ADD UNIQUE(`$column`); ", true); - $this->clearIndexCached($table); - } - } - } - elseif(!is_array($column)) - { - if(!$unique) - { - $this->CheckAlterTable("ALTER TABLE `$table` ADD INDEX(`$column`); "); - }else{ - $this->CheckAlterTable("ALTER TABLE `$table` ADD UNIQUE(`$column`); "); - } - $this->clearIndexCached($table); - } - elseif(is_array($column)) - { - $cols = null; - foreach($column as $c) { - $cols[] = "`$c`"; - } - $this->CheckAlterTable("ALTER TABLE `$table` ADD UNIQUE(".implode(', ',$cols)."); "); - $this->clearIndexCached($table); - } - } - - /** - * @param string $sql - * @param bool $force - * - * @return mysqli_result|bool - */ - function CheckAlterTable($sql, $force = false) - { - $sqlmd5 = md5($sql); - $check = $this->app->DB->Select("SELECT id FROM checkaltertable WHERE checksum='$sqlmd5' LIMIT 1"); - if($check > 0 && !$force) return; - $query = $this->app->DB->Query($sql); - if($query && empty($check) && !$this->app->DB->error()){ - $this->app->DB->Insert("INSERT INTO checkaltertable (id,checksum) VALUES ('','$sqlmd5')"); - } - return $query; - } - - /** - * @return void - */ - public function ChangeFirmendatenToMyIsam() - { - $this->app->DB->Query("ALTER TABLE firmendaten ENGINE = MyISAM;"); - } - - /** - * @param string $table - * - * @return array - */ - public function getSortedIndexColumnsByIndexName($table): array - { - $indexesByName = []; - $indexes = $this->app->DB->SelectArr(sprintf('SHOW INDEX FROM `%s`', $table)); - if(empty($indexes)) { - return $indexesByName; - } - foreach($indexes as $index) { - $indexesByName[$index['Key_name']][] = $index['Column_name']; - } - foreach($indexesByName as $indexName => $columns) { - $columns = array_unique($columns); - sort($columns); - $indexesByName[$indexName] = $columns; - } - - return $indexesByName; - } - - /** - * @deprecated will be removed in 21.4 - * - * @param string $table - * @param array $columns - */ - public function dropIndex($table, $columns): void - { - if(empty($table) || empty($columns)) { - return; - } - $columns = array_unique($columns); - sort($columns); - $countColumns = count($columns); - $indexes = $this->getSortedIndexColumnsByIndexName($table); - if(empty($indexes)) { - return; - } - foreach($indexes as $indexName => $indexColumns) { - if(count($indexColumns) !== $countColumns) { - continue; - } - if(count(array_intersect($indexColumns, $columns)) === $countColumns) { - $this->app->DB->Query(sprintf('ALTER TABLE `%s` DROP INDEX `%s`', $table, $indexName)); - } - } - } -} diff --git a/update.php b/update.php deleted file mode 100644 index e307e9fa..00000000 --- a/update.php +++ /dev/null @@ -1,2 +0,0 @@ -WFuserdata . '/tmp/' . $config->WFdbname); -$serviceCacheFile = $installConf->getServiceCacheFile(); -@unlink($serviceCacheFile); - -$app = new ApplicationCore(); - -$DEBUG = 0; - -$app->Conf = $config; -$app->DB = new DB($app->Conf->WFdbhost,$app->Conf->WFdbname,$app->Conf->WFdbuser,$app->Conf->WFdbpass, $app, $app->Conf->WFdbport); -if(class_exists('erpAPICustom')) -{ - $erp = new erpAPICustom($app); -}else{ - $erp = new erpAPI($app); -} - -echo "STARTE DB Upgrade\r\n"; -$erp->UpgradeDatabase(); -echo "ENDE DB Upgrade\r\n\r\n"; - -try { - echo "STARTE Installer\r\n"; - - $resolver = new Psr4ClassNameResolver(); - $resolver->addNamespace('Xentral\\', __DIR__ . '/classes'); - $resolver->excludeFile(__DIR__ . '/classes/bootstrap.php'); - - $generator = new ClassMapGenerator($resolver, __DIR__); - $installer = new Installer($generator, $resolver); - $writer = new InstallerCacheWriter($installConf, $installer); - - $dbConfig = new DatabaseConfig( - $app->Conf->WFdbhost, - $app->Conf->WFdbuser, - $app->Conf->WFdbpass, - $app->Conf->WFdbname, - null, - $app->Conf->WFdbport - ); - $tableSchemaCreator = new TableSchemaEnsurer( - $app->Container->get('SchemaCreator'), - $installConf, - $dbConfig - ); - - echo "SCHREIBE ServiceMap\r\n"; - $writer->writeServiceCache(); - - echo "SCHREIBE JavascriptMap\r\n"; - $writer->writeJavascriptCache(); - - echo "ERZEUGE Table Schemas\r\n"; - $schemaCollection = $installer->getTableSchemas(); - $tableSchemaCreator->ensureSchemas($schemaCollection); - - echo "ENDE Installer\r\n"; - // -} catch (Exception $e) { - echo "FEHLER " . $e->getMessage() . "\r\n"; -} diff --git a/upgradesystem.php b/upgradesystem.php deleted file mode 100644 index 5b2b3261..00000000 --- a/upgradesystem.php +++ /dev/null @@ -1,7 +0,0 @@ -Conf = new Config(); -$app->DB = new DB($app->Conf->WFdbhost,$app->Conf->WFdbname,$app->Conf->WFdbuser,$app->Conf->WFdbpass,null,$app->Conf->WFdbport); -$erp = new erpAPI($app); - -$WAWISION['host'] = $app->Conf->updateHost ?? 'removed.upgrade.host'; -$WAWISION['port']="443"; - -$myUpd = new UpgradeClient($WAWISION); - - -echo "STARTE UPDATE\n"; -echo "Im folgenden stehen die Dateien die geaendert wurden.\n -Erscheinen keine Dateien sind Sie auf der neusten Version.\n"; - -$myUpd->Connect(); -//$myUpd->CheckCRT(); -$myUpd->CheckUpdate(); -$myUpd->CheckUpdateCustom(); -$myUpd->CheckUpdateModules(); - -echo "ENDE UPDATE\n"; - -//echo "STARTE DB UPGRADE\n"; -//$erp->UpgradeDatabase(); -//echo "ENDE DB UPGRADE\n"; - -//include("version.php"); -//echo "\r\nRevision: $version_revision\r\n"; - - -//$myUpd->Request(); - - - -//echo - - - -class UpgradeClient -{ - var $localmd5sums; - - function __construct($conf) - { - $this->conf = $conf; - - } - - - function Connect() - { - // check connection then stop - - } - - - function CheckCRT() - { - $cert = shell_exec("openssl s_client -connect {$this->conf['host']}:{$this->conf['port']} < /dev/null 2>/dev/null | openssl x509 -in /dev/stdin"); - if($cert==$this->conf['cert']."\n") return 1; - else { - echo "wrong\n"; - exit; - } - - } - - function CheckUpdate() - { - $parameter['version']=@$this->conf['version']; - $result = $this->Request("md5list",$parameter); - - if($result=="ERROR") { echo "Updates: ERROR FROM SERVER (Perhaps a wrong license?)\n"; return;} - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - - $file = $single_row[0]; - $md5sum = $single_row[1]; - - $parameter['file']=$file; - $parameter['md5sum']=$md5sum; - - if($file=="./upgradesystemclient.php") - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update <- $file\n"; - $result = $this->Request("getfile",$parameter); - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!="") { - echo "datei <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfile",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei ok $file\n"; - rename($file."NEW",$file); - } else { - // echo "datei XX $file local: ".md5_file($file."NEW")." remote: ".$md5sum."\n"; - - } - } else { } - } - } - - - } - //pruefe, update, lege verzeichnis an, lege datei an, loesche datei???? - - - - // download all files with UPD_ prefix - - - // get md5 liste von server - - // pruefe ob alle dateien passen, wenn ja dann alle updaten am schluss - - // wenn nein fehler abbrechen und ganzen prozess nochmal starten - - //echo $md5sums; - - - } - - - function CheckUpdateModules() - { - $parameter['version']=@$this->conf['version']; - $result = $this->Request("md5listmodules",$parameter); - - if($result=="ERROR") { echo "Modules: ERROR FROM SERVER (Perhaps a wrong license?)\n"; return;} - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - - $file = $single_row[0]; - $md5sum = $single_row[1]; - - $parameter['file']=$file; - $parameter['md5sum']=$md5sum; - - if($file=="./upgradesystemclient.php") - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update (M) <- $file\n"; - $result = $this->Request("getfilemodules",$parameter); - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update (M) ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!="") { - echo "datei (M) <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis (M) <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfilemodules",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei (M) ok $file\n"; - rename($file."NEW",$file); - } else { - // echo "datei XX $file local: ".md5_file($file."NEW")." remote: ".$md5sum."\n"; - - } - } else { } - } - } - - - } - //pruefe, update, lege verzeichnis an, lege datei an, loesche datei???? - - - - // download all files with UPD_ prefix - - - // get md5 liste von server - - // pruefe ob alle dateien passen, wenn ja dann alle updaten am schluss - - // wenn nein fehler abbrechen und ganzen prozess nochmal starten - - //echo $md5sums; - - - } - - function CheckUpdateCustom() - { - $parameter['version']=@$this->conf['version']; - $result = $this->Request("md5listcustom",$parameter); - - if($result=="ERROR") { echo "Custom: ERROR FROM SERVER (Perhaps a wrong license?)\n"; return;} - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - - $file = $single_row[0]; - $md5sum = $single_row[1]; - - $parameter['file']=$file; - $parameter['md5sum']=$md5sum; - - if($file=="./upgradesystemclient.php") - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update (C) <- $file\n"; - $result = $this->Request("getfilecustom",$parameter); - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update (C) ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!="") { - echo "datei (C) <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis (C) <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfilecustom",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei (C) ok $file\n"; - rename($file."NEW",$file); - } else { - // echo "datei XX $file local: ".md5_file($file."NEW")." remote: ".$md5sum."\n"; - - } - } else { } - } - } - - - } - //pruefe, update, lege verzeichnis an, lege datei an, loesche datei???? - - - - // download all files with UPD_ prefix - - - // get md5 liste von server - - // pruefe ob alle dateien passen, wenn ja dann alle updaten am schluss - - // wenn nein fehler abbrechen und ganzen prozess nochmal starten - - //echo $md5sums; - - - } - - - function DownloadUpdate() - { - - - } - - function CheckDownloadedUpdate() - { - - - } - - function ExecuteUpdate() - { - - } - - - function Request($command,$parameter) - { - global $erp; - $auth['serial']=trim($erp->Firmendaten("lizenz"));//$this->conf['serial']; - $auth['authkey']=trim($erp->Firmendaten("schluessel"));//$this->conf['authkey']; - - $auth = base64_encode(json_encode($auth)); - $parameter = base64_encode(json_encode($parameter)); - - $client = new HttpClient($this->conf['host'],$this->conf['port']); - $client->post('/upgradesystem.php', array( "authjson" => $auth, "parameterjson"=>$parameter,"command"=>"$command" )); - $pageContents = $client->getContent(); - return $pageContents; - } - - function dir_rekursiv($verzeichnis) - { - $handle = opendir($verzeichnis); - - while ($datei = readdir($handle)) - { - if ($datei != "." && $datei != "..") - { - if (is_dir($verzeichnis.$datei)) // Wenn Verzeichniseintrag ein Verzeichnis ist - { - // Erneuter Funktionsaufruf, um das aktuelle Verzeichnis auszulesen - $this->dir_rekursiv($verzeichnis.$datei.'/'); - } - else - { - // Wenn Verzeichnis-Eintrag eine Datei ist, diese ausgeben - $this->localmd5sums[$verzeichnis.$datei] = md5_file($verzeichnis.$datei); - } - } - } - closedir($handle); - } - - - -} - - -/* Version 0.9, 6th April 2003 - Simon Willison ( http://simon.incutio.com/ ) - Manual: http://scripts.incutio.com/httpclient/ -*/ - -class HttpClient { - // Request vars - var $host; - var $port; - var $path; - var $method; - var $postdata = ''; - var $cookies = array(); - var $referer; - var $accept = 'text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/*'; - var $accept_encoding = 'gzip'; - var $accept_language = 'en-us'; - var $user_agent = 'Incutio HttpClient v0.9'; - // Options - var $timeout = 20; - var $use_gzip = true; - var $persist_cookies = true; // If true, received cookies are placed in the $this->cookies array ready for the next request - // Note: This currently ignores the cookie path (and time) completely. Time is not important, - // but path could possibly lead to security problems. - var $persist_referers = true; // For each request, sends path of last request as referer - var $debug = false; - var $handle_redirects = true; // Auaomtically redirect if Location or URI header is found - var $max_redirects = 5; - var $headers_only = false; // If true, stops receiving once headers have been read. - // Basic authorization variables - var $username; - var $password; - // Response vars - var $status; - var $headers = array(); - var $content = ''; - var $errormsg; - // Tracker variables - var $redirect_count = 0; - var $cookie_host = ''; - function __construct($host, $port=80) { - $this->host = $host; - $this->port = $port; - } - function get($path, $data = false) { - $this->path = $path; - $this->method = 'GET'; - if ($data) { - $this->path .= '?'.$this->buildQueryString($data); - } - return $this->doRequest(); - } - function post($path, $data) { - $this->path = $path; - $this->method = 'POST'; - $this->postdata = $this->buildQueryString($data); - return $this->doRequest(); - } - function buildQueryString($data) { - $querystring = ''; - if (is_array($data)) { - // Change data in to postable data - foreach ($data as $key => $val) { - if (is_array($val)) { - foreach ($val as $val2) { - $querystring .= urlencode($key).'='.urlencode($val2).'&'; - } - } else { - $querystring .= urlencode($key).'='.urlencode($val).'&'; - } - } - $querystring = substr($querystring, 0, -1); // Eliminate unnecessary & - } else { - $querystring = $data; - } - return $querystring; - } - function doRequest() { - // Performs the actual HTTP request, returning true or false depending on outcome - - if(!fsockopen("ssl://".$this->host, $this->port, $errno, $errstr, $this->timeout) && $this->port==443) - { - $this->port=80; - } - - if($this->port==443) - $url = "ssl://".$this->host; - else - $url = $this->host; - - if (!$fp = @fsockopen($url, $this->port, $errno, $errstr, $this->timeout)) { - // Set error message - switch($errno) { - case -3: - $this->errormsg = 'Socket creation failed (-3)'; - case -4: - $this->errormsg = 'DNS lookup failure (-4)'; - case -5: - $this->errormsg = 'Connection refused or timed out (-5)'; - default: - $this->errormsg = 'Connection failed ('.$errno.')'; - $this->errormsg .= ' '.$errstr; - $this->debug($this->errormsg); - } - return false; - } - stream_set_timeout($fp, $this->timeout); - $request = $this->buildRequest(); - $this->debug('Request', $request); - fwrite($fp, $request); - // Reset all the variables that should not persist between requests - $this->headers = array(); - $this->content = ''; - $this->errormsg = ''; - // Set a couple of flags - $inHeaders = true; - $atStart = true; - // Now start reading back the response - while (!feof($fp)) { - $line = fgets($fp, 4096); - if ($atStart) { - // Deal with first line of returned data - $atStart = false; - if (!preg_match('/HTTP\/(\\d\\.\\d)\\s*(\\d+)\\s*(.*)/', $line, $m)) { - $this->errormsg = "Status code line invalid: ".htmlentities($line); - $this->debug($this->errormsg); - //return false; - } - $http_version = $m[1]; // not used - $this->status = $m[2]; - $status_string = $m[3]; // not used - $this->debug(trim($line)); - continue; - } - if ($inHeaders) { - if (trim($line) == '') { - $inHeaders = false; - $this->debug('Received Headers', $this->headers); - if ($this->headers_only) { - break; // Skip the rest of the input - } - continue; - } - if (!preg_match('/([^:]+):\\s*(.*)/', $line, $m)) { - // Skip to the next header - continue; - } - $key = strtolower(trim($m[1])); - $val = trim($m[2]); - // Deal with the possibility of multiple headers of same name - if (isset($this->headers[$key])) { - if (is_array($this->headers[$key])) { - $this->headers[$key][] = $val; - } else { - $this->headers[$key] = array($this->headers[$key], $val); - } - } else { - $this->headers[$key] = $val; - } - continue; - } - // We're not in the headers, so append the line to the contents - $this->content .= $line; - } - fclose($fp); - // If data is compressed, uncompress it - if (isset($this->headers['content-encoding']) && $this->headers['content-encoding'] == 'gzip') { - $this->debug('Content is gzip encoded, unzipping it'); - $this->content = substr($this->content, 10); // See http://www.php.net/manual/en/function.gzencode.php - $this->content = gzinflate($this->content); - } - // If $persist_cookies, deal with any cookies - if ($this->persist_cookies && isset($this->headers['set-cookie']) && $this->host == $this->cookie_host) { - $cookies = $this->headers['set-cookie']; - if (!is_array($cookies)) { - $cookies = array($cookies); - } - foreach ($cookies as $cookie) { - if (preg_match('/([^=]+)=([^;]+);/', $cookie, $m)) { - $this->cookies[$m[1]] = $m[2]; - } - } - // Record domain of cookies for security reasons - $this->cookie_host = $this->host; - } - // If $persist_referers, set the referer ready for the next request - if ($this->persist_referers) { - $this->debug('Persisting referer: '.$this->getRequestURL()); - $this->referer = $this->getRequestURL(); - } - // Finally, if handle_redirects and a redirect is sent, do that - if ($this->handle_redirects) { - if (++$this->redirect_count >= $this->max_redirects) { - $this->errormsg = 'Number of redirects exceeded maximum ('.$this->max_redirects.')'; - $this->debug($this->errormsg); - $this->redirect_count = 0; - return false; - } - $location = isset($this->headers['location']) ? $this->headers['location'] : ''; - $uri = isset($this->headers['uri']) ? $this->headers['uri'] : ''; - if ($location || $uri) { - $url = parse_url($location.$uri); - // This will FAIL if redirect is to a different site - return $this->get($url['path']); - } - } - return true; - } - function buildRequest() { - $headers = array(); - $headers[] = "{$this->method} {$this->path} HTTP/1.0"; // Using 1.1 leads to all manner of problems, such as "chunked" encoding - $headers[] = "Host: {$this->host}"; - $headers[] = "User-Agent: {$this->user_agent}"; - $headers[] = "Accept: {$this->accept}"; - if ($this->use_gzip) { - $headers[] = "Accept-encoding: {$this->accept_encoding}"; - } - $headers[] = "Accept-language: {$this->accept_language}"; - if ($this->referer) { - $headers[] = "Referer: {$this->referer}"; - } - // Cookies - if ($this->cookies) { - $cookie = 'Cookie: '; - foreach ($this->cookies as $key => $value) { - $cookie .= "$key=$value; "; - } - $headers[] = $cookie; - } - // Basic authentication - if ($this->username && $this->password) { - $headers[] = 'Authorization: BASIC '.base64_encode($this->username.':'.$this->password); - } - // If this is a POST, set the content type and length - if ($this->postdata) { - $headers[] = 'Content-Type: application/x-www-form-urlencoded'; - $headers[] = 'Content-Length: '.strlen($this->postdata); - } - $request = implode("\r\n", $headers)."\r\n\r\n".$this->postdata; - return $request; - } - function getStatus() { - return $this->status; - } - function getContent() { - return $this->content; - } - function getHeaders() { - return $this->headers; - } - function getHeader($header) { - $header = strtolower($header); - if (isset($this->headers[$header])) { - return $this->headers[$header]; - } else { - return false; - } - } - function getError() { - return $this->errormsg; - } - function getCookies() { - return $this->cookies; - } - function getRequestURL() { - $url = 'http://'.$this->host; - if ($this->port != 80) { - $url .= ':'.$this->port; - } - $url .= $this->path; - return $url; - } - // Setter methods - function setUserAgent($string) { - $this->user_agent = $string; - } - function setAuthorization($username, $password) { - $this->username = $username; - $this->password = $password; - } - function setCookies($array) { - $this->cookies = $array; - } - // Option setting methods - function useGzip($boolean) { - $this->use_gzip = $boolean; - } - function setPersistCookies($boolean) { - $this->persist_cookies = $boolean; - } - function setPersistReferers($boolean) { - $this->persist_referers = $boolean; - } - function setHandleRedirects($boolean) { - $this->handle_redirects = $boolean; - } - function setMaxRedirects($num) { - $this->max_redirects = $num; - } - function setHeadersOnly($boolean) { - $this->headers_only = $boolean; - } - function setDebug($boolean) { - $this->debug = $boolean; - } - // "Quick" static methods - function quickGet($url) { - $bits = parse_url($url); - $host = $bits['host']; - $port = isset($bits['port']) ? $bits['port'] : 80; - $path = isset($bits['path']) ? $bits['path'] : '/'; - if (isset($bits['query'])) { - $path .= '?'.$bits['query']; - } - $client = new HttpClient($host, $port); - if (!$client->get($path)) { - return false; - } else { - return $client->getContent(); - } - } - function quickPost($url, $data) { - $bits = parse_url($url); - $host = $bits['host']; - $port = isset($bits['port']) ? $bits['port'] : 80; - $path = isset($bits['path']) ? $bits['path'] : '/'; - $client = new HttpClient($host, $port); - if (!$client->post($path, $data)) { - return false; - } else { - return $client->getContent(); - } - } - function debug($msg, $object = false) { - if ($this->debug) { - print '
HttpClient Debug: '.$msg; - if ($object) { - ob_start(); - print_r($object); - $content = htmlentities(ob_get_contents()); - ob_end_clean(); - print '
'.$content.'
'; - } - print '
'; - } - } -} diff --git a/upgradesystemclient2_include.php b/upgradesystemclient2_include.php deleted file mode 100644 index ff74008b..00000000 --- a/upgradesystemclient2_include.php +++ /dev/null @@ -1,783 +0,0 @@ -updateHost ?: 'removed.upgrade.host'; -}else{ - $updateHost = 'removed.upgrade.host'; -} - -$WAWISION['host']=$updateHost; -$WAWISION['port']="443"; - -$myUpd = new UpgradeClient($WAWISION,$this->app); - - -echo "STARTE UPDATE\n"; -echo "Im folgenden stehen die Dateien die geaendert wurden.\n -Erscheinen keine Dateien sind Sie auf der neusten Version.\n"; - -$myUpd->Connect(); -//$myUpd->CheckCRT(); -$myUpd->CheckUpdate(); -$myUpd->CheckUpdateCustom(); -$myUpd->CheckUpdateModules(); - - -class UpgradeClient -{ - var $localmd5sums; - - function __construct($conf,&$app) - { - $this->conf = $conf; - $this->app=&$app; - } - - - function Connect() - { - // check connection then stop - - } - - - function CheckCRT() - { - - $cert = shell_exec("openssl s_client -connect update.embedded-projects.net:443 < /dev/null 2>/dev/null | openssl x509 -in /dev/stdin"); - if($cert==$this->conf['cert']."\n") return 1; - else { - echo "wrong\n"; - exit; - } - - } - - function CheckUpdate() - { - $parameter['version']=@$this->conf['version']; - $result = $this->Request("md5list",$parameter); - - if($result=="ERROR") { echo "Updates: ERROR FROM SERVER (Perhaps a wrong license?)\n"; return;} - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - - $filename = $single_row[0]; - $file = __DIR__."/".$single_row[0]; - $md5sum = $single_row[1]; - - $parameter['file']=$filename; - $parameter['md5sum']=$md5sum; - - - if($file=="./upgradesystemclient.php") - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update <- $file\n"; - $result = $this->Request("getfile",$parameter); - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!="") { - echo "datei <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfile",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei ok $file\n"; - rename($file."NEW",$file); - } else { - // echo "datei XX $file local: ".md5_file($file."NEW")." remote: ".$md5sum."\n"; - - } - } else { } - } - } - - - } - //pruefe, update, lege verzeichnis an, lege datei an, loesche datei???? - - - - // download all files with UPD_ prefix - - - // get md5 liste von server - - // pruefe ob alle dateien passen, wenn ja dann alle updaten am schluss - - // wenn nein fehler abbrechen und ganzen prozess nochmal starten - - //echo $md5sums; - - - } - - - function CheckUpdateModules() - { - $parameter['version']=@$this->conf['version']; - $result = $this->Request("md5listmodules",$parameter); - - if($result=="ERROR") { echo "Modules: ERROR FROM SERVER (Perhaps a wrong license?)\n"; return;} - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - $filename = $single_row[0]; - $file = dirname(__FILE__)."/".$single_row[0]; - $md5sum = $single_row[1]; - - $parameter['file']=$filename; - $parameter['md5sum']=$md5sum; - - if($file=="./upgradesystemclient.php") - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update (M) <- $file\n"; - $result = $this->Request("getfilemodules",$parameter); - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update (M) ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!="") { - echo "datei (M) <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis (M) <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfilemodules",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei (M) ok $file\n"; - rename($file."NEW",$file); - } else { - // echo "datei XX $file local: ".md5_file($file."NEW")." remote: ".$md5sum."\n"; - - } - } else { } - } - } - - - } - //pruefe, update, lege verzeichnis an, lege datei an, loesche datei???? - - - - // download all files with UPD_ prefix - - - // get md5 liste von server - - // pruefe ob alle dateien passen, wenn ja dann alle updaten am schluss - - // wenn nein fehler abbrechen und ganzen prozess nochmal starten - - //echo $md5sums; - - - } - - function CheckUpdateCustom() - { - $parameter['version']=@$this->conf['version']; - $result = $this->Request("md5listcustom",$parameter); - - if($result=="ERROR") { echo "Custom: ERROR FROM SERVER (Perhaps a wrong license?)\n"; return;} - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - $filename = $single_row[0]; - $file = __DIR__."/".$single_row[0]; - $md5sum = $single_row[1]; - - $parameter['file']=$filename; - $parameter['md5sum']=$md5sum; - - if($file=="./upgradesystemclient.php") - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update (C) <- $file\n"; - $result = $this->Request("getfilecustom",$parameter); - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update (C) ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!="") { - echo "datei (C) <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis (C) <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfilecustom",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei (C) ok $file\n"; - rename($file."NEW",$file); - } else { - // echo "datei XX $file local: ".md5_file($file."NEW")." remote: ".$md5sum."\n"; - - } - } else { } - } - } - - - } - //pruefe, update, lege verzeichnis an, lege datei an, loesche datei???? - - - - // download all files with UPD_ prefix - - - // get md5 liste von server - - // pruefe ob alle dateien passen, wenn ja dann alle updaten am schluss - - // wenn nein fehler abbrechen und ganzen prozess nochmal starten - - //echo $md5sums; - - - } - - - function DownloadUpdate() - { - - - } - - function CheckDownloadedUpdate() - { - - - } - - function ExecuteUpdate() - { - - } - - - function Request($command,$parameter) - { - global $erp; - $auth['serial']=$this->app->erp->Firmendaten("lizenz");//$this->conf['serial']; - $auth['authkey']=$this->app->erp->Firmendaten("schluessel");//$this->conf['authkey']; - - $auth = base64_encode(json_encode($auth)); - $parameter = base64_encode(json_encode($parameter)); - $client = new HttpClientUpgrade($this->conf['host'],$this->conf['port']); - $client->post('/upgradesystem.php', array( "authjson" => $auth, "parameterjson"=>$parameter,"command"=>"$command" )); - $pageContents = $client->getContent(); - return $pageContents; - } - - function dir_rekursiv($verzeichnis) - { - $handle = opendir($verzeichnis); - - while ($datei = readdir($handle)) - { - if ($datei != "." && $datei != "..") - { - if (is_dir($verzeichnis.$datei)) // Wenn Verzeichniseintrag ein Verzeichnis ist - { - // Erneuter Funktionsaufruf, um das aktuelle Verzeichnis auszulesen - $this->dir_rekursiv($verzeichnis.$datei.'/'); - } - else - { - // Wenn Verzeichnis-Eintrag eine Datei ist, diese ausgeben - $this->localmd5sums[$verzeichnis.$datei] = md5_file($verzeichnis.$datei); - } - } - } - closedir($handle); - } - - - -} - - -/* Version 0.9, 6th April 2003 - Simon Willison ( http://simon.incutio.com/ ) -Manual: http://scripts.incutio.com/httpclient/ - */ - -class HttpClientUpgrade { - // Request vars - var $host; - var $port; - var $path; - var $method; - var $postdata = ''; - var $cookies = array(); - var $referer; - var $accept = 'text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/*'; - var $accept_encoding = 'gzip'; - var $accept_language = 'en-us'; - var $user_agent = 'Incutio HttpClientUpgrade v0.9'; - // Options - var $timeout = 20; - var $use_gzip = true; - var $persist_cookies = true; // If true, received cookies are placed in the $this->cookies array ready for the next request - // Note: This currently ignores the cookie path (and time) completely. Time is not important, - // but path could possibly lead to security problems. - var $persist_referers = true; // For each request, sends path of last request as referer - var $debug = false; - var $handle_redirects = true; // Auaomtically redirect if Location or URI header is found - var $max_redirects = 5; - var $headers_only = false; // If true, stops receiving once headers have been read. - // Basic authorization variables - var $username; - var $password; - // Response vars - var $status; - var $headers = array(); - var $content = ''; - var $errormsg; - // Tracker variables - var $redirect_count = 0; - var $cookie_host = ''; - function __construct($host, $port=80) { - $this->host = $host; - $this->port = $port; - } - function get($path, $data = false) { - $this->path = $path; - $this->method = 'GET'; - if ($data) { - $this->path .= '?'.$this->buildQueryString($data); - } - return $this->doRequest(); - } - function post($path, $data) { - $this->path = $path; - $this->method = 'POST'; - $this->postdata = $this->buildQueryString($data); - return $this->doRequest(); - } - function buildQueryString($data) { - $querystring = ''; - if (is_array($data)) { - // Change data in to postable data - foreach ($data as $key => $val) { - if (is_array($val)) { - foreach ($val as $val2) { - $querystring .= urlencode($key).'='.urlencode($val2).'&'; - } - } else { - $querystring .= urlencode($key).'='.urlencode($val).'&'; - } - } - $querystring = substr($querystring, 0, -1); // Eliminate unnecessary & - } else { - $querystring = $data; - } - return $querystring; - } - function doRequest() { - // Performs the actual HTTP request, returning true or false depending on outcome - // check if port is available - if(!fsockopen("ssl://".$this->host, $this->port, $errno, $errstr, $this->timeout) && $this->port==443) - { - $this->port=80; - } - - if($this->port==443) - $url = "ssl://".$this->host; - else - $url = $this->host; - - if (!$fp = @fsockopen($url, $this->port, $errno, $errstr, $this->timeout)) { - // Set error message - switch($errno) { - case -3: - $this->errormsg = 'Socket creation failed (-3)'; - case -4: - $this->errormsg = 'DNS lookup failure (-4)'; - case -5: - $this->errormsg = 'Connection refused or timed out (-5)'; - default: - $this->errormsg = 'Connection failed ('.$errno.')'; - $this->errormsg .= ' '.$errstr; - $this->debug($this->errormsg); - } - return false; - } - stream_set_timeout($fp, $this->timeout); - $request = $this->buildRequest(); - $this->debug('Request', $request); - fwrite($fp, $request); - // Reset all the variables that should not persist between requests - $this->headers = array(); - $this->content = ''; - $this->errormsg = ''; - // Set a couple of flags - $inHeaders = true; - $atStart = true; - // Now start reading back the response - while (!feof($fp)) { - $line = fgets($fp, 4096); - if ($atStart) { - // Deal with first line of returned data - $atStart = false; - if (!preg_match('/HTTP\/(\\d\\.\\d)\\s*(\\d+)\\s*(.*)/', $line, $m)) { - $this->errormsg = "Status code line invalid: ".htmlentities($line); - $this->debug($this->errormsg); - //return false; - } - $http_version = $m[1]; // not used - $this->status = $m[2]; - $status_string = $m[3]; // not used - $this->debug(trim($line)); - continue; - } - if ($inHeaders) { - if (trim($line) == '') { - $inHeaders = false; - $this->debug('Received Headers', $this->headers); - if ($this->headers_only) { - break; // Skip the rest of the input - } - continue; - } - if (!preg_match('/([^:]+):\\s*(.*)/', $line, $m)) { - // Skip to the next header - continue; - } - $key = strtolower(trim($m[1])); - $val = trim($m[2]); - // Deal with the possibility of multiple headers of same name - if (isset($this->headers[$key])) { - if (is_array($this->headers[$key])) { - $this->headers[$key][] = $val; - } else { - $this->headers[$key] = array($this->headers[$key], $val); - } - } else { - $this->headers[$key] = $val; - } - continue; - } - // We're not in the headers, so append the line to the contents - $this->content .= $line; - } - fclose($fp); - // If data is compressed, uncompress it - if (isset($this->headers['content-encoding']) && $this->headers['content-encoding'] == 'gzip') { - $this->debug('Content is gzip encoded, unzipping it'); - $this->content = substr($this->content, 10); // See http://www.php.net/manual/en/function.gzencode.php - $this->content = gzinflate($this->content); - } - // If $persist_cookies, deal with any cookies - if ($this->persist_cookies && isset($this->headers['set-cookie']) && $this->host == $this->cookie_host) { - $cookies = $this->headers['set-cookie']; - if (!is_array($cookies)) { - $cookies = array($cookies); - } - foreach ($cookies as $cookie) { - if (preg_match('/([^=]+)=([^;]+);/', $cookie, $m)) { - $this->cookies[$m[1]] = $m[2]; - } - } - // Record domain of cookies for security reasons - $this->cookie_host = $this->host; - } - // If $persist_referers, set the referer ready for the next request - if ($this->persist_referers) { - $this->debug('Persisting referer: '.$this->getRequestURL()); - $this->referer = $this->getRequestURL(); - } - // Finally, if handle_redirects and a redirect is sent, do that - if ($this->handle_redirects) { - if (++$this->redirect_count >= $this->max_redirects) { - $this->errormsg = 'Number of redirects exceeded maximum ('.$this->max_redirects.')'; - $this->debug($this->errormsg); - $this->redirect_count = 0; - return false; - } - $location = isset($this->headers['location']) ? $this->headers['location'] : ''; - $uri = isset($this->headers['uri']) ? $this->headers['uri'] : ''; - if ($location || $uri) { - $url = parse_url($location.$uri); - // This will FAIL if redirect is to a different site - return $this->get($url['path']); - } - } - return true; - } - function buildRequest() { - $headers = array(); - $headers[] = "{$this->method} {$this->path} HTTP/1.0"; // Using 1.1 leads to all manner of problems, such as "chunked" encoding - $headers[] = "Host: {$this->host}"; - $headers[] = "User-Agent: {$this->user_agent}"; - $headers[] = "Accept: {$this->accept}"; - if ($this->use_gzip) { - $headers[] = "Accept-encoding: {$this->accept_encoding}"; - } - $headers[] = "Accept-language: {$this->accept_language}"; - if ($this->referer) { - $headers[] = "Referer: {$this->referer}"; - } - // Cookies - if ($this->cookies) { - $cookie = 'Cookie: '; - foreach ($this->cookies as $key => $value) { - $cookie .= "$key=$value; "; - } - $headers[] = $cookie; - } - // Basic authentication - if ($this->username && $this->password) { - $headers[] = 'Authorization: BASIC '.base64_encode($this->username.':'.$this->password); - } - // If this is a POST, set the content type and length - if ($this->postdata) { - $headers[] = 'Content-Type: application/x-www-form-urlencoded'; - $headers[] = 'Content-Length: '.strlen($this->postdata); - } - $request = implode("\r\n", $headers)."\r\n\r\n".$this->postdata; - return $request; - } - function getStatus() { - return $this->status; - } - function getContent() { - return $this->content; - } - function getHeaders() { - return $this->headers; - } - function getHeader($header) { - $header = strtolower($header); - if (isset($this->headers[$header])) { - return $this->headers[$header]; - } else { - return false; - } - } - function getError() { - return $this->errormsg; - } - function getCookies() { - return $this->cookies; - } - function getRequestURL() { - $url = 'http://'.$this->host; - if ($this->port != 80) { - $url .= ':'.$this->port; - } - $url .= $this->path; - return $url; - } - // Setter methods - function setUserAgent($string) { - $this->user_agent = $string; - } - function setAuthorization($username, $password) { - $this->username = $username; - $this->password = $password; - } - function setCookies($array) { - $this->cookies = $array; - } - // Option setting methods - function useGzip($boolean) { - $this->use_gzip = $boolean; - } - function setPersistCookies($boolean) { - $this->persist_cookies = $boolean; - } - function setPersistReferers($boolean) { - $this->persist_referers = $boolean; - } - function setHandleRedirects($boolean) { - $this->handle_redirects = $boolean; - } - function setMaxRedirects($num) { - $this->max_redirects = $num; - } - function setHeadersOnly($boolean) { - $this->headers_only = $boolean; - } - function setDebug($boolean) { - $this->debug = $boolean; - } - // "Quick" static methods - function quickGet($url) { - $bits = parse_url($url); - $host = $bits['host']; - $port = isset($bits['port']) ? $bits['port'] : 80; - $path = isset($bits['path']) ? $bits['path'] : '/'; - if (isset($bits['query'])) { - $path .= '?'.$bits['query']; - } - $client = new HttpClientUpgrade($host, $port); - if (!$client->get($path)) { - return false; - } else { - return $client->getContent(); - } - } - function quickPost($url, $data) { - $bits = parse_url($url); - $host = $bits['host']; - $port = isset($bits['port']) ? $bits['port'] : 80; - $path = isset($bits['path']) ? $bits['path'] : '/'; - $client = new HttpClientUpgrade($host, $port); - if (!$client->post($path, $data)) { - return false; - } else { - return $client->getContent(); - } - } - function debug($msg, $object = false) { - if ($this->debug) { - print '
HttpClientUpgrade Debug: '.$msg; - if ($object) { - ob_start(); - print_r($object); - $content = htmlentities(ob_get_contents()); - ob_end_clean(); - print '
'.$content.'
'; - } - print '
'; - } - } -} - diff --git a/upgradesystemclient2_includekey.php b/upgradesystemclient2_includekey.php deleted file mode 100644 index 8a3ed511..00000000 --- a/upgradesystemclient2_includekey.php +++ /dev/null @@ -1,928 +0,0 @@ -updateHost ?: 'removed.upgrade.host'; -}else{ - $updateHost = 'removed.upgrade.host'; -} -define('XENTRAL_UPDATE_HOST', $updateHost); - -$WAWISION['host']=XENTRAL_UPDATE_HOST; -$WAWISION['port']="443"; - -$myUpd = new UpgradeClient($WAWISION,$this->app); - - -$myUpd->Connect(); -if(isset($sendStats)) { -} -elseif(isset($buy)) { -} -elseif(isset($getBuyList)) { -} -elseif(isset($getBuyInfo)) { -} -elseif(isset($setBeta)) { -} -elseif(isset($setDevelopmentVersion)) { -} -elseif(isset($buyFromDemo)) { -} -elseif(isset($resetXentral)) { -} -elseif(isset($fiskalyCommand)) { -} -elseif(isset($createFiskalyClientFromClientId) && isset($tseId) && isset($organizationId)) { -} -elseif(isset($sma) && isset($sendSmaErrorMessage)) { -} -else{ -} -if(!class_exists('Md5Dateien')) -{ - class Md5Dateien - { - var $Dateien; - function __construct($quellverzeichnis) - { - $this->getVerzeichnis($quellverzeichnis, '', 0, ''); - } - - function getVerzeichnis($quellverzeichnis, $zielverzeichnis, $lvl, $relativ){ - //echo "Verzeichnis: ".$quellverzeichnis." ".$zielverzeichnis. "\r\n"; - - $quelllast = $quellverzeichnis; - if($quellverzeichnis[strlen($quellverzeichnis) - 1] == '/')$quelllast = substr($quellverzeichnis, 0, strlen($quellverzeichnis) - 1); - - $path_parts = pathinfo($quelllast); - - $quelllast = $path_parts['basename']; - - if(file_exists($quellverzeichnis)) - { - if($quelllast != 'importer' || $lvl != 1){ - if ($handle = opendir($quellverzeichnis)) { - while (false !== ($entry = readdir($handle))) { - - if($entry != '.' && $entry != '..' && $entry != '.git' && $entry != '.svn' && $entry != 'main.conf.php' && $entry != 'user.inc.php' && $entry != 'user_db_version.php' && $entry != 'pygen') - { - if(is_dir($quellverzeichnis.'/'.$entry)) - { - if(!($lvl == 1 && $entry == 'vorlagen' && strpos($quellverzeichnis,'www'))) - $this->getVerzeichnis($quellverzeichnis.(strrpos($quellverzeichnis,'/')!==strlen($quellverzeichnis)-1?'/':'').$entry,$zielverzeichnis .(strrpos($zielverzeichnis,'/')!==strlen($zielverzeichnis)-1?'/':'').$entry, $lvl + 1,$relativ.'/'.$entry); - } else { - if(!($lvl == 0 && ($entry == 'INSTALL' || $entry == 'LICENSE_LIST' || $entry == 'LICENSE' || $entry == 'README' || $entry == 'gitlog.txt'))) - { - //$this->getFile($quellverzeichnis.(strrpos($quellverzeichnis,'/')!==strlen($quellverzeichnis)-1?'/':'').$entry,$zielverzeichnis .(strrpos($zielverzeichnis,'/')!==strlen($zielverzeichnis)-1?'/':'').$entry,$relativ.'/'.$entry); - if(strtolower(substr($entry,-4)) == '.php')$this->Dateien[$relativ.'/'.$entry] = md5_file($quellverzeichnis.(strrpos($quellverzeichnis,'/')!==strlen($quellverzeichnis)-1?'/':'').$entry); - } - } - } - } - @closedir($handle); - } else { - - } - } - - } else { - - } - - return true; - } - } -} - -class UpgradeClient -{ - var $localmd5sums; - - /** - * UpgradeClient constructor. - * - * @param Config $conf - * @param ApplicationCore $app - */ - public function __construct($conf, $app) - { - $this->conf = $conf; - $this->app = $app; - } - - - function Connect() - { - // check connection then stop - - } - - - function CheckCRT() - { - $updateHost = XENTRAL_UPDATE_HOST; - $cert = shell_exec("openssl s_client -connect {$updateHost}:443 < /dev/null 2>/dev/null | openssl x509 -in /dev/stdin"); - if($cert==$this->conf['cert']."\n") return 1; - else { - echo "wrong\n"; - exit; - } - - } - - function CheckUpdate() - { - //$this->dir_rekursiv("./"); - //$parameter['md5sums'] = $this->localmd5sums; - //shell_exec('find ./ -exec md5sum "{}" \;'); - $lines = null; - $funktions_ind = null; - $dateien = new Md5Dateien(__DIR__.'/'); - if(!empty($dateien->Dateien) && is_array($dateien->Dateien)) { - foreach($dateien->Dateien as $k => $v) { - if( - strtolower(substr($k,-4)) === '.php' - && strpos($k, '_custom') !== false - && strpos($k,'/vendor/') === false - ) { - $datei = __DIR__.$k; - if(!file_exists($datei)) { - continue; - } - $fh = fopen($datei, 'r'); - if(!$fh) { - continue; - } - $f_ind = -1; - if(isset($lines)) { - unset($lines); - } - $i = -1; - while(($line = fgets($fh)) !== false) { - $i++; - $lines[$i] = $line; - if(isset($funktions_ind) && isset($funktions_ind[$k])) { - foreach($funktions_ind[$k] as $k2 => $v2) { - if($v2 + 5 >= $i) { - $funktions[$k][$k2][] = $line; - } - } - } - if(strpos($line, 'function') !== false) { - $f_ind++; - for($j = $i-5; $j <= $i; $j++) { - if($j > -1) { - $funktions[$k][$f_ind][] = $lines[$j]; - } - } - $funktions_ind[$k][$f_ind] = $i; - } - } - fclose($fh); - } - } - } - $parameter['version'] = @$this->conf['version']; - if(isset($funktions)) { - $parameter['funktionen'] = $funktions; - $this->Request("versionen", $parameter); - } - - if (is_file(__DIR__ . '/marketing_labels.txt')) { - $parameter['marketing_labels'] = explode(',', (string)@file_get_contents(__DIR__ . '/marketing_labels.txt')); - } - $result = $this->Request("md5list",$parameter); - - if($result==="ERROR") { - echo "Updates: ERROR FROM SERVER (Perhaps a wrong license?)\n"; - return; - } - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - - $filename = $single_row[0]; - $file = __DIR__."/".$single_row[0]; - $md5sum = $single_row[1]; - - $parameter['file']=$filename; - $parameter['md5sum']=$md5sum; - - - if($file==="./upgradesystemclient.php") - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update <- $file\n"; - $result = $this->Request("getfile",$parameter); - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!="") { - echo "datei <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfile",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei ok $file\n"; - rename($file."NEW",$file); - } else { - // echo "datei XX $file local: ".md5_file($file."NEW")." remote: ".$md5sum."\n"; - - } - } else { } - } - } - - - } - //pruefe, update, lege verzeichnis an, lege datei an, loesche datei???? - - - - // download all files with UPD_ prefix - - - // get md5 liste von server - - // pruefe ob alle dateien passen, wenn ja dann alle updaten am schluss - - // wenn nein fehler abbrechen und ganzen prozess nochmal starten - - //echo $md5sums; - - - } - - - function CheckUpdateModules() - { - $parameter['version']=@$this->conf['version']; - $result = $this->Request("md5listmodules",$parameter); - - if($result=="ERROR") { echo "Modules: ERROR FROM SERVER (Perhaps a wrong license?)\n"; return;} - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - $filename = $single_row[0]; - $file = dirname(__FILE__)."/".$single_row[0]; - $md5sum = $single_row[1]; - - $parameter['file']=$filename; - $parameter['md5sum']=$md5sum; - - if($file=="./upgradesystemclient.php") - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update (M) <- $file\n"; - $result = $this->Request("getfilemodules",$parameter); - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update (M) ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!="") { - echo "datei (M) <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis (M) <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfilemodules",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei (M) ok $file\n"; - rename($file."NEW",$file); - } else { - // echo "datei XX $file local: ".md5_file($file."NEW")." remote: ".$md5sum."\n"; - - } - } else { } - } - } - - - } - //pruefe, update, lege verzeichnis an, lege datei an, loesche datei???? - - - - // download all files with UPD_ prefix - - - // get md5 liste von server - - // pruefe ob alle dateien passen, wenn ja dann alle updaten am schluss - - // wenn nein fehler abbrechen und ganzen prozess nochmal starten - - //echo $md5sums; - - - } - - /** - * @param array $data - * - * @return string|null - */ - public function sendSetDevelopmentStatus($data) - { - $parameter['version'] = isset($this->conf['version']) ? $this->conf['version']: null; - $parameter['data'] = $data; - - return $this->Request('setdevelopmentversion', $parameter); - } - - /** - * @param array $data - * - * @return string|null - */ - public function sendSetBetaStatus($data) - { - $parameter['version'] = isset($this->conf['version']) ? $this->conf['version']: null; - $parameter['data'] = $data; - - return $this->Request('setbeta', $parameter); - } - - - function CheckUpdateKey() - { - $parameter['SERVER_NAME'] = $_SERVER['SERVER_NAME']; - if(!empty($_SERVER['HTTP_HOST']) && (empty($parameter['SERVER_NAME']) || $parameter['SERVER_NAME'] === '_')) { - $parameter['SERVER_NAME'] = $_SERVER['HTTP_HOST']; - } - $parameter['phpversion'] = (String)phpversion(); - $parameter['mysqlversion'] = $this->app->DB->GetVersion(); - $parameter['version']=@$this->conf['version']; - $result = $this->Request('md5listcustom',$parameter); - - if($result==='ERROR') { - return false; - } - - $rows = explode(';',$result); - - $return = false; - - if(count($rows) <= 0) { - return false; - } - - foreach($rows as $value) { - unset($single_row); - $single_row = explode(':',$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) { - $filename = $single_row[0]; - $file = __DIR__.'/'.$single_row[0]; - $md5sum = $single_row[1]; - - $parameter['file']=$filename; - $parameter['md5sum']=$md5sum; - - $fileOk = $filename === './key.php'; - if(!$fileOk && strpos($md5sum, 'DEL') === false) { - if($filename === './www/themes/new/templates/loginslider.tpl') { - $fileOk = true; - } - elseif(strpos($filename ,'./www/themes/new/templates/') === 0 - && (substr($filename,-4) === '.jpg' || substr($filename,-5) === '.jpeg') - && strpos($filename, '/', 28) === false) { - $fileOk = true; - } - } - if(!$fileOk) { - continue; - } - - if(is_file($file)) { - - // pruefe md5sum - if(md5_file($file)!=$md5sum) { - // wenn update dann UPD_ - $result = $this->Request('getfilecustom',$parameter); - $output = (base64_decode($result)); - file_put_contents($file.'UPD', $output); - - if(md5_file($file.'UPD')==$md5sum && $result) { - $return = rename($file.'UPD',$file); - } - } - else { - $return = true; - } - continue; - } - - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis) && !mkdir($verzeichnis,0777,true) && !is_dir($verzeichnis)) { - } - $result = $this->Request('getfilecustom',$parameter); - $output = base64_decode($result); - file_put_contents($file.'NEW', $output); - if(md5_file($file.'NEW')==$md5sum) { - $return = rename($file.'NEW',$file); - } - } - } - - - return $return; - } - - - function DownloadUpdate() - { - - - } - - function CheckDownloadedUpdate() - { - - - } - - function ExecuteUpdate() - { - - } - - - function Request($command,$parameter) - { - global $erp; - $auth['serial']=$this->app->erp->Firmendaten("lizenz");//$this->conf['serial']; - $auth['authkey']=$this->app->erp->Firmendaten("schluessel");//$this->conf['authkey']; - $auth['SERVER_NAME'] = (isset($_SERVER['SERVER_NAME']) && $_SERVER['SERVER_NAME'] != '')?$_SERVER['SERVER_NAME']:(isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:''); - $auth = base64_encode(json_encode($auth)); - $parameter = base64_encode(json_encode($parameter)); - $client = new HttpClientUpgrade($this->conf['host'],$this->conf['port']); - $client->post('/upgradesystem.php', array( "authjson" => $auth, "parameterjson"=>$parameter,"command"=>"$command" )); - $pageContents = $client->getContent(); - return $pageContents; - } - - function dir_rekursiv($verzeichnis) - { - $handle = opendir($verzeichnis); - - while ($datei = readdir($handle)) - { - if ($datei != "." && $datei != "..") - { - if (is_dir($verzeichnis.$datei)) // Wenn Verzeichniseintrag ein Verzeichnis ist - { - // Erneuter Funktionsaufruf, um das aktuelle Verzeichnis auszulesen - $this->dir_rekursiv($verzeichnis.$datei.'/'); - } - else - { - // Wenn Verzeichnis-Eintrag eine Datei ist, diese ausgeben - $this->localmd5sums[$verzeichnis.$datei] = md5_file($verzeichnis.$datei); - } - } - } - closedir($handle); - } - - - -} - - -/* Version 0.9, 6th April 2003 - Simon Willison ( http://simon.incutio.com/ ) -Manual: http://scripts.incutio.com/httpclient/ - */ - -class HttpClientUpgrade { - // Request vars - var $host; - var $port; - var $path; - var $method; - var $postdata = ''; - var $cookies = array(); - var $referer; - var $accept = 'text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/*'; - var $accept_encoding = 'gzip'; - var $accept_language = 'en-us'; - var $user_agent = 'Incutio HttpClientUpgrade v0.9'; - // Options - var $timeout = 20; - var $use_gzip = true; - var $persist_cookies = true; // If true, received cookies are placed in the $this->cookies array ready for the next request - // Note: This currently ignores the cookie path (and time) completely. Time is not important, - // but path could possibly lead to security problems. - var $persist_referers = true; // For each request, sends path of last request as referer - var $debug = false; - var $handle_redirects = true; // Auaomtically redirect if Location or URI header is found - var $max_redirects = 5; - var $headers_only = false; // If true, stops receiving once headers have been read. - // Basic authorization variables - var $username; - var $password; - // Response vars - var $status; - var $headers = array(); - var $content = ''; - var $errormsg; - // Tracker variables - var $redirect_count = 0; - var $cookie_host = ''; - function __construct($host, $port=80) { - $this->host = $host; - $this->port = $port; - } - function get($path, $data = false) { - $this->path = $path; - $this->method = 'GET'; - if ($data) { - $this->path .= '?'.$this->buildQueryString($data); - } - return $this->doRequest(); - } - function post($path, $data) { - $this->path = $path; - $this->method = 'POST'; - $this->postdata = $this->buildQueryString($data); - return $this->doRequest(); - } - function buildQueryString($data) { - $querystring = ''; - if (is_array($data)) { - // Change data in to postable data - foreach ($data as $key => $val) { - if (is_array($val)) { - foreach ($val as $val2) { - $querystring .= urlencode($key).'='.urlencode($val2).'&'; - } - } else { - $querystring .= urlencode($key).'='.urlencode($val).'&'; - } - } - $querystring = substr($querystring, 0, -1); // Eliminate unnecessary & - } else { - $querystring = $data; - } - return $querystring; - } - function doRequest() { - // Performs the actual HTTP request, returning true or false depending on outcome - // check if port is available - if(!fsockopen("ssl://".$this->host, $this->port, $errno, $errstr, $this->timeout) && $this->port==443) - { - $this->port=80; - } - - if($this->port==443) - $url = "ssl://".$this->host; - else - $url = $this->host; - - if (!$fp = @fsockopen($url, $this->port, $errno, $errstr, $this->timeout)) { - // Set error message - switch($errno) { - case -3: - $this->errormsg = 'Socket creation failed (-3)'; - case -4: - $this->errormsg = 'DNS lookup failure (-4)'; - case -5: - $this->errormsg = 'Connection refused or timed out (-5)'; - default: - $this->errormsg = 'Connection failed ('.$errno.')'; - $this->errormsg .= ' '.$errstr; - $this->debug($this->errormsg); - } - return false; - } - socket_set_timeout($fp, $this->timeout); - $request = $this->buildRequest(); - $this->debug('Request', $request); - fwrite($fp, $request); - // Reset all the variables that should not persist between requests - $this->headers = array(); - $this->content = ''; - $this->errormsg = ''; - // Set a couple of flags - $inHeaders = true; - $atStart = true; - // Now start reading back the response - while (!feof($fp)) { - $line = fgets($fp, 4096); - if ($atStart) { - // Deal with first line of returned data - $atStart = false; - if (!preg_match('/HTTP\/(\\d\\.\\d)\\s*(\\d+)\\s*(.*)/', $line, $m)) { - $this->errormsg = "Status code line invalid: ".htmlentities($line); - $this->debug($this->errormsg); - //return false; - } - $http_version = $m[1]; // not used - $this->status = $m[2]; - $status_string = $m[3]; // not used - $this->debug(trim($line)); - continue; - } - if ($inHeaders) { - if (trim($line) == '') { - $inHeaders = false; - $this->debug('Received Headers', $this->headers); - if ($this->headers_only) { - break; // Skip the rest of the input - } - continue; - } - if (!preg_match('/([^:]+):\\s*(.*)/', $line, $m)) { - // Skip to the next header - continue; - } - $key = strtolower(trim($m[1])); - $val = trim($m[2]); - // Deal with the possibility of multiple headers of same name - if (isset($this->headers[$key])) { - if (is_array($this->headers[$key])) { - $this->headers[$key][] = $val; - } else { - $this->headers[$key] = array($this->headers[$key], $val); - } - } else { - $this->headers[$key] = $val; - } - continue; - } - // We're not in the headers, so append the line to the contents - $this->content .= $line; - } - fclose($fp); - // If data is compressed, uncompress it - if (isset($this->headers['content-encoding']) && $this->headers['content-encoding'] == 'gzip') { - $this->debug('Content is gzip encoded, unzipping it'); - $this->content = substr($this->content, 10); // See http://www.php.net/manual/en/function.gzencode.php - $this->content = gzinflate($this->content); - } - // If $persist_cookies, deal with any cookies - if ($this->persist_cookies && isset($this->headers['set-cookie']) && $this->host == $this->cookie_host) { - $cookies = $this->headers['set-cookie']; - if (!is_array($cookies)) { - $cookies = array($cookies); - } - foreach ($cookies as $cookie) { - if (preg_match('/([^=]+)=([^;]+);/', $cookie, $m)) { - $this->cookies[$m[1]] = $m[2]; - } - } - // Record domain of cookies for security reasons - $this->cookie_host = $this->host; - } - // If $persist_referers, set the referer ready for the next request - if ($this->persist_referers) { - $this->debug('Persisting referer: '.$this->getRequestURL()); - $this->referer = $this->getRequestURL(); - } - // Finally, if handle_redirects and a redirect is sent, do that - if ($this->handle_redirects) { - if (++$this->redirect_count >= $this->max_redirects) { - $this->errormsg = 'Number of redirects exceeded maximum ('.$this->max_redirects.')'; - $this->debug($this->errormsg); - $this->redirect_count = 0; - return false; - } - $location = isset($this->headers['location']) ? $this->headers['location'] : ''; - $uri = isset($this->headers['uri']) ? $this->headers['uri'] : ''; - if ($location || $uri) { - $url = parse_url($location.$uri); - // This will FAIL if redirect is to a different site - return $this->get($url['path']); - } - } - return true; - } - function buildRequest() { - $headers = array(); - $headers[] = "{$this->method} {$this->path} HTTP/1.0"; // Using 1.1 leads to all manner of problems, such as "chunked" encoding - $headers[] = "Host: {$this->host}"; - $headers[] = "User-Agent: {$this->user_agent}"; - $headers[] = "Accept: {$this->accept}"; - if ($this->use_gzip) { - $headers[] = "Accept-encoding: {$this->accept_encoding}"; - } - $headers[] = "Accept-language: {$this->accept_language}"; - if ($this->referer) { - $headers[] = "Referer: {$this->referer}"; - } - // Cookies - if ($this->cookies) { - $cookie = 'Cookie: '; - foreach ($this->cookies as $key => $value) { - $cookie .= "$key=$value; "; - } - $headers[] = $cookie; - } - // Basic authentication - if ($this->username && $this->password) { - $headers[] = 'Authorization: BASIC '.base64_encode($this->username.':'.$this->password); - } - // If this is a POST, set the content type and length - if ($this->postdata) { - $headers[] = 'Content-Type: application/x-www-form-urlencoded'; - $headers[] = 'Content-Length: '.strlen($this->postdata); - } - $request = implode("\r\n", $headers)."\r\n\r\n".$this->postdata; - return $request; - } - function getStatus() { - return $this->status; - } - function getContent() { - return $this->content; - } - function getHeaders() { - return $this->headers; - } - function getHeader($header) { - $header = strtolower($header); - if (isset($this->headers[$header])) { - return $this->headers[$header]; - } else { - return false; - } - } - function getError() { - return $this->errormsg; - } - function getCookies() { - return $this->cookies; - } - function getRequestURL() { - $url = 'http://'.$this->host; - if ($this->port != 80) { - $url .= ':'.$this->port; - } - $url .= $this->path; - return $url; - } - // Setter methods - function setUserAgent($string) { - $this->user_agent = $string; - } - function setAuthorization($username, $password) { - $this->username = $username; - $this->password = $password; - } - function setCookies($array) { - $this->cookies = $array; - } - // Option setting methods - function useGzip($boolean) { - $this->use_gzip = $boolean; - } - function setPersistCookies($boolean) { - $this->persist_cookies = $boolean; - } - function setPersistReferers($boolean) { - $this->persist_referers = $boolean; - } - function setHandleRedirects($boolean) { - $this->handle_redirects = $boolean; - } - function setMaxRedirects($num) { - $this->max_redirects = $num; - } - function setHeadersOnly($boolean) { - $this->headers_only = $boolean; - } - function setDebug($boolean) { - $this->debug = $boolean; - } - // "Quick" static methods - function quickGet($url) { - $bits = parse_url($url); - $host = $bits['host']; - $port = isset($bits['port']) ? $bits['port'] : 80; - $path = isset($bits['path']) ? $bits['path'] : '/'; - if (isset($bits['query'])) { - $path .= '?'.$bits['query']; - } - $client = new HttpClientUpgrade($host, $port); - if (!$client->get($path)) { - return false; - } else { - return $client->getContent(); - } - } - function quickPost($url, $data) { - $bits = parse_url($url); - $host = $bits['host']; - $port = isset($bits['port']) ? $bits['port'] : 80; - $path = isset($bits['path']) ? $bits['path'] : '/'; - $client = new HttpClientUpgrade($host, $port); - if (!$client->post($path, $data)) { - return false; - } else { - return $client->getContent(); - } - } - function debug($msg, $object = false) { - if ($this->debug) { - print '
HttpClientUpgrade Debug: '.$msg; - if ($object) { - ob_start(); - print_r($object); - $content = htmlentities(ob_get_contents()); - ob_end_clean(); - print '
'.$content.'
'; - } - print '
'; - } - } -} diff --git a/www/lib/class.erpapi.php b/www/lib/class.erpapi.php index b915d780..4447b3b0 100644 --- a/www/lib/class.erpapi.php +++ b/www/lib/class.erpapi.php @@ -3754,9 +3754,9 @@ title: 'Abschicken', public function calledOnceAfterLogin($type) { $this->app->User->deleteParameterPrefix('tablesearch\\_'); - if($this->app->DB->Select('SELECT `settings` FROM `user` WHERE `id`= 1')==='firstinstall') { +/* if($this->app->DB->Select('SELECT `settings` FROM `user` WHERE `id`= 1')==='firstinstall') { $this->UpgradeDatabase(); - } + }*/ $this->app->User->SetParameter('zeiterfassung_create_datumzeiterfassung',''); @@ -7403,7 +7403,7 @@ function ClearSqlCache($shortcode, $seconds = 0) if($seconds > 0) { $this->app->DB->Delete( sprintf( - 'DELETE FROM sqlcache WHERE DATE_DIFF(zeitstempel, INTERVAL %d SECOND) < NOW()', + 'DELETE FROM sqlcache WHERE TIMESTAMPDIFF(SECOND,zeitstempel, NOW()) > %d', $seconds ) ); @@ -7415,7 +7415,7 @@ function ClearSqlCache($shortcode, $seconds = 0) if($seconds > 0) { $this->app->DB->Delete( sprintf( - "DELETE FROM sqlcache WHERE shortcode = '%s' AND DATE_DIFF(zeitstempel, INTERVAL %d SECOND) < NOW()", + "DELETE FROM sqlcache WHERE shortcode = '%s' AND TIMESTAMPDIFF(SECOND,zeitstempel, NOW()) > %d", $this->app->DB->real_escape_string($shortcode), $seconds ) ); @@ -8035,5310 +8035,6 @@ function WriteChangeLog() return $change_log; } -// @refactor Installer Komponente -function UpgradeDatabase($stufe = 0) -{ - $this->emptyTableCache(); - if($stufe == 0 || $stufe == 1) - { - $this->RemoveFolder('vendor/aura/sql/'); - $this->CheckTable("checkaltertable"); - $this->CheckColumn("id","int(11)","checkaltertable","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("checksum","varchar(128)","checkaltertable","DEFAULT '' NOT NULL"); - - $this->RemoveFile('www/pages/content/shopexport_neu_custom.tpl'); - if(is_file(dirname(dirname(__DIR__)).'/cronjobs/dateibaum.php') && !$this->app->DB->Select(sprintf("SELECT id FROM prozessstarter WHERE parameter = 'dateibaun' LIMIT 1"))){ - $this->RemoveFile('cronjobs/dateibaum.php'); - } - if(is_file(__DIR__.'/versandarten/dhlversenden.php') && is_file(__DIR__.'/versandarten/content/versandarten_dhlversenden.tpl')) - { - $this->app->DB->Update("UPDATE versandarten SET modul='dhlversenden' WHERE modul='intraship'"); - $this->RemoveFile('www/lib/versandarten/intraship.php'); - $this->RemoveFile('www/lib/versandarten/content/versandarten_intraship.tpl'); - } - if(!$this->ModulVorhanden('exceldokument')) - { - $this->RemoveFolder('www/lib/PHPExcel'); - } - $this->RemoveFile('cronjobs/artikelreplace.php'); - $this->RemoveFile('cronjobs/shopware_partner.php'); - $this->RemoveFile('cronjobs/newsletter.php'); - $this->RemoveFile('www/pages/auftragassistent.php'); - $this->RemoveFile('www/pages/exportcsvauftrag.php'); - $this->RemoveFile('www/objectapi/mysql/object.shopexport.php'); - $canDeleteRocketShipit = - !file_exists(__DIR__.'/versandarten/RocketShipIt/autoload.php') && - file_exists(__DIR__.'/versandarten/rocketshipit.php') && - !$this->app->DB->Select("SELECT id FROM versandarten WHERE modul = 'rocketshipit'"); - if($canDeleteRocketShipit) { - $this->RemoveFile('www/lib/versandarten/rocketshipit.php'); - $this->RemoveFile('www/lib/versandarten/content/versandarten_rocketshipit.tpl'); - } - if(file_exists(dirname(__DIR__).'/pages/gobnav.php') && - !file_exists(dirname(__DIR__).'/pages/content/gobnav_requests.tpl') - ) { - $this->RemoveFile('www/pages/gobnav.php'); - } - if(file_exists(dirname(__DIR__).'/pages/gobnav.src.php') && - !file_exists(dirname(__DIR__).'/pages/content/gobnav_requests.tpl') - ) { - $this->RemoveFile('www/pages/gobnav.src.php'); - } - $this->RemoveFolder('www/setup'); - if(!class_exists('ModuleScriptCache')) - { - include(dirname(dirname(__DIR__)).'/phpwf/plugins/class.modulescriptcache.php'); - } - - if(class_exists('ModuleScriptCache')){ - if(!isset($this->app->ModuleScriptCache))$this->app->ModuleScriptCache = new ModuleScriptCache(); - $this->RemoveFolder('www/'.$this->app->ModuleScriptCache->GetRelativeCacheDir()); - $this->app->ModuleScriptCache = new ModuleScriptCache(); - } - $this->CheckTable("firmendaten_werte"); - $this->CheckColumn("id","int(11)","firmendaten_werte","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("name","varchar(64)","firmendaten_werte","DEFAULT '' NOT NULL"); - $this->CheckColumn("typ","varchar(64)","firmendaten_werte","DEFAULT '' NOT NULL"); - $this->CheckColumn("typ1","varchar(64)","firmendaten_werte","DEFAULT '' NOT NULL"); - $this->CheckColumn("typ2","varchar(64)","firmendaten_werte","DEFAULT '' NOT NULL"); - $this->CheckColumn("wert","text","firmendaten_werte","DEFAULT '' NOT NULL"); - $this->CheckColumn("default_value","text","firmendaten_werte","DEFAULT '' NOT NULL"); - $this->CheckColumn("default_null","tinyint(1)","firmendaten_werte","DEFAULT '0' NOT NULL"); - $this->CheckColumn("darf_null","tinyint(1)","firmendaten_werte","DEFAULT '0' NOT NULL"); - $firmendaten_null = $this->app->DB->SelectArr("SELECT * FROM firmendaten_werte WHERE id = '0'"); - if($firmendaten_null) - { - foreach($firmendaten_null as $val) - { - $maxid = 1+(int)$this->app->DB->Select("SELECT max(id) FROM `firmendaten_werte`"); - $this->app->DB->Update("UPDATE `firmendaten_werte` set id = '$maxid' WHERE id = '0' AND name = '".$val['name']."' LIMIT 1"); - } - } - $doppelteids = $this->app->DB->SelectArr("SELECT id, count(*) as co FROM `firmendaten_werte` GROUP BY id HAVING COUNT(*) > 1"); - if($doppelteids) - { - foreach($doppelteids as $val) - { - $maxid = 1+(int)$this->app->DB->Select("SELECT max(id) FROM `firmendaten_werte`"); - $doppelte = $this->app->DB->SelectArr("SELECT * FROM `firmendaten_werte` WHERE id = '".$val['id']."'"); - for($i = 0; $i < $val['co']; $i++) - { - $this->app->DB->Update("UPDATE `firmendaten_werte` SET id = '$maxid' WHERE id = '".$val['id']."' AND name = '".$val['name']."' LIMIT 1"); - $maxid++; - } - } - } - - $keys = $this->app->DB->Select("SELECT COLUMN_NAME - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_NAME = 'firmendaten' - AND COLUMN_KEY = 'PRI'"); - - if ($keys != 'id') { // Only if id is not already primary key - $this->CheckAlterTable("ALTER TABLE `firmendaten_werte` ADD PRIMARY KEY(`id`);"); - } - - $maxid = 1+(int)$this->app->DB->Select("SELECT max(id) FROM `firmendaten_werte`"); - $this->CheckAlterTable("ALTER TABLE `firmendaten_werte` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=".$maxid); - - $this->StandardFirmendatenWerte(); - - if((string)$this->Firmendaten('waehrung') === '') { - $this->FirmendatenSet('waehrung', 'EUR'); - } - - $this->activateCleanerOnce(); - $this->fixDatabaseNullIDs('artikelkategorien'); - $this->CheckTable('module_action'); - $this->CheckColumn('module','VARCHAR(255)','module_action',"DEFAULT '' NOT NULL"); - $this->CheckColumn('action','VARCHAR(255)','module_action',"DEFAULT '' NOT NULL"); - $this->CheckIndex('module_action',['module','action'], true); - $this->app->erp->CheckTable('user'); - $this->app->erp->CheckColumn('id','int(11)','user',"NOT NULL AUTO_INCREMENT"); - $this->app->erp->CheckColumn('username','varchar(100)','user'," "); - $this->app->erp->CheckColumn('password','varchar(255)','user'," "); - $this->app->erp->CheckColumn('repassword','int(1)','user'," "); - $this->app->erp->CheckColumn('description','varchar(255)','user'," "); - $this->app->erp->CheckColumn('settings','text','user'," "); - $this->app->erp->CheckColumn('parentuser','int(11)','user'," "); - $this->app->erp->CheckColumn('activ','int(11)','user'," DEFAULT '0' "); - $this->app->erp->CheckColumn('type','varchar(100)','user'," DEFAULT '' "); - $this->app->erp->CheckColumn('adresse','int(10)','user'," "); - $this->app->erp->CheckColumn('fehllogins','int(11)','user'," "); - $this->app->erp->CheckColumn('standarddrucker','int(1)','user'," "); - $this->app->erp->CheckColumn('firma','int(10)','user'," "); - $this->app->erp->CheckColumn('logdatei','timestamp','user'," DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP"); - $this->app->erp->CheckColumn('startseite','varchar(1024)','user'," "); - $this->app->erp->CheckColumn('hwtoken','int(1)','user'," "); - $this->app->erp->CheckColumn('hwkey','varchar(255)','user'," "); - $this->app->erp->CheckColumn('hwcounter','int(11)','user'," "); - $this->app->erp->CheckColumn('motppin','varchar(255)','user'," "); - $this->app->erp->CheckColumn('motpsecret','varchar(255)','user'," "); - $this->app->erp->CheckColumn('passwordmd5','varchar(255)','user'," "); - $this->app->erp->CheckColumn('externlogin','int(1)','user'," "); - $this->app->erp->CheckColumn('projekt_bevorzugen','tinyint(1)','user'," DEFAULT '0' "); - $this->app->erp->CheckColumn('email_bevorzugen','tinyint(1)','user'," DEFAULT '1' "); - $this->app->erp->CheckColumn('projekt','int(11)','user'," DEFAULT '0' "); - $this->app->erp->CheckColumn('rfidtag','varchar(64)','user'," DEFAULT '' "); - $this->app->erp->CheckColumn('vorlage','varchar(255)','user'," "); - $this->app->erp->CheckColumn('kalender_passwort','varchar(255)','user'," "); - $this->app->erp->CheckColumn('kalender_ausblenden','int(1)','user'," DEFAULT '0' "); - $this->app->erp->CheckColumn('kalender_aktiv','int(1)','user'," "); - $this->app->erp->CheckColumn('gpsstechuhr','int(1)','user'," "); - $this->app->erp->CheckColumn('standardetikett','int(11)','user'," DEFAULT '0' "); - $this->app->erp->CheckColumn('standardfax','int(11)','user'," DEFAULT '0' "); - $this->app->erp->CheckColumn('internebezeichnung','varchar(255)','user'," "); - $this->app->erp->CheckColumn('hwdatablock','varchar(255)','user'," "); - $this->app->erp->CheckColumn('standardversanddrucker','int(11)','user'," DEFAULT '0' "); - $this->app->erp->CheckColumn('passwordsha512','varchar(128)','user'," DEFAULT '' "); - $this->app->erp->CheckColumn('salt','varchar(128)','user'," DEFAULT '' "); - $this->app->erp->CheckColumn('paketmarkendrucker','int(11)','user'," DEFAULT '0' "); - $this->app->erp->CheckColumn('sprachebevorzugen','varchar(255)','user'," "); - $this->app->erp->CheckColumn('vergessencode','varchar(255)','user'," DEFAULT '' "); - $this->app->erp->CheckColumn('vergessenzeit','datetime','user'," "); - $this->app->erp->CheckColumn('chat_popup','tinyint(1)','user'," DEFAULT '1' "); - $this->app->erp->CheckColumn('defaultcolor','varchar(10)','user'," DEFAULT '' "); - $this->app->erp->CheckColumn('passwordhash','char(60)','user'," "); - $this->app->erp->CheckColumn('docscan_aktiv','tinyint(1)','user'," DEFAULT '0' "); - $this->app->erp->CheckColumn('docscan_passwort','varchar(64)','user'," "); - $this->app->erp->CheckColumn('callcenter_notification','tinyint(1)','user'," DEFAULT '1' "); - $this->app->erp->CheckColumn('stechuhrdevice','varchar(255)','user'," DEFAULT '' "); - $this->app->erp->CheckColumn('role','varchar(255)','user'," DEFAULT '' "); - } - if($stufe == 0 || $stufe == 2) - { - $this->InstallModul('api'); - // @todo @refactor In SystemNotification-Modul auslagern - $this->CheckTable("notification_message"); - $this->CheckColumn("id","INT(10) UNSIGNED","notification_message","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("user_id","INT(10) UNSIGNED","notification_message","NOT NULL DEFAULT '0'"); - $this->CheckColumn("type","VARCHAR(16)","notification_message","NOT NULL DEFAULT 'default'"); - $this->CheckColumn("title","VARCHAR(64)","notification_message","NOT NULL DEFAULT ''"); - $this->CheckColumn("message","VARCHAR(1024)","notification_message","DEFAULT NULL"); - $this->CheckColumn("tags","VARCHAR(512)","notification_message","DEFAULT NULL"); - $this->CheckColumn("options_json","TEXT","notification_message","DEFAULT NULL"); - $this->CheckColumn("priority","TINYINT(1) UNSIGNED","notification_message","NOT NULL DEFAULT '0'"); - $this->CheckColumn("created_at","TIMESTAMP","notification_message","DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckIndex("notification_message","user_id"); - $this->CheckAlterTable("ALTER TABLE `notification_message` CHANGE `message` `message` VARCHAR(1024) DEFAULT NULL"); - $this->app->DB->Query("DROP TABLE IF EXISTS `interne_events`"); // 'interne_events' wird zu 'notification_message' - - $this->CheckCronjob(); - $this->CheckAlterTable("ALTER TABLE `adresse` CHANGE `rechnung_vorname` `rechnung_vorname` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_name` `rechnung_name` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_titel` `rechnung_titel` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_typ` `rechnung_typ` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_strasse` `rechnung_strasse` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_ort` `rechnung_ort` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_land` `rechnung_land` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_abteilung` `rechnung_abteilung` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_unterabteilung` `rechnung_unterabteilung` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_adresszusatz` `rechnung_adresszusatz` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_telefon` `rechnung_telefon` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_telefax` `rechnung_telefax` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_anschreiben` `rechnung_anschreiben` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_email` `rechnung_email` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_plz` `rechnung_plz` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, CHANGE `rechnung_ansprechpartner` `rechnung_ansprechpartner` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL"); - $this->CheckColumn("blz", "varchar(64)", "adresse", "DEFAULT '' NOT NULL"); - $this->CheckColumn("konto", "varchar(64)", "adresse", "DEFAULT '' NOT NULL"); - $this->CheckColumn("swift", "varchar(64)", "adresse", "DEFAULT '' NOT NULL"); - $this->CheckColumn("iban", "varchar(64)", "adresse", "DEFAULT '' NOT NULL"); - $this->CheckColumn("ustid", "varchar(64)", "adresse", "DEFAULT '' NOT NULL"); - $this->CheckColumn("umsatzsteuer_lieferant", "varchar(64)", "adresse", "DEFAULT '' NOT NULL"); - $this->CheckColumn("land", "varchar(64)", "adresse", "DEFAULT '' NOT NULL"); - $this->CheckColumn("size","VARCHAR(255)","datei_version","DEFAULT '' NOT NULL"); - $this->CheckColumn("public","int(1)","kalender_event"); - $this->CheckColumn("erinnerung","int(1)","kalender_event"); - $this->CheckColumn("adresse","int(11)","kalender_event","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ansprechpartner_id", "int(11)", "kalender_event", "DEFAULT 0 NOT NULL"); - $this->CheckColumn("projekt","int(11)","kalender_event","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresseintern","int(11)","kalender_event","DEFAULT '0' NOT NULL"); - $this->CheckColumn("angelegtvon","int(11)","kalender_event","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilprojekt","int(11)","kalender_event","DEFAULT '0' NOT NULL"); - $this->CheckColumn("typ","varchar(32)","kalender_event","DEFAULT '' NOT NULL"); - $this->CheckColumn("vorname","varchar(255)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("nachname","varchar(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("kennung","varchar(255)","adresse"); - $this->CheckColumn("sachkonto","varchar(20)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("lat","DECIMAL(18,12)","adresse"); - $this->CheckColumn("lng","DECIMAL(18,12)","adresse"); - $this->CheckColumn("art","varchar(32)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("kundennummer_buchhaltung","varchar(20)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferantennummer_buchhaltung","varchar(20)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("arbeitszeitprowoche","DECIMAL(10,2)","adresse","DEFAULT 0 NOT NULL"); - $this->CheckColumn("art_filter","varchar(20)","prozessstarter","DEFAULT '' NOT NULL"); - $this->CheckColumn("status","varchar(255)","prozessstarter","DEFAULT '' NOT NULL"); - $this->CheckColumn("status_zeit","timestamp","prozessstarter"); - $this->CheckColumn('recommended_period', 'int(11)', 'prozessstarter', 'DEFAULT 0 NOT NULL'); - $this->CheckAlterTable( - "ALTER TABLE `prozessstarter` CHANGE `periode` `periode` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '1440';" - ); - $this->CheckIndex('prozessstarter', 'parameter'); - - $this->CheckColumn("folgebestaetigungsperre","tinyint(1)","adresse","DEFAULT '0' NOT NULL"); - //$this->CheckColumn("mail_cc","VARCHAR(128)","ticket_nachricht","DEFAULT '' NOT NULL"); - $this->CheckColumn("bitteantworten","TINYINT(1)","ticket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("privat","TINYINT(1)","ticket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("dsgvo","TINYINT(1)","ticket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("service","INT(11)","ticket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kommentar","TEXT","ticket","DEFAULT '' NOT NULL"); - $this->CheckColumn("tags","TEXT","ticket","DEFAULT '' NOT NULL"); - $this->CheckColumn("nachrichten_anz","INT(11)","ticket","DEFAULT NULL"); - - $this->CheckColumn("lieferantennummerbeikunde","varchar(128)","adresse"); - - $this->CheckColumn("datum","DATE","ustprf"); - - $this->CheckColumn("renr","varchar(255)","paketannahme"); - $this->CheckColumn("lsnr","varchar(255)","paketannahme"); - - $this->CheckColumn("verein_mitglied_seit","DATE","adresse"); - $this->CheckColumn("verein_mitglied_bis","DATE","adresse"); - $this->CheckColumn("verein_mitglied_aktiv","TINYINT(1)","adresse"); - $this->CheckColumn("verein_spendenbescheinigung","TINYINT(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn('fromshop', 'INT(11)', 'adresse','DEFAULT 0 NOT NULL'); - - $this->CheckColumn("posid","int(11)","lager_reserviert","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lager_platz","int(11)","lager_reserviert","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lager","int(11)","lager_reserviert","DEFAULT '0' NOT NULL"); - $this->CheckTable("adresse_abosammelrechnungen"); - $this->CheckColumn("id", "int(11)", "adresse_abosammelrechnungen", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bezeichnung", "varchar(255)", "adresse_abosammelrechnungen", "NOT NULL"); - $this->CheckColumn("rabatt", "DECIMAL(10,2)", "adresse_abosammelrechnungen", "NOT NULL DEFAULT 0"); - $this->CheckColumn("adresse", "int(11)", "adresse_abosammelrechnungen", "NOT NULL DEFAULT 0"); - $this->CheckColumn("abweichende_rechnungsadresse", "int(11)", "adresse_abosammelrechnungen", "NOT NULL DEFAULT 0"); - $this->CheckColumn("projekt", "int(11)", "adresse_abosammelrechnungen", "NOT NULL DEFAULT 0"); -//Aufwändige Berechnung - $this->CheckTable("dateibaum"); - $this->CheckColumn("id", "int(11)", "dateibaum", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("datei_stichwoerter","INT(11)","dateibaum","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pfad","TEXT","dateibaum","DEFAULT '' NOT NULL"); - - - $this->CheckTable("openstreetmap_status"); - $this->CheckColumn("id", "int(11)", "openstreetmap_status", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("adresse","INT(11)","openstreetmap_status","DEFAULT '0' NOT NULL"); - $this->CheckColumn("status","INT(11)","openstreetmap_status","DEFAULT '0' NOT NULL"); - - $this->CheckTable("kalender_gruppen"); - $this->CheckColumn("id", "int(11)", "kalender_gruppen", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bezeichnung", "varchar(255)", "kalender_gruppen", "NOT NULL DEFAULT ''"); - $this->CheckColumn("farbe", "varchar(8)", "kalender_gruppen", "NOT NULL DEFAULT ''"); - $this->CheckColumn("ausblenden","INT(1)","kalender_gruppen","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("gruppe","INT(11)","kalender_user","DEFAULT '0' NOT NULL"); - - - $this->CheckTable("seriennummern_log"); - $this->CheckColumn("id", "int(11)", "seriennummern_log", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikel","INT(11)","seriennummern_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lager_platz","INT(11)","seriennummern_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("eingang","INT(1)","seriennummern_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bezeichnung","TEXT","seriennummern_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("internebemerkung","TEXT","seriennummern_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeit", "DATETIME", "seriennummern_log"); - $this->CheckColumn("adresse_mitarbeiter","INT(11)","seriennummern_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse","INT(11)","seriennummern_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("menge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","seriennummern_log","DEFAULT 0 NOT NULL"); - $this->CheckColumn("doctype","varchar(32)","seriennummern_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("doctypeid","INT(11)","seriennummern_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn('bestbeforedate','DATE','seriennummern_log'); - $this->CheckColumn('batch','varchar(255)','seriennummern_log'); - $this->CheckColumn('storage_movement_id','INT(11)','seriennummern_log','DEFAULT 0'); - - $this->CheckTable("mhd_log"); - $this->CheckColumn("id", "int(11)", "mhd_log", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikel","INT(11)","mhd_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lager_platz","INT(11)","mhd_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("eingang","INT(1)","mhd_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("mhddatum","DATE","mhd_log"); - $this->CheckColumn("internebemerkung","TEXT","mhd_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeit", "DATETIME", "mhd_log"); - $this->CheckColumn("adresse_mitarbeiter","INT(11)","mhd_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse","INT(11)","mhd_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("menge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","mhd_log","DEFAULT 0 NOT NULL"); - $this->CheckColumn("doctype","varchar(32)","mhd_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("doctypeid","INT(11)","mhd_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bestand","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","mhd_log","DEFAULT 0 NOT NULL"); - $this->CheckColumn("charge","varchar(255)","mhd_log","DEFAULT '' NOT NULL"); - $this->CheckColumn('is_interim','TINYINT(1)','mhd_log','DEFAULT 0 NOT NULL'); - $this->CheckColumn('storage_movement_id','INT(11)','mhd_log','DEFAULT 0'); - - $this->CheckTable("chargen_log"); - $this->CheckColumn("id", "int(11)", "chargen_log", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikel","INT(11)","chargen_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lager_platz","INT(11)","chargen_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("eingang","INT(1)","chargen_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bezeichnung","TEXT","chargen_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("internebemerkung","TEXT","chargen_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeit", "DATETIME", "chargen_log"); - $this->CheckColumn("adresse_mitarbeiter","INT(11)","chargen_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse","INT(11)","chargen_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("menge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","chargen_log","DEFAULT 0 NOT NULL"); - $this->CheckColumn("doctype","varchar(32)","chargen_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("doctypeid","INT(11)","chargen_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bestand","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","chargen_log","DEFAULT 0 NOT NULL"); - $this->CheckColumn('is_interim','TINYINT(1)','chargen_log','DEFAULT 0 NOT NULL'); - $this->CheckColumn('storage_movement_id','INT(11)','chargen_log','DEFAULT 0'); - - $this->CheckTable("mailausgang"); - $this->CheckColumn("id", "int(11)", "mailausgang", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("subject", "varchar(255)", "mailausgang", "DEFAULT '' NOT NULL"); - $this->CheckColumn("body", "LONGBLOB", "mailausgang", "DEFAULT '' NOT NULL"); - $this->CheckColumn("from", "varchar(255)", "mailausgang", "DEFAULT '' NOT NULL"); - $this->CheckColumn("to", "varchar(255)", "mailausgang", "DEFAULT '' NOT NULL"); - $this->CheckColumn("status", "varchar(255)", "mailausgang", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("art", "INT(10)", "mailausgang", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("zeit", "DATETIME", "mailausgang"); - - $this->CheckTable("beleg_chargesnmhd"); - $this->CheckColumn("id", "int(11)", "beleg_chargesnmhd", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("doctype", "varchar(255)", "beleg_chargesnmhd", "DEFAULT '' NOT NULL"); - $this->CheckColumn("doctypeid", "int(11)", "beleg_chargesnmhd", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("pos", "int(11)", "beleg_chargesnmhd", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("type", "varchar(10)", "beleg_chargesnmhd", "DEFAULT '' NOT NULL"); - $this->CheckColumn("type2", "varchar(10)", "beleg_chargesnmhd", "DEFAULT '' NOT NULL"); - $this->CheckColumn('type3', 'varchar(10)', 'beleg_chargesnmhd', "DEFAULT '' NOT NULL"); - $this->CheckColumn('wert', 'VARCHAR(255)', 'beleg_chargesnmhd', "DEFAULT '' NOT NULL"); - $this->CheckColumn('wert2', "VARCHAR(255)", 'beleg_chargesnmhd', "DEFAULT '' NOT NULL"); - $this->CheckColumn('wert3', 'VARCHAR(255)', 'beleg_chargesnmhd', "DEFAULT '' NOT NULL"); - $this->CheckColumn("menge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","beleg_chargesnmhd","DEFAULT 0 NOT NULL"); - $this->CheckColumn("lagerplatz", "int(11)", "beleg_chargesnmhd", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("internebemerkung", "varchar(255)", "beleg_chargesnmhd", "DEFAULT '' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `beleg_chargesnmhd` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `beleg_chargesnmhd` CHANGE `wert` `wert` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';"); - $this->CheckAlterTable("ALTER TABLE `beleg_chargesnmhd` CHANGE `wert2` `wert2` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';"); - $this->CheckAlterTable("ALTER TABLE `beleg_chargesnmhd` CHANGE `wert3` `wert3` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';"); - $this->CheckIndex('beleg_chargesnmhd', 'wert'); - - - $this->CheckTable("beleg_zwischenpositionen"); - $this->CheckColumn("id", "int(11)", "beleg_zwischenpositionen", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("doctype", "varchar(255)", "beleg_zwischenpositionen", "NOT NULL"); - $this->CheckColumn("doctypeid", "int(11)", "beleg_zwischenpositionen", "NOT NULL"); - $this->CheckColumn("pos", "int(11)", "beleg_zwischenpositionen", "NOT NULL"); - $this->CheckColumn("sort", "int(11)", "beleg_zwischenpositionen", "NOT NULL"); - $this->CheckColumn("postype", "varchar(64)", "beleg_zwischenpositionen", "NOT NULL"); - $this->CheckColumn("wert", "TEXT", "beleg_zwischenpositionen", "NOT NULL"); - - - $this->CheckTable("warteschlangen"); - $this->CheckColumn("id", "int(11)", "warteschlangen", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("warteschlange", "varchar(255)", "warteschlangen", "NOT NULL"); - $this->CheckColumn("label", "varchar(255)", "warteschlangen", "NOT NULL"); - $this->CheckColumn("wiedervorlage", "int(11)", "warteschlangen", "NOT NULL"); - $this->CheckColumn("adresse", "int(11)", "warteschlangen", "NOT NULL"); - - $this->CheckTable("shopexport_artikeluebertragen"); - $this->CheckColumn("id", "int(11)", "shopexport_artikeluebertragen", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_artikeluebertragen", "NOT NULL"); - $this->CheckColumn("artikel", "int(11)", "shopexport_artikeluebertragen", "NOT NULL"); - $this->CheckColumn('check_nr', 'int(11)', 'shopexport_artikeluebertragen', 'NOT NULL DEFAULT 0'); - - $this->CheckTable('shopexport_artikeluebertragen_check'); - $this->CheckColumn('id', 'int(11)', 'shopexport_artikeluebertragen_check', 'NOT NULL AUTO_INCREMENT'); - $this->CheckColumn('shop', 'int(11)', 'shopexport_artikeluebertragen_check', 'NOT NULL'); - $this->CheckColumn('artikel', 'int(11)', 'shopexport_artikeluebertragen_check', 'NOT NULL'); - - $this->CheckTable("shopexport_adressenuebertragen"); - $this->CheckColumn("id", "int(11)", "shopexport_adressenuebertragen", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_adressenuebertragen", "NOT NULL"); - $this->CheckColumn("adresse", "int(11)", "shopexport_adressenuebertragen", "NOT NULL"); - - $this->CheckTable("shopexport_zahlungsstatus"); - $this->CheckColumn("id", "int(11)", "shopexport_zahlungsstatus", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_zahlungsstatus", "NOT NULL DEFAULT 0"); - $this->CheckColumn("auftrag", "varchar(255)", "shopexport_zahlungsstatus", "NOT NULL DEFAULT ''"); - $this->CheckColumn("status", "varchar(255)", "shopexport_zahlungsstatus", "NOT NULL DEFAULT ''"); - $this->CheckColumn("zeitstempel", "TIMESTAMP", "shopexport_zahlungsstatus", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckIndex("shopexport_zahlungsstatus", "shop"); - $this->CheckIndex("shopexport_zahlungsstatus", "auftrag"); - - $this->CheckTable("shopexport_getarticles"); - $this->CheckColumn("id", "int(11)", "shopexport_getarticles", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_getarticles", "NOT NULL"); - $this->CheckColumn("nummer", "varchar(255)", "shopexport_getarticles", "DEFAULT '' NOT NULL"); - - $this->CheckTable("shopexport_zahlweisen"); - $this->CheckColumn("id", "int(11)", "shopexport_zahlweisen", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_zahlweisen", "NOT NULL"); - $this->CheckColumn("zahlweise_shop", "varchar(255)", "shopexport_zahlweisen", "DEFAULT '' NOT NULL"); - $this->CheckColumn("zahlweise_wawision", "varchar(255)", "shopexport_zahlweisen", "DEFAULT '' NOT NULL"); - $this->CheckColumn("vorabbezahltmarkieren", "int(11)", "shopexport_zahlweisen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("autoversand", "int(11)", "shopexport_zahlweisen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("aktiv", "int(11)", "shopexport_zahlweisen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("keinerechnung", "tinyint(1)", "shopexport_zahlweisen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("created", "TIMESTAMP", "shopexport_zahlweisen", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updated", "TIMESTAMP", "shopexport_zahlweisen", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updatedby", "varchar(255)", "shopexport_zahlweisen", "DEFAULT '' NOT NULL"); - $this->CheckColumn("keinerechnung", "tinyint(1)", "shopexport_zahlweisen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("fastlane", "TINYINT(1)", "shopexport_zahlweisen", "NOT NULL DEFAULT 0"); - - $this->CheckTable("shopexport_versandarten"); - $this->CheckColumn("id", "int(11)", "shopexport_versandarten", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_versandarten", "NOT NULL"); - $this->CheckColumn("versandart_shop", "varchar(255)", "shopexport_versandarten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("versandart_wawision", "varchar(255)", "shopexport_versandarten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("versandart_ausgehend", "varchar(255)", "shopexport_versandarten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("produkt_ausgehend", "varchar(255)", "shopexport_versandarten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("autoversand", "int(11)", "shopexport_versandarten", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("land", "TEXT", "shopexport_versandarten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv", "int(11)", "shopexport_versandarten", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("created", "TIMESTAMP", "shopexport_versandarten", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updated", "TIMESTAMP", "shopexport_versandarten", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updatedby", "varchar(255)", "shopexport_versandarten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("fastlane", "TINYINT(1)", "shopexport_versandarten", "NOT NULL DEFAULT 0"); - - $this->CheckTable("shopexport_freifelder"); - $this->CheckColumn("id", "int(11)", "shopexport_freifelder", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_freifelder", "NOT NULL"); - $this->CheckColumn("freifeld_wawi", "varchar(255)", "shopexport_freifelder", "DEFAULT '' NOT NULL"); - $this->CheckColumn("freifeld_shop", "varchar(255)", "shopexport_freifelder", "DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv", "tinyint(1)", "shopexport_freifelder", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("created", "TIMESTAMP", "shopexport_freifelder", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updated", "TIMESTAMP", "shopexport_freifelder", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updatedby", "varchar(255)", "shopexport_freifelder", "DEFAULT '' NOT NULL"); - - $this->CheckTable("shopexport_sprachen"); - $this->CheckColumn("id", "int(11)", "shopexport_sprachen", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_sprachen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("land", "varchar(32)", "shopexport_sprachen", "DEFAULT '' NOT NULL"); - $this->CheckColumn("sprache", "varchar(255)", "shopexport_sprachen", "DEFAULT '' NOT NULL"); - $this->CheckColumn("projekt", "int(11)", "shopexport_sprachen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("aktiv", "tinyint(1)", "shopexport_sprachen", "DEFAULT '1' NOT NULL"); - $this->CheckColumn("created", "TIMESTAMP", "shopexport_sprachen", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updated", "TIMESTAMP", "shopexport_sprachen", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updatedby", "varchar(255)", "shopexport_sprachen", "DEFAULT '' NOT NULL"); - - $this->CheckTable('shopexport_kundengruppen'); - $this->CheckColumn('id', 'int(11)', 'shopexport_kundengruppen', 'NOT NULL AUTO_INCREMENT'); - $this->CheckColumn('shopid', 'int(11)', 'shopexport_kundengruppen', "DEFAULT '0' NOT NULL"); - $this->CheckColumn('gruppeid', 'int(11)', 'shopexport_kundengruppen', "DEFAULT '0' NOT NULL"); - $this->CheckColumn('apply_to_new_customers', 'tinyint(1)', 'shopexport_kundengruppen', "DEFAULT '0' NOT NULL"); - $this->CheckColumn('type', 'varchar(255)', 'shopexport_kundengruppen', "DEFAULT 'Mitglied' NOT NULL"); - $this->CheckColumn('extgruppename', 'varchar(255)', 'shopexport_kundengruppen', "DEFAULT '' NOT NULL"); - $this->CheckColumn('projekt', 'int(11)', 'shopexport_kundengruppen', "DEFAULT '0' NOT NULL"); - $this->CheckColumn('aktiv', 'tinyint(1)', 'shopexport_kundengruppen', "DEFAULT '1' NOT NULL"); - $this->CheckColumn('created', 'TIMESTAMP', 'shopexport_kundengruppen', 'DEFAULT CURRENT_TIMESTAMP NOT NULL'); - $this->CheckColumn('updated', 'TIMESTAMP', 'shopexport_kundengruppen', 'NULL DEFAULT NULL'); - $this->CheckColumn('updatedby', 'varchar(255)', 'shopexport_kundengruppen', "DEFAULT '' NOT NULL"); - - $this->CheckTable("shopexport_kategorien"); - $this->CheckColumn("id", "int(11)", "shopexport_kategorien", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_kategorien", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("kategorie", "int(11)", "shopexport_kategorien", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("extsort", "int(11)", "shopexport_kategorien", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("extid", "varchar(255)", "shopexport_kategorien", "DEFAULT '' NOT NULL"); - $this->CheckColumn("extparent", "varchar(255)", "shopexport_kategorien", "DEFAULT '' NOT NULL"); - $this->CheckColumn("extname", "varchar(255)", "shopexport_kategorien", "DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv", "tinyint(1)", "shopexport_kategorien", "DEFAULT '1' NOT NULL"); - $this->CheckColumn("created", "TIMESTAMP", "shopexport_kategorien", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updated", "TIMESTAMP", "shopexport_kategorien", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updatedby", "varchar(255)", "shopexport_kategorien", "DEFAULT '' NOT NULL"); - $this->CheckIndex("shopexport_kategorien", "shop"); - $this->CheckIndex("shopexport_kategorien", "kategorie"); - - $this->CheckTable("shopexport_mapping"); - $this->CheckColumn("id", "int(11)", "shopexport_mapping", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_mapping", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("tabelle", "varchar(255)", "shopexport_mapping", "DEFAULT '' NOT NULL"); - $this->CheckColumn("intid", "int(11)", "shopexport_mapping", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("intid2", "int(11)", "shopexport_mapping", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("extid", "varchar(255)", "shopexport_mapping", "DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel", "TIMESTAMP", "shopexport_mapping", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckIndex("shopexport_mapping", "shop"); - $this->CheckIndex("shopexport_mapping", "tabelle"); - $this->CheckIndex("shopexport_mapping", "intid"); - - $this->CheckTable("userkonfiguration"); - $this->CheckColumn("id", "int(11)", "userkonfiguration", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("user", "int(11)", "userkonfiguration", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("name", "varchar(255)", "userkonfiguration", "DEFAULT '' NOT NULL"); - $this->CheckColumn("value", "text", "userkonfiguration", "DEFAULT '' NOT NULL"); - - $this->CheckTable("shopexport_subshop"); - $this->CheckColumn("id", "int(11)", "shopexport_subshop", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop", "int(11)", "shopexport_subshop", "NOT NULL"); - $this->CheckColumn("projekt", "int(11)", "shopexport_subshop", "NOT NULL"); - $this->CheckColumn("subshopkennung", "varchar(255)", "shopexport_subshop", "DEFAULT '' NOT NULL"); - $this->CheckColumn("sprache", "varchar(64)", "shopexport_subshop", "DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv", "tinyint(1)", "shopexport_subshop", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("created", "TIMESTAMP", "shopexport_subshop", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updated", "TIMESTAMP", "shopexport_subshop", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("updatedby", "varchar(255)", "shopexport_subshop", "DEFAULT '' NOT NULL"); - - $this->CheckTable('shopexport_voucher_cache'); - $this->CheckColumn('id', 'int(11)', 'shopexport_voucher_cache', 'NOT NULL AUTO_INCREMENT'); - $this->CheckColumn('voucher_id', 'int(11)', 'shopexport_voucher_cache', "NOT NULL"); - $this->CheckColumn('value', 'float', 'shopexport_voucher_cache', "DEFAULT '0' NOT NULL"); - $this->CheckColumn('updated', 'TIMESTAMP', 'shopexport_voucher_cache', 'DEFAULT CURRENT_TIMESTAMP NOT NULL'); - $this->CheckIndex("shopexport_voucher_cache", "voucher_id",true); - - $this->CheckColumn("rabatteportofestschreiben","TINYINT(1)","shopexport","NOT NULL DEFAULT '0'"); - $this->CheckColumn('add_debitorennummer','TINYINT(1)','shopexport','NOT NULL DEFAULT 0'); - $this->CheckColumn('debitorennummer','VARCHAR(16)','shopexport',"NOT NULL DEFAULT ''"); - $this->CheckColumn('sendonlywithtracking', 'TINYINT(1)', 'shopexport', 'NOT NULL DEFAULT 0'); - $this->CheckColumn('api_account_id', 'INT(10)', 'shopexport', 'NOT NULL DEFAULT 0'); - $this->CheckColumn('api_account_token', 'varchar(1024)', 'shopexport', "NOT NULL DEFAULT ''"); - $this->CheckColumn('autosendarticle', 'TINYINT(1)', 'shopexport', 'NOT NULL DEFAULT 0'); - $this->CheckColumn('autosendarticle_last', 'TIMESTAMP', 'shopexport', 'NULL DEFAULT NULL'); - - $this->CheckTable("versandzentrum_log"); - $this->CheckColumn("id", "int(11)", "versandzentrum_log", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("userid", "int(11)", "versandzentrum_log", "NOT NULL"); - $this->CheckColumn("aktion", "varchar(255)", "versandzentrum_log", "DEFAULT '' NOT NULL"); - $this->CheckColumn("wert", "varchar(255)", "versandzentrum_log", "DEFAULT '' NOT NULL"); - $this->CheckColumn("versandid", "int(11)", "versandzentrum_log", "NOT NULL"); - $this->CheckColumn("zeitstempel","TIMESTAMP","versandzentrum_log","DEFAULT CURRENT_TIMESTAMP NOT NULL"); - - $this->CheckTable('survey'); - $this->CheckColumn('name', 'varchar(255)', 'survey', "DEFAULT '' NOT NULL"); - $this->CheckColumn('once_per_user', 'tinyint(1)', 'survey', 'DEFAULT 0 NOT NULL'); - $this->CheckColumn('send_to_xentral', 'tinyint(1)', 'survey', 'DEFAULT 0 NOT NULL'); - $this->CheckColumn('module', 'varchar(64)', 'survey', "DEFAULT '' NOT NULL"); - $this->CheckColumn('action', 'varchar(64)', 'survey', "DEFAULT '' NOT NULL"); - - $this->CheckTable('survey_user'); - $this->CheckColumn('survey_id', 'int(11)', 'survey_user', 'DEFAULT 0 NOT NULL'); - $this->CheckColumn('user_id', 'int(11)', 'survey_user', 'DEFAULT 0 NOT NULL'); - $this->CheckColumn('data', 'text', 'survey_user'); - $this->CheckColumn('created_at', 'TIMESTAMP', 'survey_user', 'DEFAULT CURRENT_TIMESTAMP NOT NULL'); - - $this->CheckIndex('survey_user', 'survey_id'); - $this->CheckIndex('survey_user', 'user_id'); - $this->InstallModul('welcome'); - $this->InstallModul('benutzer'); - $this->InstallModul('learningdashboard'); - $this->InstallModul('aufgaben'); - $this->InstallModul('uservorlage'); -} - -if($stufe == 0 || $stufe == 3) -{ - $this->app->erp->CheckTable("belegeimport"); - $this->app->erp->CheckColumn("id", "int(11)", "belegeimport", "NOT NULL AUTO_INCREMENT"); - $this->app->erp->CheckColumn("userid", "INT(11)", "belegeimport", "NOT NULL DEFAULT '0'"); - $this->app->erp->CheckColumn("adresse", "INT(11)", "belegeimport", "NOT NULL DEFAULT '0'"); - $this->app->erp->CheckColumn("artikel", "INT(11)", "belegeimport", "NOT NULL DEFAULT '0'"); - $this->app->erp->CheckColumn("art", "varchar(20)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("status", "varchar(24)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_status", "varchar(24)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_datum", "varchar(24)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_lieferdatum", "varchar(24)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_tatsaechlicheslieferdatum", "varchar(24)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_versandart", "varchar(24)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn('beleg_zahlungsweise', 'varchar(32)', 'belegeimport', "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_belegnr", "varchar(20)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_hauptbelegnr", "varchar(20)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_kundennummer", "varchar(64)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_lieferantennummer", "varchar(64)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_name", "varchar(64)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_abteilung", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_unterabteilung", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_adresszusatz", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_ansprechpartner", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_telefon", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_email", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_land", "varchar(2)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_strasse", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_plz", "varchar(64)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_ort", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_projekt", "INT(11)", "belegeimport", "NOT NULL DEFAULT '0'"); - - $this->app->erp->CheckColumn("beleg_aktion", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_internebemerkung", "text", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_internebezeichnung", "text", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_freitext", "text", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_ihrebestellnummer", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_lieferbedingung", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("beleg_art", "varchar(32)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn('beleg_auftragid', 'INT(11)', 'belegeimport', 'NOT NULL DEFAULT 0'); - - $this->app->erp->CheckColumn("artikel_nummer", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("artikel_ean", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("artikel_bezeichnung", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("artikel_beschreibung", "TEXT", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("artikel_menge", "DECIMAL(18,8)", "belegeimport", "DEFAULT '0' NOT NULL"); - $this->app->erp->CheckColumn("artikel_preis", "DECIMAL(18,8)", "belegeimport", "DEFAULT '0' NOT NULL"); - $this->app->erp->CheckColumn("artikel_preisfuermenge", "DECIMAL(18,8)", "belegeimport", "DEFAULT '1' NOT NULL"); - $this->app->erp->CheckColumn("artikel_rabatt", "DECIMAL(18,8)", "belegeimport", "DEFAULT '0' NOT NULL"); - $this->app->erp->CheckColumn("artikel_waehrung", "varchar(3)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("artikel_lieferdatum", "DATE", "belegeimport"); - $this->app->erp->CheckColumn("artikel_sort", "INT(11)", "belegeimport", "NOT NULL DEFAULT '1'"); - $this->app->erp->CheckColumn("artikel_umsatzsteuer", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("artikel_einheit", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("artikel_zolltarifnummer", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("artikel_herkunftsland", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn("artikel_artikelnummerkunde", "varchar(255)", "belegeimport", "NOT NULL DEFAULT ''"); - - for($i=1;$i<=20;$i++) { - $this->app->erp->CheckColumn('artikel_freifeld' . $i, 'VARCHAR(255)', 'belegeimport', "NOT NULL DEFAULT ''"); - } - - $this->app->erp->CheckColumn('beleg_unterlistenexplodieren', 'INT(11)', 'belegeimport', 'NOT NULL DEFAULT 0'); - - - $this->CheckColumn("reserviertdatum","DATE","lager_reserviert"); - - for($i=1;$i<=10;$i++) - $this->CheckColumn("freifeld".$i,"TEXT","projekt"); - - for($i=1;$i<=20;$i++) - $this->CheckColumn("freifeld".$i,"TEXT","adresse"); - - - $this->CheckColumn('taxfromdoctypesettings', 'tinyint(1)', 'projekt', 'DEFAULT 0 NOT NULL'); - - $this->CheckColumn("lead","TINYINT(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zahlungsweiseabo","VARCHAR(64)","adresse","DEFAULT '' NOT NULL"); - - $this->CheckColumn("rechnung_papier","TINYINT(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("angebot_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("auftrag_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("rechnung_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("gutschrift_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferschein_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("bestellung_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - - $this->CheckColumn("angebot_email","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("auftrag_email","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("rechnungs_email","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("gutschrift_email","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferschein_email","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("bestellung_email","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferschwellenichtanwenden","TINYINT(1)","adresse","DEFAULT 0 NOT NULL"); - - $this->CheckColumn("angebot_fax_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("auftrag_fax_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("rechnung_fax_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("gutschrift_fax_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferschein_fax_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("bestellung_fax_cc","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("abperfax","TINYINT(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("abpermail","VARCHAR(128)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("rechnung_permail","TINYINT(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bundesland","VARCHAR(64)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesland","VARCHAR(64)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesland","VARCHAR(64)","rechnung","DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesland","VARCHAR(64)","lieferschein","DEFAULT '' NOT NULL"); - $this->CheckColumn("plz","VARCHAR(64)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("telefon","VARCHAR(64)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("telefax","VARCHAR(64)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("mobil","VARCHAR(64)","adresse","DEFAULT '' NOT NULL"); - - $this->CheckColumn("filiale","TEXT","adresse"); - - $this->CheckColumn("rma","INT(1)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("transaktionsnummer","VARCHAR(255)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn("vorabbezahltmarkieren","INT(1)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferungtrotzsperre","INT(1)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auftragseingangper","VARCHAR(64)","auftrag","DEFAULT '' NOT NULL"); - - $this->CheckColumn("gln","VARCHAR(64)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn("liefergln","VARCHAR(64)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn("liefergln","VARCHAR(64)","angebot","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferemail","VARCHAR(200)","angebot","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferemail","VARCHAR(200)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn("gln","VARCHAR(64)","rechnung","DEFAULT '' NOT NULL"); - $this->CheckColumn("gln","VARCHAR(64)","lieferschein","DEFAULT '' NOT NULL"); - $this->CheckColumn("gln","VARCHAR(64)","gutschrift","DEFAULT '' NOT NULL"); - $this->CheckColumn("gln","VARCHAR(64)","angebot","DEFAULT '' NOT NULL"); - - $this->CheckColumn("daten", "VARCHAR(512)", "ustprf_protokoll", "DEFAULT '' NOT NULL"); - - $this->CheckColumn("lieferdatum","DATE","gutschrift"); - $this->CheckColumn("planedorderdate","DATE","angebot"); - - $this->CheckColumn("vertrieb","int(11)","adresse"); - $this->CheckColumn("innendienst","int(11)","adresse"); - $this->CheckColumn("verbandsnummer","VARCHAR(255)","adresse"); - $this->CheckColumn("kassiereraktiv","INT(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kassierernummer","VARCHAR(10)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("kassiererprojekt","INT(11)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("abweichendeemailab","varchar(64)","adresse"); - $this->CheckColumn("portofrei_aktiv","DECIMAL(10,2)","adresse"); - $this->CheckColumn("portofreilieferant_aktiv","tinyint(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("portofreiab","DECIMAL(10,2)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("portofreiablieferant","DECIMAL(10,2)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("infoauftragserfassung","TEXT","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("hinweistextlieferant","TEXT","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("mandatsreferenz","varchar(255)","adresse","DEFAULT '' NOT NULL"); - - $this->CheckColumn("mandatsreferenzart","varchar(64)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("mandatsreferenzwdhart","varchar(64)","adresse","DEFAULT '' NOT NULL"); - - $this->CheckColumn("mandatsreferenzart","varchar(64)","dta","DEFAULT '' NOT NULL"); - $this->CheckColumn("mandatsreferenzwdhart","varchar(64)","dta","DEFAULT '' NOT NULL"); - - $this->CheckColumn("mandatsreferenzdatum","DATE","adresse"); - $this->CheckColumn("mandatsreferenzaenderung","TINYINT(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("firmensepa","TINYINT(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("mandatsreferenzhinweis","TEXT","adresse"); - $this->CheckColumn("glaeubigeridentnr","varchar(255)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("kreditlimit","DECIMAL(18,2)","adresse","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("tour","INT(11)","adresse","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("zahlungskonditionen_festschreiben","int(1)","adresse"); - $this->CheckColumn("rabatte_festschreiben","int(1)","adresse"); - - $this->CheckColumn("autodruck_rz","INT(1)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("explodiert_parent_artikel","INT(11)","lieferschein_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("explodiert_parent","INT(11)","lieferschein_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("explodiert_parent_artikel","INT(11)","rechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("explodiert_parent_artikel","INT(11)","gutschrift_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autodruck_periode","INT(1)","rechnung","DEFAULT '1' NOT NULL"); - $this->CheckColumn("autodruck_done","INT(1)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autodruck_anzahlverband","INT(11)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autodruck_anzahlkunde","INT(11)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autodruck_mailverband","INT(1)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autodruck_mailkunde","INT(1)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("dta_datei_verband","INT(11)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("dta_datei_verband","INT(11)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("manuell_vorabbezahlt","DATE","gutschrift"); - $this->CheckColumn("manuell_vorabbezahlt_hinweis","VARCHAR(128)","gutschrift","DEFAULT '' NOT NULL"); - $this->CheckColumn("nicht_umsatzmindernd","TINYINT(1)","gutschrift","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("dta_datei","INT(11)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("dta_datei","INT(11)","gutschrift","DEFAULT '0' NOT NULL"); - - $this->CheckTable('payment_transaction'); - $this->CheckColumn('returnorder_id', 'INT(11)', 'payment_transaction','DEFAULT 0 NOT NULL'); - - $this->CheckColumn('liability_id', 'INT(11)', 'payment_transaction','DEFAULT 0 NOT NULL'); - $this->CheckColumn('payment_status', 'VARCHAR(32)', 'payment_transaction',"DEFAULT '' NOT NULL"); - $this->CheckColumn('payment_account_id', 'INT(11)', 'payment_transaction','DEFAULT 0 NOT NULL'); - $this->CheckColumn('address_id', 'INT(11)', 'payment_transaction','DEFAULT 0 NOT NULL'); - $this->CheckColumn('payment_transaction_group_id', 'INT(11)', 'payment_transaction','DEFAULT 0 NOT NULL'); - $this->CheckColumn('amount', 'DECIMAL(12,2)', 'payment_transaction','DEFAULT 0 NOT NULL'); - $this->CheckColumn('currency', 'VARCHAR(8)', 'payment_transaction',"DEFAULT '' NOT NULL"); - $this->CheckColumn('payment_reason', 'VARCHAR(255)', 'payment_transaction',"DEFAULT '' NOT NULL"); - $this->CheckColumn('payment_info', 'VARCHAR(255)', 'payment_transaction',"DEFAULT '' NOT NULL"); - $this->CheckColumn('payment_json', 'TEXT', 'payment_transaction'); - $this->CheckColumn('created_at','TIMESTAMP','payment_transaction','DEFAULT CURRENT_TIMESTAMP NOT NULL'); - - $this->CheckIndex('payment_transaction', 'returnorder_id'); - $this->CheckIndex('payment_transaction', 'liability_id'); - $this->CheckIndex('payment_transaction', 'payment_transaction_group_id'); - $this->CheckIndex('payment_transaction', 'payment_account_id'); - - $this->CheckTable('payment_transaction_group'); - $this->CheckColumn('payment_account_id', 'INT(11)', 'payment_transaction_group','DEFAULT 0 NOT NULL'); - $this->CheckColumn('created_at','TIMESTAMP','payment_transaction_group','DEFAULT CURRENT_TIMESTAMP NOT NULL'); - $this->CheckColumn('comment', 'VARCHAR(255)', 'payment_transaction_group',"DEFAULT '' NOT NULL"); - $this->CheckColumn('created_by', 'VARCHAR(255)', 'payment_transaction_group',"DEFAULT '' NOT NULL"); - $this->CheckIndex('payment_transaction_group', 'payment_account_id'); - - $this->CheckTable('payment_transaction_preview'); - $this->CheckColumn('returnorder_id', 'INT(11)', 'payment_transaction_preview','DEFAULT 0 NOT NULL'); - $this->CheckColumn('liability_id', 'INT(11)', 'payment_transaction_preview','DEFAULT 0 NOT NULL'); - $this->CheckColumn('payment_account_id', 'INT(11)', 'payment_transaction_preview','DEFAULT 0 NOT NULL'); - $this->CheckColumn('address_id', 'INT(11)', 'payment_transaction_preview','DEFAULT 0 NOT NULL'); - $this->CheckColumn('address_id', 'INT(11)', 'payment_transaction_preview','DEFAULT 0 NOT NULL'); - $this->CheckColumn('user_id', 'INT(11)', 'payment_transaction_preview','DEFAULT 0 NOT NULL'); - $this->CheckColumn('selected', 'TINYINT(1)', 'payment_transaction_preview','DEFAULT 0 NOT NULL'); - $this->CheckColumn('amount', 'DECIMAL(12,2)', 'payment_transaction_preview','DEFAULT 0 NOT NULL'); - $this->CheckColumn('currency', 'VARCHAR(8)', 'payment_transaction_preview',"DEFAULT '' NOT NULL"); - $this->CheckColumn('payment_reason', 'VARCHAR(255)', 'payment_transaction_preview',"DEFAULT '' NOT NULL"); - $this->CheckColumn('payment_info', 'VARCHAR(255)', 'payment_transaction_preview',"DEFAULT '' NOT NULL"); - $this->CheckIndex('payment_transaction_preview', 'user_id'); - $this->CheckIndex('payment_transaction_preview', 'returnorder_id'); - - /* Lagermindestmengen */ - $this->CheckTable("lagermindestmengen"); - $this->CheckColumn("id","int(11)","lagermindestmengen","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikel","INT(11)","lagermindestmengen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lager_platz","INT(11)","lagermindestmengen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("menge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lagermindestmengen","DEFAULT '0' NOT NULL"); - $this->CheckColumn('max_menge','DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','lagermindestmengen','DEFAULT 0 NOT NULL'); - $this->CheckColumn("datumvon","DATE","lagermindestmengen"); - $this->CheckColumn("datumbis","DATE","lagermindestmengen"); - $this->CheckIndex('lagermindestmengen',['artikel','lager_platz']); - - } - - if($stufe == 0 || $stufe == 4) - { - $this->CheckTable("templatemessage"); - $this->CheckColumn("id","int(11)","templatemessage","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("user","INT(11)","templatemessage","DEFAULT '0' NOT NULL"); - $this->CheckColumn("message","TEXT","templatemessage","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel","TIMESTAMP","templatemessage","DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckIndex("templatemessage", "user"); - /* Permanente Inventur */ - $this->CheckTable("artikel_permanenteinventur"); - $this->CheckColumn("id","int(11)","artikel_permanenteinventur","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikel","INT(11)","artikel_permanenteinventur","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lager_platz","INT(11)","artikel_permanenteinventur","DEFAULT '0' NOT NULL"); - $this->CheckColumn("menge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","artikel_permanenteinventur","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zeitstempel","DATETIME","artikel_permanenteinventur"); - $this->CheckColumn("bearbeiter","VARCHAR(128)","artikel_permanenteinventur","DEFAULT '' NOT NULL"); - - - - $this->CheckTable("objekt_protokoll"); - $this->CheckColumn("id","int(11)","objekt_protokoll","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("objekt","VARCHAR(64)","objekt_protokoll","DEFAULT '' NOT NULL"); - $this->CheckColumn("objektid","INT(11)","objekt_protokoll","DEFAULT '0' NOT NULL"); - $this->CheckColumn("action_long","VARCHAR(128)","objekt_protokoll","DEFAULT '' NOT NULL"); - $this->CheckColumn("meldung","VARCHAR(255)","objekt_protokoll","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bearbeiter","VARCHAR(128)","objekt_protokoll","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel","DATETIME","objekt_protokoll"); - - $this->CheckTable('shopimport_checkorder'); - $this->CheckColumn('id','int(11)','shopimport_checkorder','NOT NULL AUTO_INCREMENT'); - $this->CheckColumn('shop_id','INT(11)','shopimport_checkorder','DEFAULT \'0\' NOT NULL'); - $this->CheckColumn('order_id','INT(11)','shopimport_checkorder','DEFAULT \'0\' NOT NULL'); - $this->CheckColumn('ext_order','VARCHAR(255)','shopimport_checkorder','DEFAULT \'0\' NOT NULL'); - $this->CheckColumn('fetch_counter','INT(11)','shopimport_checkorder','DEFAULT \'0\' NOT NULL'); - $this->CheckColumn('status','VARCHAR(255)','shopimport_checkorder','DEFAULT \'unpaid\' NOT NULL'); - $this->CheckColumn('date_created','DATETIME','shopimport_checkorder', 'DEFAULT CURRENT_TIMESTAMP NOT NULL'); - $this->CheckColumn('date_last_modified','DATETIME','shopimport_checkorder', 'DEFAULT CURRENT_TIMESTAMP NOT NULL'); - - /* Drucker spooler */ - $this->CheckTable("pdfmirror_md5pool"); - $this->CheckColumn("id","int(11)","pdfmirror_md5pool","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("zeitstempel","DATETIME","pdfmirror_md5pool"); - $this->CheckColumn("checksum","VARCHAR(128)","pdfmirror_md5pool","DEFAULT '' NOT NULL"); - $this->CheckColumn("table_id","int(11)","pdfmirror_md5pool","DEFAULT '0' NOT NULL"); - $this->CheckColumn("table_name","VARCHAR(128)","pdfmirror_md5pool","DEFAULT '' NOT NULL"); - $this->CheckColumn("bearbeiter","VARCHAR(128)","pdfmirror_md5pool","DEFAULT '' NOT NULL"); - $this->CheckColumn("erstesoriginal","int(11)","pdfmirror_md5pool","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiv_id","int(11)","pdfmirror_md5pool","DEFAULT '0' NOT NULL"); - - /*Archiv Version */ - $this->CheckTable("pdfarchiv"); - $this->CheckColumn("id","int(11)","pdfarchiv","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("zeitstempel","DATETIME","pdfarchiv"); - $this->CheckColumn("checksum","VARCHAR(128)","pdfarchiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("table_id","int(11)","pdfarchiv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("table_name","VARCHAR(128)","pdfarchiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("doctype","VARCHAR(128)","pdfarchiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("doctypeorig","VARCHAR(128)","pdfarchiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("dateiname","VARCHAR(128)","pdfarchiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("bearbeiter","VARCHAR(128)","pdfarchiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("belegnummer","VARCHAR(128)","pdfarchiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("erstesoriginal","int(11)","pdfarchiv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("schreibschutz","tinyint(1)","pdfarchiv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("keinhintergrund","tinyint(1)","pdfarchiv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("parameter","varchar(255)","pdfarchiv","DEFAULT '' NOT NULL"); - - $this->CheckColumn("zuarchivieren", "int(11)", "auftrag", "DEFAULT '0' NOT NULL"); - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("zuarchivieren", "int(11)", "anfrage", "DEFAULT '0' NOT NULL"); - - - if($this->ModulVorhanden("proformarechnung")) - $this->CheckColumn("zuarchivieren", "int(11)", "proformarechnung", "DEFAULT '0' NOT NULL"); - } - - if($stufe == 0 || $stufe == 5) - { - $this->CheckColumn("zuarchivieren", "int(11)", "angebot", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("zuarchivieren", "int(11)", "bestellung", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("zuarchivieren", "int(11)", "rechnung", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("zuarchivieren", "int(11)", "gutschrift", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("zuarchivieren", "int(11)", "lieferschein", "DEFAULT '0' NOT NULL"); - - $this->CheckColumn("internebezeichnung", "VARCHAR(255)", "auftrag", "DEFAULT '' NOT NULL"); - - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("internebezeichnung", "VARCHAR(255)", "anfrage", "DEFAULT '' NOT NULL"); - - - if($this->ModulVorhanden("proformarechnung")) - $this->CheckColumn("internebezeichnung", "VARCHAR(255)", "proformarechnung", "DEFAULT '' NOT NULL"); - - $this->CheckColumn("internebezeichnung", "VARCHAR(255)", "angebot", "DEFAULT '' NOT NULL"); - $this->CheckColumn("internebezeichnung", "VARCHAR(255)", "bestellung", "DEFAULT '' NOT NULL"); - $this->CheckColumn("internebezeichnung", "VARCHAR(255)", "rechnung", "DEFAULT '' NOT NULL"); - $this->CheckColumn("internebezeichnung", "VARCHAR(255)", "gutschrift", "DEFAULT '' NOT NULL"); - $this->CheckColumn("internebezeichnung", "VARCHAR(255)", "lieferschein", "DEFAULT '' NOT NULL"); - - $this->CheckColumn("reservationdate","DATE","auftrag"); - $this->CheckColumn("angelegtam","DATETIME","angebot"); - $this->CheckColumn("angelegtam","DATETIME","auftrag"); - $this->CheckColumn("angelegtam","DATETIME","rechnung"); - $this->CheckColumn("angelegtam","DATETIME","lieferschein"); - $this->CheckColumn("angelegtam","DATETIME","gutschrift"); - $this->CheckColumn("angelegtam","DATETIME","bestellung"); - - $this->CheckColumn("rechnungid", "int(11)", "lieferschein", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("rechnungid", "int(11)", "auftrag", "DEFAULT '0' NOT NULL"); - /* Drucker spooler */ - $this->CheckTable("drucker_spooler"); - $this->CheckColumn("id","int(11)","drucker_spooler","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("drucker","int(11)","drucker_spooler","DEFAULT '0' NOT NULL"); - $this->CheckColumn("filename","VARCHAR(128)","drucker_spooler","DEFAULT '' NOT NULL"); - $this->CheckColumn("content","LONGBLOB","drucker_spooler","DEFAULT '' NOT NULL"); - $this->CheckColumn("description","VARCHAR(128)","drucker_spooler","DEFAULT '' NOT NULL"); - $this->CheckColumn("anzahl","VARCHAR(128)","drucker_spooler","DEFAULT '' NOT NULL"); - $this->CheckColumn("befehl","VARCHAR(128)","drucker_spooler","DEFAULT '' NOT NULL"); - $this->CheckColumn("anbindung","VARCHAR(128)","drucker_spooler","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel","DATETIME","drucker_spooler"); - $this->CheckColumn("user","int(11)","drucker_spooler","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gedruckt","tinyint(1)","drucker_spooler","DEFAULT '0' NOT NULL"); - - $this->CheckTable("pinwand"); - $this->CheckColumn("id","int(11)","pinwand","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("name","VARCHAR(128)","pinwand","DEFAULT '' NOT NULL"); - $this->CheckColumn("user","INT(11)","pinwand","DEFAULT '0' NOT NULL"); - - $this->CheckTable("adapterbox"); - $this->CheckColumn("id","int(11)","adapterbox","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bezeichnung","VARCHAR(128)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("verwendenals","VARCHAR(128)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("baudrate","VARCHAR(128)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("model","VARCHAR(128)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("seriennummer","VARCHAR(128)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("ipadresse","VARCHAR(128)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("netmask","VARCHAR(128)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("gateway","VARCHAR(128)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("dns","VARCHAR(128)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("dhcp","TINYINT(1)","adapterbox","DEFAULT '1' NOT NULL"); - $this->CheckColumn("wlan","TINYINT(1)","adapterbox","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ssid","VARCHAR(128)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("passphrase","VARCHAR(256)","adapterbox","DEFAULT '' NOT NULL"); - $this->CheckColumn("letzteverbindung","DATETIME","adapterbox"); - $this->CheckColumn("tmpip","VARCHAR(255)","adapterbox","DEFAULT '' NOT NULL"); - - $this->CheckTable('adapterbox_request_log'); - $this->CheckColumn('auth','VARCHAR(255)','adapterbox_request_log',"NOT NULL DEFAULT ''"); - $this->CheckColumn('validpass','VARCHAR(255)','adapterbox_request_log',"NOT NULL DEFAULT ''"); - $this->CheckColumn('device','VARCHAR(255)','adapterbox_request_log',"NOT NULL DEFAULT ''"); - $this->CheckColumn('digets','VARCHAR(255)','adapterbox_request_log',"NOT NULL DEFAULT ''"); - $this->CheckColumn('ip','VARCHAR(32)','adapterbox_request_log',"NOT NULL DEFAULT ''"); - $this->CheckColumn('created_at','TIMESTAMP','adapterbox_request_log'); - $this->CheckColumn('success','TINYINT(1)','adapterbox_request_log','DEFAULT 0 NOT NULL'); - - $this->CheckTable("pinwand_user"); - $this->CheckColumn("pinwand","int(11)","pinwand_user","DEFAULT '0' NOT NULL"); - $this->CheckColumn("user","int(11)","pinwand_user","DEFAULT '0' NOT NULL"); - - - $this->CheckTable("device_jobs"); - $this->CheckColumn("id","int(11)","device_jobs","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("deviceidsource","VARCHAR(64)","device_jobs","DEFAULT ''"); - $this->CheckColumn("deviceiddest","VARCHAR(64)","device_jobs","DEFAULT ''"); - $this->CheckColumn("job","LONGTEXT","device_jobs","DEFAULT '' NOT NULL "); - $this->CheckColumn("zeitstempel","DATETIME","device_jobs"); - $this->CheckColumn("abgeschlossen","tinyint(1)","device_jobs","DEFAULT '0' NOT NULL "); - $this->CheckColumn("art","VARCHAR(64)","device_jobs","DEFAULT ''"); - $this->CheckColumn("request_id","int(11)","device_jobs","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("versendet_am_zeitstempel","DATETIME","versand"); - $this->CheckColumn('lastspooler_id','INT(11)', 'versand','NOT NULL DEFAULT 0'); - $this->CheckColumn('lastprinter','INT(11)', 'versand','NOT NULL DEFAULT 0'); - $this->CheckColumn('lastexportspooler_id','INT(11)', 'versand','NOT NULL DEFAULT 0'); - $this->CheckColumn('lastexportprinter','INT(11)', 'versand','NOT NULL DEFAULT 0'); - - $this->CheckTable("artikeleigenschaften"); - $this->CheckColumn("id","int(11)","artikeleigenschaften","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikel","INT(11)","artikeleigenschaften","DEFAULT '0' NOT NULL"); - $this->CheckColumn("name","VARCHAR(64)","artikeleigenschaften","DEFAULT ''"); - $this->CheckColumn("typ","VARCHAR(64)","artikeleigenschaften","DEFAULT 'einzeilig'"); - $this->CheckColumn("projekt","INT(11)","artikeleigenschaften","DEFAULT '0' NOT NULL"); - $this->CheckColumn("geloescht","tinyint(1)","artikeleigenschaften","DEFAULT '0' NOT NULL"); - - $this->CheckTable("artikeleigenschaftenwerte"); - $this->CheckColumn("id","int(11)","artikeleigenschaftenwerte","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikeleigenschaften","INT(11)","artikeleigenschaftenwerte","DEFAULT '0' NOT NULL"); - $this->CheckColumn("vorlage","INT(11)","artikeleigenschaftenwerte","DEFAULT '0' NOT NULL"); - $this->CheckColumn("name","VARCHAR(64)","artikeleigenschaftenwerte","DEFAULT ''"); - $this->CheckColumn("einheit","VARCHAR(64)","artikeleigenschaftenwerte","DEFAULT ''"); - $this->CheckColumn("wert","text","artikeleigenschaftenwerte","DEFAULT ''"); - $this->CheckColumn("artikel","INT(11)","artikeleigenschaftenwerte","DEFAULT '0' NOT NULL"); - - $this->CheckAlterTable("ALTER TABLE `artikeleigenschaftenwerte` CHANGE `wert` `wert` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL"); - - $this->CheckTable("eigenschaften"); - $this->CheckColumn("id","int(11)","eigenschaften","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikel","INT(11)","eigenschaften","DEFAULT '0' NOT NULL"); - $this->CheckColumn("art","INT(11)","eigenschaften","DEFAULT '0' NOT NULL"); - $this->CheckColumn("hauptkategorie","VARCHAR(128)","eigenschaften","DEFAULT ''"); - $this->CheckColumn("unterkategorie","VARCHAR(128)","eigenschaften","DEFAULT ''"); - $this->CheckColumn("einheit","VARCHAR(64)","eigenschaften","DEFAULT ''"); - $this->CheckColumn("wert","VARCHAR(64)","eigenschaften","DEFAULT ''"); - - $this->CheckTable('article_property_translation'); - $this->CheckColumn('id', 'int(11)','article_property_translation','NOT NULL AUTO INCREMENT'); - $this->CheckColumn('article_id','int(11)','article_property_translation',"DEFAULT '0' NOT NULL"); - $this->CheckColumn('category_id','int(11)','article_property_translation',"DEFAULT '0' NOT NULL"); - $this->CheckColumn('shop_id','int(11)','article_property_translation',"DEFAULT '0' NOT NULL"); - $this->CheckColumn('language_from','varchar(32)','article_property_translation',"DEFAULT '' NOT NULL"); - $this->CheckColumn('language_to','varchar(32)','article_property_translation',"DEFAULT '' NOT NULL"); - $this->CheckColumn('property_from','varchar(255)','article_property_translation',"DEFAULT '' NOT NULL"); - $this->CheckColumn('property_to','varchar(255)','article_property_translation',"DEFAULT '' NOT NULL"); - $this->CheckColumn('property_value_from','varchar(255)','article_property_translation',"DEFAULT '' NOT NULL"); - $this->CheckColumn('property_value_to','varchar(255)','article_property_translation',"DEFAULT '' NOT NULL"); - - $this->CheckIndex('article_property_translation', 'article_id'); - $this->CheckIndex('article_property_translation', 'category_id'); - $this->CheckIndex('article_property_translation', 'shop_id'); - $this->CheckIndex('adresse_abosammelrechnungen','adresse'); - } - - if($stufe == 0 || $stufe == 6) - { - $this->CheckColumn("sort","INT(11)","datei_stichwoerter","DEFAULT '0' NOT NULL "); - $this->CheckColumn("parameter2","INT(11)","datei_stichwoerter","DEFAULT '0' NOT NULL "); - $this->CheckColumn("objekt2","VARCHAR(255)","datei_stichwoerter","DEFAULT '' NOT NULL "); - - $this->CheckTable("zeiterfassungvorlage"); - $this->CheckColumn("id","int(11)","zeiterfassungvorlage","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("vorlage","VARCHAR(255)","zeiterfassungvorlage","DEFAULT '' NOT NULL "); - $this->CheckColumn("vorlagedetail","TEXT","zeiterfassungvorlage","DEFAULT '' NOT NULL "); - $this->CheckColumn("ausblenden","tinyint(1)","zeiterfassungvorlage","DEFAULT '0' NOT NULL"); - - $this->CheckTable("uebersetzung"); - $this->CheckColumn("id","int(11)","uebersetzung","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("label","VARCHAR(255)","uebersetzung","DEFAULT '' NOT NULL "); - $this->CheckColumn("beschriftung","TEXT","uebersetzung","DEFAULT '' NOT NULL "); - $this->CheckColumn("sprache","VARCHAR(255)","uebersetzung","DEFAULT '' NOT NULL "); - $this->CheckColumn("original","TEXT","uebersetzung","DEFAULT '' NOT NULL "); - - $this->app->DB->Query("DELETE FROM uebersetzung WHERE sprache= 'dokument_anschreiben'"); - - - $this->CheckTable("etiketten"); - $this->CheckColumn("id","int(11)","etiketten","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("name","VARCHAR(64)","etiketten","DEFAULT '' NOT NULL "); - $this->CheckColumn("xml","TEXT","etiketten","DEFAULT '' NOT NULL "); - $this->CheckColumn("bemerkung","TEXT","etiketten","DEFAULT '' NOT NULL "); - $this->CheckColumn("ausblenden","tinyint(1)","etiketten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("verwendenals","VARCHAR(64)","etiketten","DEFAULT '' NOT NULL "); - $this->CheckColumn("format","VARCHAR(64)","etiketten","DEFAULT '' NOT NULL "); - - $this->CheckColumn("manuell","TINYINT(1)","etiketten","DEFAULT '0' NOT NULL "); - $this->CheckColumn("labelbreite","INT(11)","etiketten","DEFAULT '50' NOT NULL "); - $this->CheckColumn("labelhoehe","INT(11)","etiketten","DEFAULT '18' NOT NULL "); - $this->CheckColumn("labelabstand","INT(11)","etiketten","DEFAULT '3' NOT NULL "); - $this->CheckColumn("labeloffsetx","INT(11)","etiketten","DEFAULT '0' NOT NULL "); - $this->CheckColumn("labeloffsety","INT(11)","etiketten","DEFAULT '6' NOT NULL "); - $this->CheckColumn("anzahlprozeile","INT(11)","etiketten","DEFAULT '1' NOT NULL "); - - $this->CheckTable("versandpakete"); - $this->CheckColumn("id","int(11)","versandpakete","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("versand","INT(11)","versandpakete","DEFAULT '0' NOT NULL"); - $this->CheckColumn("nr","INT(11)","versandpakete","DEFAULT '0' NOT NULL"); - $this->CheckColumn("tracking","VARCHAR(255)","versandpakete","DEFAULT '' NOT NULL "); - $this->CheckColumn("versender","VARCHAR(255)","versandpakete","DEFAULT '' NOT NULL "); - $this->CheckColumn("gewicht","VARCHAR(10)","versandpakete","DEFAULT '' NOT NULL "); - $this->CheckColumn("bemerkung","TEXT","versandpakete","DEFAULT '' NOT NULL "); - - $this->CheckTable("seriennummern"); - $this->CheckColumn("id","int(11)","seriennummern","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("seriennummer", "varchar(255)", "seriennummern", "NOT NULL"); - $this->CheckColumn("adresse", "int(11)", "seriennummern", "NOT NULL"); - $this->CheckColumn("artikel", "int(11)", "seriennummern", "NOT NULL"); - $this->CheckColumn("beschreibung", "varchar(255)", "seriennummern", "NOT NULL"); - $this->CheckColumn("lieferung", "date", "seriennummern", "NOT NULL"); - $this->CheckColumn("lieferschein", "int(11)", "seriennummern", "NOT NULL"); - $this->CheckColumn("lieferscheinpos", "int(11)", "seriennummern", "NOT NULL"); - $this->CheckColumn("bearbeiter", "varchar(255)", "seriennummern", "NOT NULL"); - $this->CheckColumn("logdatei", "datetime", "seriennummern", "NOT NULL"); - - $this->CheckTable("chargen"); - $this->CheckColumn("id","int(11)","chargen","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("charge", "TEXT", "chargen", "NOT NULL"); - $this->CheckColumn("adresse", "int(11)", "chargen", "NOT NULL"); - $this->CheckColumn("artikel", "int(11)", "chargen", "NOT NULL"); - $this->CheckColumn("beschreibung", "varchar(255)", "chargen", "NOT NULL"); - $this->CheckColumn("lieferung", "date", "chargen", "NOT NULL"); - $this->CheckColumn("lieferschein", "int(11)", "chargen", "NOT NULL"); - $this->CheckColumn("bearbeiter", "varchar(255)", "chargen", "NOT NULL"); - $this->CheckColumn("logdatei", "datetime", "chargen", "NOT NULL"); - - - $this->InstallModul('appstore'); - $this->InstallModul('logfile'); - $this->InstallModul('protokoll'); - $this->InstallModul('systemlog'); -$this->RegisterHook('ImportAuftragBefore','onlineshops','ImportAuftragBeforeHook'); - $this->CheckTable("adapterbox_log"); - $this->CheckColumn("id","int(11)","adapterbox_log","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("ip","VARCHAR(64)","adapterbox_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("meldung","VARCHAR(64)","adapterbox_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("seriennummer","VARCHAR(64)","adapterbox_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("device","VARCHAR(64)","adapterbox_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("datum","DATETIME","adapterbox_log"); - - $this->CheckTable("stechuhr"); - $this->CheckColumn("id","int(11)","stechuhr","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("datum","DATETIME","stechuhr"); - $this->CheckColumn("adresse","INT(11)","stechuhr","DEFAULT '0' NOT NULL"); - $this->CheckColumn("user","INT(11)","stechuhr","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kommen","tinyint(1)","stechuhr","DEFAULT '0' NOT NULL"); - $this->CheckColumn("status","varchar(20)","stechuhr","DEFAULT '' NOT NULL"); - $this->CheckColumn("uebernommen","tinyint(1)","stechuhr","DEFAULT '0' NOT NULL"); - $this->CheckColumn("mitarbeiterzeiterfassungid","int(15)","stechuhr","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("deckungsbeitragcalc","TINYINT(1)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("deckungsbeitrag","DECIMAL(10,2)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("erloes_netto","DECIMAL(10,2)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("umsatz_netto","DECIMAL(10,2)","auftrag","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("saldo","DECIMAL(10,2)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("saldogeprueft","DATETIME","auftrag","DEFAULT NULL"); - - $this->CheckColumn("deckungsbeitragcalc","TINYINT(1)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("deckungsbeitrag","DECIMAL(10,2)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("erloes_netto","DECIMAL(10,2)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("umsatz_netto","DECIMAL(10,2)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gesamtsummeausblenden","TINYINT(1)","angebot","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("deckungsbeitragcalc","TINYINT(1)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("deckungsbeitrag","DECIMAL(10,2)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("umsatz_netto","DECIMAL(10,2)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("erloes_netto","DECIMAL(10,2)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("mahnwesenfestsetzen","tinyint(1)","rechnung","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("deckungsbeitragcalc","TINYINT(1)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("deckungsbeitrag","DECIMAL(10,2)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("erloes_netto","DECIMAL(10,2)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("umsatz_netto","DECIMAL(10,2)","gutschrift","DEFAULT '0' NOT NULL"); - - - $this->CheckColumn("lieferdatum","DATE","angebot"); - $this->CheckColumn("auftragid","int(11)","angebot","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("lieferid","int(11)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ansprechpartnerid","int(11)","angebot","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("lieferid","int(11)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ansprechpartnerid","int(11)","auftrag","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("lieferid","int(11)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ansprechpartnerid","int(11)","rechnung","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("lieferid","int(11)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ansprechpartnerid","int(11)","gutschrift","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("lieferid","int(11)","lieferschein","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ansprechpartnerid","int(11)","lieferschein","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("lieferdatum","DATE","auftrag"); - $this->CheckColumn("tatsaechlicheslieferdatum","DATE","auftrag"); - $this->CheckColumn("liefertermin_ok","int(1)","auftrag","DEFAULT '1' NOT NULL"); - $this->CheckColumn("teillieferung_moeglich","int(1)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kreditlimit_ok","int(1)","auftrag","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kreditlimit_freigabe","int(1)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("liefersperre_ok","int(1)","auftrag","DEFAULT '1' NOT NULL"); - $this->CheckColumn("teillieferungvon","int(11)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teillieferungnummer","int(11)","auftrag","DEFAULT '0' NOT NULL"); - - $this->CheckColumn('deliverythresholdvatid','VARCHAR(64)','auftrag',"DEFAULT '' NOT NULL"); - $this->CheckColumn('deliverythresholdvatid','VARCHAR(64)','rechnung',"DEFAULT '' NOT NULL"); - $this->CheckColumn('deliverythresholdvatid','VARCHAR(64)','gutschrift',"DEFAULT '' NOT NULL"); - - $this->CheckColumn("kopievon","int(11)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kopienummer","int(11)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilproduktionvon","int(11)","produktion","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilproduktionnummer","int(11)","produktion","DEFAULT '0' NOT NULL"); - $this->CheckColumn("parent","int(11)","produktion","DEFAULT '0' NOT NULL"); - $this->CheckColumn("parentnummer","int(11)","produktion","DEFAULT '0' NOT NULL"); - $this->CheckColumn('fastlane','TINYINT(1)','auftrag','DEFAULT 0'); - - $this->CheckTable('module_stat'); - $this->CheckColumn('module','VARCHAR(64)','module_stat', "DEFAULT '' NOT NULL"); - $this->CheckColumn('action','VARCHAR(64)','module_stat', "DEFAULT '' NOT NULL"); - $this->CheckColumn('created_date','DATE','module_stat', 'DEFAULT NULL'); - $this->CheckColumn('view_count','INT(11)','module_stat','DEFAULT 0 NOT NULL'); - $this->CheckIndex('module_stat', ['created_date', 'module','action'], true); - - $this->CheckTable('object_stat'); - $this->CheckColumn('object_type', 'VARCHAR(64)', 'object_stat', "DEFAULT '' NOT NULL"); - $this->CheckColumn('object_parameter', 'VARCHAR(64)', 'object_stat', "DEFAULT '' NOT NULL"); - $this->CheckColumn('event_type', 'VARCHAR(64)', 'object_stat', "DEFAULT '' NOT NULL"); - $this->CheckColumn('created_at', 'DATE', 'object_stat', 'NOT NULL'); - $this->CheckColumn('event_count', 'INT(11)', 'object_stat', 'DEFAULT 0 NOT NULL'); - $this->CheckIndex('object_stat', ['created_at', 'object_type', 'object_parameter', 'event_type'], true); - - $this->CheckTable('module_stat_detail'); - $this->CheckColumn('module', 'VARCHAR(64)', 'module_stat_detail', "DEFAULT '' NOT NULL"); - $this->CheckColumn('action', 'VARCHAR(64)', 'module_stat_detail', "DEFAULT '' NOT NULL"); - $this->CheckColumn('document_id', 'INT(11)', 'module_stat_detail', 'DEFAULT 0 NOT NULL'); - $this->CheckColumn('user_id', 'INT(11)', 'module_stat_detail', 'DEFAULT 0 NOT NULL'); - $this->CheckColumn('visible', 'TINYINT(1)', 'module_stat_detail', 'DEFAULT 1 NOT NULL'); - $this->CheckColumn('uid', 'VARCHAR(40)', 'module_stat_detail', "DEFAULT '' NOT NULL"); - $this->CheckColumn('start_date', 'DATETIME', 'module_stat_detail', 'DEFAULT NULL'); - $this->CheckColumn('end_date', 'DATETIME', 'module_stat_detail', 'DEFAULT NULL'); - $this->CheckIndex( - 'module_stat_detail', - ['user_id', 'uid','module','action','document_id','visible','start_date'], - true - ); - } - - if($stufe == 0 || $stufe == 6) - { - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("vertriebid","INT(11)","anfrage"); - - $this->CheckColumn("vertriebid","INT(11)","angebot"); - $this->CheckColumn("vertriebid","INT(11)","auftrag"); - $this->CheckColumn("vertriebid","INT(11)","rechnung"); - $this->CheckColumn("vertriebid","INT(11)","lieferschein"); - $this->CheckColumn("vertriebid","INT(11)","gutschrift"); - - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("bearbeiterid","INT(11)","anfrage"); - - $this->CheckColumn("bearbeiterid","INT(11)","angebot"); - $this->CheckColumn("bearbeiterid","INT(11)","auftrag"); - $this->CheckColumn("bearbeiterid","INT(11)","rechnung"); - $this->CheckColumn("bearbeiterid","INT(11)","lieferschein"); - $this->CheckColumn("bearbeiterid","INT(11)","gutschrift"); - $this->CheckColumn("bearbeiterid","INT(11)","produktion"); - - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("aktion","varchar(64)","anfrage","DEFAULT '' NOT NULL"); - - $this->CheckColumn("aktion","varchar(64)","angebot","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktion","varchar(64)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktion","varchar(64)","rechnung","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktion","varchar(64)","gutschrift","DEFAULT '' NOT NULL"); - - if($this->ModulVorhanden("anfrage")) - { - $this->CheckColumn("vertrieb","VARCHAR(255)","anfrage","DEFAULT '' NOT NULL"); - $this->CheckColumn("bearbeiter","VARCHAR(255)","anfrage","DEFAULT '' NOT NULL"); - } - - if($this->ModulVorhanden("proformarechnung")) - { - $this->CheckColumn("bearbeiter","VARCHAR(255)","proformarechnung","DEFAULT '' NOT NULL"); - } - - $this->CheckColumn("vertrieb","VARCHAR(255)","angebot","DEFAULT '' NOT NULL"); - $this->CheckColumn("bearbeiter","VARCHAR(255)","angebot","DEFAULT '' NOT NULL"); - $this->CheckColumn("vertrieb","VARCHAR(255)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn("bearbeiter","VARCHAR(255)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn("vertrieb","VARCHAR(255)","rechnung","DEFAULT '' NOT NULL"); - $this->CheckColumn("bearbeiter","VARCHAR(255)","rechnung","DEFAULT '' NOT NULL"); - $this->CheckColumn("vertrieb","VARCHAR(255)","lieferschein","DEFAULT '' NOT NULL"); - $this->CheckColumn("bearbeiter","VARCHAR(255)","lieferschein","DEFAULT '' NOT NULL"); - $this->CheckColumn("vertrieb","VARCHAR(255)","gutschrift","DEFAULT '' NOT NULL"); - $this->CheckColumn("bearbeiter","VARCHAR(255)","gutschrift","DEFAULT '' NOT NULL"); - - $this->CheckColumn("provision","DECIMAL(10,2)","angebot"); - $this->CheckColumn("provision_summe","DECIMAL(10,2)","angebot"); - $this->CheckColumn("provision","DECIMAL(10,2)","auftrag"); - $this->CheckColumn("provision_summe","DECIMAL(10,2)","auftrag"); - $this->CheckColumn("provision","DECIMAL(10,2)","rechnung"); - $this->CheckColumn("provision_summe","DECIMAL(10,2)","rechnung"); - $this->CheckColumn("provision","DECIMAL(10,2)","gutschrift"); - $this->CheckColumn("provision_summe","DECIMAL(10,2)","gutschrift"); - - $this->CheckColumn("beschreibung","text","kalender_event"); - $this->CheckColumn("ort","text","kalender_event"); - $this->CheckColumn("mlmaktiv","int(1)","adresse"); - $this->CheckColumn("mlmvertragsbeginn","DATE","adresse"); - $this->CheckColumn("mlmlizenzgebuehrbis","DATE","adresse"); - $this->CheckColumn("mlmfestsetzenbis","DATE","adresse"); - - - $this->CheckColumn("mlmfestsetzen","int(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("mlmmindestpunkte","int(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("mlmwartekonto","Decimal(10,2)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("mlmdirektpraemie","DECIMAL(10,2)","artikel"); - - $this->CheckColumn("nettogewicht", "VARCHAR(64)", "artikel", "NOT NULL DEFAULT ''"); - $this->CheckColumn("xvp", "decimal(14,2)", "artikel", "NOT NULL DEFAULT 0"); - $this->CheckColumn("leerfeld","VARCHAR(64)","artikel"); - $this->CheckColumn("zolltarifnummer","VARCHAR(64)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("herkunftsland","VARCHAR(64)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("keineeinzelartikelanzeigen","TINYINT(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ohnepreisimpdf","TINYINT(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("externeproduktion","TINYINT(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("mindesthaltbarkeitsdatum","int(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("letzteseriennummer","VARCHAR(255)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("individualartikel","int(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("keinrabatterlaubt","int(1)","artikel"); - $this->CheckColumn("provisionssperre","int(1)","artikel"); - $this->CheckColumn("rabatt","int(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("dienstleistung","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rabatt_prozent","DECIMAL(10,2)","artikel"); - $this->CheckColumn("bildvorschau","varchar(64)","artikel", "DEFAULT '' NOT NULL"); - $this->CheckColumn("inventursperre","int(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("inventurekaktiv","int(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("inventurek","DECIMAL(18,8)","artikel"); - $this->CheckColumn("hinweis_einfuegen","TEXT","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("etikettautodruck","int(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lagerkorrekturwert","int(11)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autodrucketikett","int(11)","artikel","DEFAULT '0' NOT NULL"); - - $this->CheckTable("artikel_onlineshops"); - $this->CheckColumn("id","int(11)","artikel_onlineshops","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikel","int(11)","artikel_onlineshops","NOT NULL DEFAULT '0'"); - $this->CheckColumn("shop","int(11)","artikel_onlineshops","NOT NULL DEFAULT '0'"); - $this->CheckColumn("aktiv","int(11)","artikel_onlineshops","NOT NULL DEFAULT '0'"); - $this->CheckColumn("ausartikel","int(11)","artikel_onlineshops","NOT NULL DEFAULT '1'"); - $this->CheckColumn("lagerkorrekturwert","int(11)","artikel_onlineshops","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pseudolager","VARCHAR(255)","artikel_onlineshops","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autolagerlampe","tinyint(1)","artikel_onlineshops","DEFAULT '0' NOT NULL"); - $this->CheckColumn("restmenge","tinyint(1)","artikel_onlineshops","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferzeitmanuell","varchar(255)","artikel_onlineshops","DEFAULT '' NOT NULL"); - $this->CheckColumn("pseudopreis","DECIMAL(10,2)","artikel_onlineshops","DEFAULT '0' NOT NULL"); - $this->CheckColumn("generierenummerbeioption","tinyint(1)","artikel_onlineshops","DEFAULT '0' NOT NULL"); - $this->CheckColumn("variante_kopie","tinyint(1)","artikel_onlineshops","DEFAULT '0' NOT NULL"); - $this->CheckColumn("unikat","tinyint(1)","artikel_onlineshops","DEFAULT '0' NOT NULL"); - $this->CheckColumn("unikatbeikopie","tinyint(1)","artikel_onlineshops","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autoabgeleicherlaubt","tinyint(1)","artikel_onlineshops","DEFAULT '0' NOT NULL"); - $this->CheckColumn('last_article_hash','VARCHAR(64)', 'artikel_onlineshops', "DEFAULT '' NOT NULL"); - $this->CheckColumn('last_article_transfer','TIMESTAMP', 'artikel_onlineshops', 'NULL DEFAULT NULL'); - $this->CheckColumn('last_storage_transfer','TIMESTAMP', 'artikel_onlineshops', 'NULL DEFAULT NULL'); - $this->CheckColumn('storage_cache','int(11)','artikel_onlineshops','DEFAULT NULL'); - $this->CheckColumn('pseudostorage_cache','int(11)','artikel_onlineshops','DEFAULT NULL'); - - $this->CheckColumn("laenge","DECIMAL(10,2)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("breite","DECIMAL(10,2)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("hoehe","DECIMAL(10,2)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("abckategorie","VARCHAR(1)","artikel","DEFAULT '' NOT NULL"); - - $this->CheckColumn("geraet","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("serviceartikel","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gebuehr","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn('laststorage_changed','TIMESTAMP', 'artikel', "DEFAULT '1970-01-02'"); - $this->CheckColumn('laststorage_sync','TIMESTAMP', 'artikel', "DEFAULT '1970-01-02'"); - $this->CheckAlterTable("ALTER TABLE `artikel` CHANGE `laststorage_sync` `laststorage_sync` TIMESTAMP DEFAULT '1970-01-02'"); - $this->CheckIndex('artikel', 'laststorage_changed'); - $this->CheckIndex('artikel', 'laststorage_sync'); - - $this->CheckColumn("hinweis_einfuegen","TEXT","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("abweichende_rechnungsadresse","int(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rechnung_vorname","varchar(128)","adresse"); - $this->CheckColumn("rechnung_name","varchar(128)","adresse"); - $this->CheckColumn("rechnung_titel","varchar(128)","adresse"); - $this->CheckColumn("rechnung_typ","varchar(128)","adresse"); - $this->CheckColumn("rechnung_strasse","varchar(255)","adresse"); - $this->CheckColumn("rechnung_ort","varchar(255)","adresse"); - $this->CheckColumn("rechnung_plz","varchar(128)","adresse"); - $this->CheckColumn("rechnung_ansprechpartner","varchar(255)","adresse"); - $this->CheckColumn("rechnung_land","varchar(128)","adresse"); - $this->CheckColumn("rechnung_abteilung","varchar(255)","adresse"); - $this->CheckColumn("rechnung_unterabteilung","varchar(255)","adresse"); - $this->CheckColumn("rechnung_adresszusatz","varchar(255)","adresse"); - $this->CheckColumn("rechnung_telefon","varchar(128)","adresse"); - $this->CheckColumn("rechnung_telefax","varchar(128)","adresse"); - $this->CheckColumn("rechnung_anschreiben","varchar(255)","adresse"); - $this->CheckColumn("rechnung_email","varchar(128)","adresse"); - - $this->CheckColumn("geburtstag","DATE","adresse"); - $this->CheckColumn("geburtstagkalender","tinyint(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("geburtstagskarte","tinyint(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rolledatum","DATE","adresse"); - $this->CheckColumn("liefersperre","int(1)","adresse"); - $this->CheckColumn("liefersperregrund","text","adresse"); - $this->CheckColumn("liefersperredatum","DATE","adresse"); - $this->CheckColumn("mlmpositionierung","varchar(255)","adresse"); - $this->CheckColumn("steuernummer","varchar(255)","adresse"); - $this->CheckColumn("steuerbefreit","int(1)","adresse"); - $this->CheckColumn("mlmmitmwst","int(1)","adresse"); - $this->CheckColumn("mlmabrechnung","varchar(255)","adresse"); - $this->CheckColumn("mlmwaehrungauszahlung","varchar(255)","adresse"); - $this->CheckColumn("mlmauszahlungprojekt","int(11)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("sponsor","int(11)","adresse"); - $this->CheckColumn("geworbenvon","int(11)","adresse"); - $this->CheckColumn("passwordmd5","varchar(255)","user"); - $this->CheckColumn("projekt_bevorzugen","tinyint(1)","user","DEFAULT '0' NOT NULL"); - $this->CheckColumn("email_bevorzugen","tinyint(1)","user","DEFAULT '1' NOT NULL"); - $this->CheckColumn("projekt","INT(11)","user","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rfidtag","varchar(64)","user","DEFAULT '' NOT NULL"); - $this->CheckColumn("vorlage","varchar(255)","user"); - $this->CheckColumn("kalender_passwort","varchar(255)","user"); - $this->CheckColumn("kalender_ausblenden","int(1)","user","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kalender_aktiv","int(1)","user"); - $this->CheckColumn("gpsstechuhr","int(1)","user"); - $this->CheckColumn("standardetikett","int(11)","user","DEFAULT '0' NOT NULL"); - $this->CheckColumn("standardversanddrucker","int(11)","user","DEFAULT '0' NOT NULL"); - $this->CheckColumn("paketmarkendrucker","int(11)","user","DEFAULT '0' NOT NULL"); - $this->CheckColumn("standardfax","int(11)","user","DEFAULT '0' NOT NULL"); - $this->CheckColumn("internebezeichnung","varchar(255)","user"); - $this->CheckColumn("sprachebevorzugen","varchar(255)","user"); - $this->CheckColumn("vergessencode","varchar(255)","user","DEFAULT '' NOT NULL"); - $this->CheckColumn("vergessenzeit","datetime","user","DEFAULT NULL"); - $this->CheckColumn("chat_popup","tinyint(1)","user", "DEFAULT '1' NOT NULL"); - $this->CheckColumn("defaultcolor","varchar(10)","user","DEFAULT '' NOT NULL"); - $this->CheckColumn("passwordhash","char(60)","user"); - $this->CheckColumn("docscan_aktiv","tinyint(1)","user", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("docscan_passwort","varchar(64)","user"); - $this->CheckColumn("callcenter_notification","tinyint(1)","user", "DEFAULT '1' NOT NULL"); - - $this->CheckColumn("logfile","text","adresse"); - $this->CheckColumn("kalender_aufgaben","int(1)","adresse"); - - $this->CheckColumn("dateiid","int(11)","dokumente_send"); - $this->CheckColumn("autolagersperre","int(1)","lager_platz","DEFAULT '0' NOT NULL"); - $this->CheckColumn("verbrauchslager","int(1)","lager_platz","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse","int(11)","lager_platz","DEFAULT '0' NOT NULL"); - $this->CheckColumn("abckategorie","VARCHAR(1)","lager_platz","DEFAULT '' NOT NULL"); - $this->CheckColumn("regalart","VARCHAR(100)","lager_platz","DEFAULT '' NOT NULL"); - - $this->CheckColumn("laenge","DECIMAL(10,2)","lager_platz","DEFAULT '0' NOT NULL"); - $this->CheckColumn("breite","DECIMAL(10,2)","lager_platz","DEFAULT '0' NOT NULL"); - $this->CheckColumn("hoehe","DECIMAL(10,2)","lager_platz","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("sperrlager","int(1)","lager_platz","DEFAULT '0' NOT NULL"); - $this->CheckColumn("poslager","int(1)","lager_platz","DEFAULT '0' NOT NULL"); - $this->CheckColumn('rownumber','int(11)','lager_platz','DEFAULT 0 NOT NULL'); - $this->CheckColumn('allowproduction','TINYINT(1)','lager_platz','DEFAULT 0 NOT NULL'); - - $this->CheckColumn("projekt","int(11)","lager","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse","int(11)","lager","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("verrechnungskontoreisekosten","int(11)","adresse","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("status","varchar(255)","zeiterfassung"); - $this->CheckColumn("internerkommentar","TEXT","zeiterfassung"); - $this->CheckColumn("gps","varchar(1024)","zeiterfassung"); - $this->CheckColumn("arbeitsnachweispositionid","int(11)","zeiterfassung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("aufgabe_id","int(11)","zeiterfassung","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("auftrag","int(11)","zeiterfassung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auftragpositionid","int(11)","zeiterfassung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("produktion","int(11)","zeiterfassung","DEFAULT '0' NOT NULL"); - - $this->CheckTable("versandarten"); - $this->CheckColumn("id","int(11)","versandarten","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("type", "varchar(255)", "versandarten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bezeichnung", "varchar(255)", "versandarten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("modul", "varchar(64)", "versandarten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv", "tinyint(1)", "versandarten", "DEFAULT '1' NOT NULL"); - $this->CheckColumn("geloescht", "tinyint(1)", "versandarten", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("keinportocheck", "tinyint(1)", "versandarten", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("projekt", "int(11)", "versandarten", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("paketmarke_drucker", "int(11)", "versandarten", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("export_drucker", "int(11)", "versandarten", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("einstellungen_json", "text", "versandarten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("ausprojekt", "tinyint(1)", "versandarten", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("versandmail", "int(11)", "versandarten", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("geschaeftsbrief_vorlage", "int(11)", "versandarten", "DEFAULT '0' NOT NULL"); - - $this->CheckTable("zahlungsweisen"); - $this->CheckColumn("id","int(11)","zahlungsweisen","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("type", "varchar(255)", "zahlungsweisen", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bezeichnung", "varchar(255)", "zahlungsweisen", "DEFAULT '' NOT NULL"); - $this->CheckColumn("freitext", "TEXT", "zahlungsweisen", "DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv", "tinyint(1)", "zahlungsweisen", "DEFAULT '1' NOT NULL"); - $this->CheckColumn("geloescht", "tinyint(1)", "zahlungsweisen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("automatischbezahlt", "tinyint(1)", "zahlungsweisen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("automatischbezahltverbindlichkeit", "tinyint(1)", "zahlungsweisen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("projekt", "int(11)", "zahlungsweisen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("vorkasse", "tinyint(1)", "zahlungsweisen", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("verhalten", "varchar(64)", "zahlungsweisen", "DEFAULT 'vorkasse' NOT NULL"); - $this->CheckColumn("modul", "varchar(64)", "zahlungsweisen", "DEFAULT '' NOT NULL"); - $this->CheckColumn("einstellungen_json", "text", "zahlungsweisen", "DEFAULT '' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `zahlungsweisen` CHANGE `verhalten` `verhalten` VARCHAR(64) NOT NULL DEFAULT 'vorkasse'"); - $this->CheckTable("adresse_typ"); - $this->CheckColumn("id","int(11)","adresse_typ","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("type", "varchar(255)", "adresse_typ", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bezeichnung", "varchar(255)", "adresse_typ", "DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv", "tinyint(1)", "adresse_typ", "DEFAULT '1' NOT NULL"); - $this->CheckColumn("geloescht", "tinyint(1)", "adresse_typ", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("projekt", "int(11)", "adresse_typ", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("netto", "tinyint(1)", "adresse_typ", "DEFAULT '0' NOT NULL"); - - - $this->CheckColumn("wert","text","stueckliste","DEFAULT '' NOT NULL"); - $this->CheckColumn("bauform","text","stueckliste","DEFAULT '' NOT NULL"); - $this->CheckColumn("alternative","int(11)","stueckliste","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zachse","varchar(64)","stueckliste","DEFAULT '' NOT NULL"); - $this->CheckColumn("xpos","varchar(64)","stueckliste","DEFAULT '' NOT NULL"); - $this->CheckColumn("ypos","varchar(64)","stueckliste","DEFAULT '' NOT NULL"); - $this->CheckColumn("art","varchar(64)","stueckliste","DEFAULT '' NOT NULL"); - - $this->CheckColumn("artikelporto","int(11)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikelnachnahme","int(11)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikelnachnahme_extraartikel","tinyint(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("artikelimport","int(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikelimporteinzeln","int(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autoabgleicherlaubt","int(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pseudopreis","DECIMAL(10,2)","artikel"); - $this->CheckColumn("pseudolager","VARCHAR(255)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("freigabenotwendig","int(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("freigaberegel","varchar(255)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("vorabbezahltmarkieren_ohnevorkasse_bar","int(11)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikelnummernummerkreis","tinyint(1)", "shopexport", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("holealle","tinyint(1)", "shopexport", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("ab_nummer","varchar(255)", "shopexport", "DEFAULT '' NOT NULL"); - $this->CheckColumn("direktimport","tinyint(1)", "shopexport", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("ust_ok","tinyint(1)", "shopexport", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("anzgleichzeitig","int(15)", "shopexport", "DEFAULT '1' NOT NULL"); - $this->CheckColumn("datumvon","timestamp", "shopexport"); - $this->CheckColumn("datumbis","timestamp", "shopexport"); - $this->CheckColumn("tmpdatumvon","timestamp", "shopexport"); - $this->CheckColumn("tmpdatumbis","timestamp", "shopexport"); - - $this->CheckColumn("demomodus","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("einzelsync","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("shopbilderuebertragen","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adressennichtueberschreiben","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auftraegeaufspaeter","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("aktiv","int(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("lagerexport","int(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("utf8codierung","tinyint(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("artikelexport","int(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("holeallestati","tinyint(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("cronjobaktiv","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("nummersyncstatusaendern","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zahlungsweisenmapping","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("versandartenmapping","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autoversandbeikommentardeaktivieren","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikelnummeruebernehmen","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikelbeschreibungauswawision","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikelbeschreibungenuebernehmen","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("stuecklisteergaenzen","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikeltexteuebernehmen","tinyint(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("artikelportoermaessigt","int(11)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikelrabatt","int(11)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikelrabattsteuer","decimal(4,2)","shopexport","DEFAULT '-1' NOT NULL"); - $this->CheckColumn("positionsteuersaetzeerlauben","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("json","text","shopexport","DEFAULT '' NOT NULL"); - $this->CheckColumn("freitext","varchar(64)","shopexport","DEFAULT '' NOT NULL"); - $this->CheckColumn("artikelbezeichnungauswawision","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("angeboteanlegen","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autoversandoption","varchar(255)","shopexport","DEFAULT 'standard' NOT NULL"); - $this->CheckColumn("artikelnummerbeimanlegenausshop","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("shoptyp", "varchar(32)", "shopexport","DEFAULT '' NOT NULL"); - $this->CheckColumn("modulename", "varchar(64)", "shopexport","DEFAULT '' NOT NULL"); - $this->CheckColumn("einstellungen_json","mediumtext","shopexport","DEFAULT '' NOT NULL"); - $this->CheckColumn("maxmanuell","int(11)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("preisgruppe","int(11)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("variantenuebertragen","tinyint(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("crosssellingartikeluebertragen","tinyint(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("staffelpreiseuebertragen","tinyint(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("lagergrundlage","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("portoartikelanlegen","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("nurneueartikel","tinyint(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn('startdate', 'DATE', 'shopexport', 'DEFAULT NULL'); - - $this->CheckColumn('ueberschreibe_lagerkorrekturwert','tinyint(1)','shopexport','DEFAULT 0 NOT NULL'); - $this->CheckColumn('lagerkorrekturwert','INT(11)','shopexport','DEFAULT 0 NOT NULL'); - $this->CheckColumn('vertrieb', 'INT(11)', 'shopexport', 'DEFAULT 0 NOT NULL'); - $this->CheckAlterTable( - "ALTER TABLE `shopexport` CHANGE `einstellungen_json` `einstellungen_json` mediumtext NOT NULL DEFAULT ''" - ); - - $this->CheckTable("shopexport_log"); - $this->CheckColumn("id","int(11)","shopexport_log","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shopid","int(11)","shopexport_log","DEFAULT '0' NOT NULL"); - $this->CheckColumn("typ", "varchar(64)", "shopexport_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("parameter1", "text", "shopexport_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("parameter2", "text", "shopexport_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("bearbeiter", "varchar(64)", "shopexport_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel","timestamp","shopexport_log","DEFAULT CURRENT_TIMESTAMP"); - $this->CheckAlterTable("ALTER TABLE `shopexport_log` CHANGE `parameter1` `parameter1` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';"); - $this->CheckAlterTable("ALTER TABLE `shopexport_log` CHANGE `parameter2` `parameter2` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';"); - $this->CheckColumn('parameter3','varchar(255)','shopexport_log',"DEFAULT '' NOT NULL"); - $this->CheckColumn('parameter4','varchar(255)','shopexport_log',"DEFAULT '' NOT NULL"); - - $this->CheckTable("shopexport_change_log"); - $this->CheckColumn("id","int(11)","shopexport_change_log","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop_id","int(11)","shopexport_change_log","NOT NULL"); - $this->CheckColumn("username","varchar(255)","shopexport_change_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("diff", "text", "shopexport_change_log","DEFAULT '' NOT NULL"); - $this->CheckColumn("creation_timestamp","timestamp","shopexport_change_log","DEFAULT CURRENT_TIMESTAMP"); - $this->CheckColumn('message','varchar(255)','shopexport_change_log',"DEFAULT '' NOT NULL"); - $this->CheckColumn('plaindiff','varchar(255)','shopexport_change_log',"DEFAULT '' NOT NULL"); - - $this->CheckColumn("tomail","varchar(255)","drucker","DEFAULT '' NOT NULL"); - $this->CheckColumn("tomailtext","text","drucker","DEFAULT '' NOT NULL"); - $this->CheckColumn("tomailsubject","text","drucker","DEFAULT '' NOT NULL"); - $this->CheckColumn("adapterboxip","varchar(255)","drucker","DEFAULT '' NOT NULL"); - $this->CheckColumn("adapterboxseriennummer","varchar(255)","drucker","DEFAULT '' NOT NULL"); - $this->CheckColumn("adapterboxpasswort","varchar(255)","drucker","DEFAULT '' NOT NULL"); - $this->CheckColumn("anbindung","varchar(255)","drucker","DEFAULT '' NOT NULL"); - $this->CheckColumn("art","int(1)","drucker","DEFAULT '0' NOT NULL"); - $this->CheckColumn("keinhintergrund","tinyint(1)","drucker","DEFAULT '0' NOT NULL"); - $this->CheckColumn("faxserver","int(1)","drucker","DEFAULT '0' NOT NULL"); - $this->CheckColumn("format","varchar(64)","drucker","DEFAULT '' NOT NULL"); - $this->CheckColumn('json','TEXT','drucker'); - - $this->CheckColumn("ust_befreit","int(1)","lieferschein","NOT NULL"); - $this->CheckColumn("ust_befreit","int(1)","bestellung","NOT NULL"); - - $this->CheckColumn("keinsteuersatz","int(1)","angebot"); - $this->CheckColumn("anfrageid","int(11)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("anfrageid","int(11)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gruppe","int(11)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gruppe","int(11)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gruppe","int(11)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gruppe","int(11)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("shopextid","varchar(1024)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn("shopextstatus","varchar(1024)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn('shop_status_update_attempt', 'int(3)', 'auftrag', "DEFAULT '0' NOT NULL"); - $this->CheckColumn('shop_status_update_last_attempt_at', 'DATETIME', 'auftrag', ''); - - $this->CheckColumn("systemfreitext","TEXT","rechnung","DEFAULT '' NOT NULL"); - $this->CheckColumn("systemfreitext","TEXT","auftrag","DEFAULT '' NOT NULL"); - - $this->CheckColumn("nachbestellt","int(1)","artikel"); - $this->CheckColumn("ean","varchar(1024)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("mlmpunkte","int(11)","artikel"); - $this->CheckColumn("mlmbonuspunkte","int(11)","artikel"); - $this->CheckColumn("mlmdirektpraemie","DECIMAL(10,2)","artikel"); - $this->CheckColumn("mlmkeinepunkteeigenkauf","int(1)","artikel"); - - $this->CheckColumn("shop2","int(11)","artikel"); - $this->CheckColumn("shop3","int(11)","artikel"); - - $this->CheckColumn("zolltarifnummer","VARCHAR(128)","rechnung_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("herkunftsland","VARCHAR(128)","rechnung_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("artikelnummerkunde","VARCHAR(128)","rechnung_position","DEFAULT '' NOT NULL"); - - $this->CheckColumn("zolltarifnummer","VARCHAR(128)","gutschrift_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("herkunftsland","VARCHAR(128)","gutschrift_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("artikelnummerkunde","VARCHAR(128)","gutschrift_position","DEFAULT '' NOT NULL"); - - $this->CheckColumn("zolltarifnummer","VARCHAR(128)","angebot_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("herkunftsland","VARCHAR(128)","angebot_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("artikelnummerkunde","VARCHAR(128)","angebot_position","DEFAULT '' NOT NULL"); - - $this->CheckColumn("zolltarifnummer","VARCHAR(128)","auftrag_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("herkunftsland","VARCHAR(128)","auftrag_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("artikelnummerkunde","VARCHAR(128)","auftrag_position","DEFAULT '' NOT NULL"); - - $this->CheckColumn("zolltarifnummer","VARCHAR(128)","lieferschein_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("herkunftsland","VARCHAR(128)","lieferschein_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("artikelnummerkunde","VARCHAR(128)","lieferschein_position","DEFAULT '' NOT NULL"); - - $this->CheckColumn("zolltarifnummer","VARCHAR(128)","bestellung_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("herkunftsland","VARCHAR(128)","bestellung_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("artikelnummerkunde","VARCHAR(128)","bestellung_position","DEFAULT '' NOT NULL"); - - $this->CheckColumn("auftrag_position_id","int(11)","bestellung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("preisanfrage_position_id","int(11)","bestellung_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("punkte","int(11)","rechnung_position"); - $this->CheckColumn("bonuspunkte","int(11)","rechnung_position"); - $this->CheckColumn("mlmdirektpraemie","DECIMAL(10,2)","rechnung_position"); - $this->CheckColumn("mlm_abgerechnet","int(1)","rechnung_position"); - - $this->CheckColumn("punkte","int(11)","angebot_position"); - $this->CheckColumn("bonuspunkte","int(11)","angebot_position"); - $this->CheckColumn("mlmdirektpraemie","DECIMAL(10,2)","angebot_position"); - - $this->CheckColumn("punkte","int(11)","auftrag_position"); - $this->CheckColumn("bonuspunkte","int(11)","auftrag_position"); - $this->CheckColumn("mlmdirektpraemie","DECIMAL(10,2)","auftrag_position"); - - $this->CheckColumn("keinrabatterlaubt","int(1)","angebot_position"); - $this->CheckColumn("keinrabatterlaubt","int(1)","auftrag_position"); - $this->CheckColumn("keinrabatterlaubt","int(1)","rechnung_position"); - $this->CheckColumn("keinrabatterlaubt","int(1)","gutschrift_position"); - - $this->CheckColumn("kostenstelle","varchar(10)","angebot_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("kostenstelle","varchar(10)","auftrag_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("kostenstelle","varchar(10)","rechnung_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("kostenstelle","varchar(10)","gutschrift_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("kostenstelle","varchar(10)","proformarechnung_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("kostenstelle","varchar(10)","bestellung_position","DEFAULT '' NOT NULL"); - - $this->CheckColumn("punkte","int(11)","rechnung"); - $this->CheckColumn("bonuspunkte","int(11)","rechnung"); - $this->CheckColumn("provdatum","DATE","rechnung"); - - $this->CheckColumn("ihrebestellnummer","varchar(255)","rechnung"); - $this->CheckColumn("ihrebestellnummer","varchar(255)","lieferschein"); - $this->CheckColumn("ihrebestellnummer","varchar(255)","auftrag"); - $this->CheckColumn("ihrebestellnummer","varchar(255)","gutschrift"); - - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("anschreiben","varchar(255)","anfrage"); - - if($this->ModulVorhanden("proformarechnung")) - $this->CheckColumn("anschreiben","varchar(255)","proformarechnung"); - - $this->CheckTable("shopexport_artikel"); - $this->CheckColumn("id","int(11)","shopexport_artikel","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shopid","int(11)","shopexport_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikel","int(11)","shopexport_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("name","varchar(255)","shopexport_artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("wert","text","shopexport_artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("bearbeiter","varchar(255)","shopexport_artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel","timestamp","shopexport_artikel","DEFAULT CURRENT_TIMESTAMP"); - - $this->CheckColumn("anschreiben","varchar(255)","angebot"); - $this->CheckColumn("anschreiben","varchar(255)","auftrag"); - $this->CheckColumn("anschreiben","varchar(255)","rechnung"); - $this->CheckColumn("anschreiben","varchar(255)","lieferschein"); - $this->CheckColumn("anschreiben","varchar(255)","gutschrift"); - $this->CheckColumn("anschreiben","varchar(255)","bestellung"); - - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("projektfiliale","int(11)","anfrage","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("projektfiliale","int(11)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("projektfiliale","int(11)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("projektfiliale","int(11)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("projektfiliale","int(11)","lieferschein","DEFAULT '0' NOT NULL"); - $this->CheckColumn("projektfiliale","int(11)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("projektfiliale","int(11)","bestellung","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("projektfiliale_eingelagert","tinyint(1)","lieferschein","DEFAULT '0' NOT NULL"); - - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("usereditid","int(11)","anfrage"); - - if($this->ModulVorhanden("proformarechnung")) - $this->CheckColumn("usereditid","int(11)","proformarechnung"); - - - $this->CheckColumn("usereditid","int(11)","angebot"); - $this->CheckColumn("usereditid","int(11)","auftrag"); - $this->CheckColumn("usereditid","int(11)","rechnung"); - $this->CheckColumn("usereditid","int(11)","lieferschein"); - $this->CheckColumn("usereditid","int(11)","gutschrift"); - $this->CheckColumn("usereditid","int(11)","bestellung"); - - $this->CheckColumn("usereditid","int(11)","artikel"); - $this->CheckColumn("usereditid","int(11)","adresse"); - - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("useredittimestamp","timestamp","anfrage"); - - if($this->ModulVorhanden("proformarechnung")) - $this->CheckColumn("useredittimestamp","timestamp","proformarechnung"); - - $this->CheckColumn("useredittimestamp","timestamp","angebot"); - $this->CheckColumn("useredittimestamp","timestamp","auftrag"); - $this->CheckColumn("useredittimestamp","timestamp","rechnung"); - $this->CheckColumn("useredittimestamp","timestamp","lieferschein"); - $this->CheckColumn("useredittimestamp","timestamp","gutschrift"); - $this->CheckColumn("useredittimestamp","timestamp","bestellung"); - - $this->CheckColumn("useredittimestamp","timestamp","artikel"); - $this->CheckColumn("useredittimestamp","timestamp","adresse"); - - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("realrabatt","DECIMAL(10,2)","anfrage"); - - $this->CheckColumn("realrabatt","DECIMAL(10,2)","angebot"); - $this->CheckColumn("realrabatt","DECIMAL(10,2)","auftrag"); - $this->CheckColumn("realrabatt","DECIMAL(10,2)","rechnung"); - $this->CheckColumn("realrabatt","DECIMAL(10,2)","gutschrift"); - - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("rabatt","DECIMAL(10,2)","anfrage"); - - $this->CheckColumn("rabatt","DECIMAL(10,2)","angebot"); - $this->CheckColumn("rabatt","DECIMAL(10,2)","auftrag"); - $this->CheckColumn("rabatt","DECIMAL(10,2)","rechnung"); - $this->CheckColumn("rabatt","DECIMAL(10,2)","gutschrift"); - $this->CheckColumn("rabatt","DECIMAL(10,2)","adresse"); - $this->CheckColumn("provision","DECIMAL(10,2)","adresse"); - $this->CheckColumn("rabattinformation","TEXT","adresse"); - - $this->CheckColumn("einzugsdatum","DATE","auftrag"); - $this->CheckColumn("einzugsdatum","DATE","rechnung"); - - $this->CheckColumn("grundrabatt","DECIMAL(10,2)","anfrage_position"); - $this->CheckColumn("grundrabatt","DECIMAL(10,2)","angebot_position"); - $this->CheckColumn("grundrabatt","DECIMAL(10,2)","auftrag_position"); - $this->CheckColumn("grundrabatt","DECIMAL(10,2)","rechnung_position"); - $this->CheckColumn("grundrabatt","DECIMAL(10,2)","gutschrift_position"); - - $this->CheckColumn("steuersatz","DECIMAL(5,2)","anfrage_position"); - $this->CheckColumn("steuersatz","DECIMAL(5,2)","angebot_position"); - $this->CheckColumn("steuersatz","DECIMAL(5,2)","auftrag_position"); - $this->CheckColumn("steuersatz","DECIMAL(5,2)","rechnung_position"); - $this->CheckColumn("steuersatz","DECIMAL(5,2)","proformarechnung_position"); - $this->CheckColumn("steuersatz","DECIMAL(5,2)","gutschrift_position"); - $this->CheckColumn("steuersatz","DECIMAL(5,2)","bestellung_position"); - $this->CheckColumn("steuersatz","DECIMAL(5,2)","produktion_position"); - - $this->CheckColumn("steuertext","VARCHAR(1024)","anfrage_position"); - $this->CheckColumn("steuertext","VARCHAR(1024)","angebot_position"); - $this->CheckColumn("steuertext","VARCHAR(1024)","auftrag_position"); - $this->CheckColumn("steuertext","VARCHAR(1024)","rechnung_position"); - $this->CheckColumn("steuertext","VARCHAR(1024)","gutschrift_position"); - $this->CheckColumn("steuertext","VARCHAR(1024)","bestellung_position"); - $this->CheckColumn("steuertext","VARCHAR(1024)","produktion_position"); - $this->CheckColumn("steuertext","VARCHAR(1024)","proformarechnung_position"); - $this->CheckColumn("erloese","VARCHAR(8)","anfrage_position"); - $this->CheckColumn("erloese","VARCHAR(8)","angebot_position"); - $this->CheckColumn("erloese","VARCHAR(8)","auftrag_position"); - $this->CheckColumn("erloese","VARCHAR(8)","rechnung_position"); - $this->CheckColumn("erloese","VARCHAR(8)","gutschrift_position"); - $this->CheckColumn("erloese","VARCHAR(8)","bestellung_position"); - $this->CheckColumn("erloese","VARCHAR(8)","produktion_position"); - $this->CheckColumn("erloese","VARCHAR(8)","proformarechnung_position"); - - $this->CheckColumn("erloesefestschreiben","TINYINT(1)","anfrage_position","NOT NULL DEFAULT '0'"); - $this->CheckColumn("erloesefestschreiben","TINYINT(1)","angebot_position","NOT NULL DEFAULT '0'"); - $this->CheckColumn("erloesefestschreiben","TINYINT(1)","auftrag_position","NOT NULL DEFAULT '0'"); - $this->CheckColumn("erloesefestschreiben","TINYINT(1)","rechnung_position","NOT NULL DEFAULT '0'"); - $this->CheckColumn("erloesefestschreiben","TINYINT(1)","gutschrift_position","NOT NULL DEFAULT '0'"); - $this->CheckColumn("erloesefestschreiben","TINYINT(1)","bestellung_position","NOT NULL DEFAULT '0'"); - $this->CheckColumn("erloesefestschreiben","TINYINT(1)","produktion_position","NOT NULL DEFAULT '0'"); - $this->CheckColumn("erloesefestschreiben","TINYINT(1)","proformarechnung_position","NOT NULL DEFAULT '0'"); - - $this->CheckColumn("steuersatz","DECIMAL(5,2)","artikel"); - $this->CheckColumn("steuertext_innergemeinschaftlich","varchar(1024)","artikel"); - $this->CheckColumn("steuertext_export","varchar(1024)","artikel"); - - $this->CheckColumn("rabattsync","INT(1)","anfrage_position"); - $this->CheckColumn("rabattsync","INT(1)","angebot_position"); - $this->CheckColumn("rabattsync","INT(1)","auftrag_position"); - $this->CheckColumn("rabattsync","INT(1)","rechnung_position"); - $this->CheckColumn("rabattsync","INT(1)","gutschrift_position"); - - - $this->CheckColumn("einkaufspreiswaehrung","VARCHAR(8)","angebot_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("einkaufspreiswaehrung","VARCHAR(8)","auftrag_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("einkaufspreiswaehrung","VARCHAR(8)","rechnung_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("einkaufspreiswaehrung","VARCHAR(8)","gutschrift_position", "DEFAULT '' NOT NULL"); - - $this->CheckColumn("einkaufspreis","decimal(18,8)","angebot_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("einkaufspreis","decimal(18,8)","auftrag_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("einkaufspreis","decimal(18,8)","rechnung_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("einkaufspreis","decimal(18,8)","gutschrift_position", "DEFAULT '0' NOT NULL"); - - $this->CheckColumn("einkaufspreisurspruenglich","decimal(18,8)","angebot_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("einkaufspreisurspruenglich","decimal(18,8)","auftrag_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("einkaufspreisurspruenglich","decimal(18,8)","rechnung_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("einkaufspreisurspruenglich","decimal(18,8)","gutschrift_position", "DEFAULT '0' NOT NULL"); - - $this->CheckColumn("einkaufspreisid","int(11)","angebot_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("einkaufspreisid","int(11)","auftrag_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("einkaufspreisid","int(11)","rechnung_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("einkaufspreisid","int(11)","gutschrift_position", "DEFAULT '0' NOT NULL"); - - $this->CheckColumn("kurs","decimal(18,8)","angebot", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("kurs","decimal(18,8)","auftrag", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("kurs","decimal(18,8)","rechnung", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("kurs","decimal(18,8)","gutschrift", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("kurs","decimal(18,8)","verbindlichkeit", "DEFAULT '0' NOT NULL"); - - $this->CheckColumn("ekwaehrung","VARCHAR(8)","angebot_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("ekwaehrung","VARCHAR(8)","auftrag_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("ekwaehrung","VARCHAR(8)","rechnung_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("ekwaehrung","VARCHAR(8)","gutschrift_position", "DEFAULT '' NOT NULL"); - - $this->CheckColumn("deckungsbeitrag","decimal(18,8)","angebot_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("deckungsbeitrag","decimal(18,8)","auftrag_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("deckungsbeitrag","decimal(18,8)","rechnung_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("deckungsbeitrag","decimal(18,8)","gutschrift_position", "DEFAULT '0' NOT NULL"); - - for($ij=1;$ij<=15;$ij++) - { - $this->CheckColumn("bestellung$ij","INT(1)","verbindlichkeit","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bestellung".$ij."betrag","DECIMAL(10,2)","verbindlichkeit","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bestellung".$ij."bemerkung","VARCHAR(255)","verbindlichkeit","DEFAULT '' NOT NULL"); - } - - for($ij=1;$ij<=5;$ij++) - { - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","anfrage"); - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","angebot"); - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","auftrag"); - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","rechnung"); - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","adresse"); - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","gutschrift"); - - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","anfrage_position"); - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","angebot_position"); - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","auftrag_position"); - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","rechnung_position"); - $this->CheckColumn("rabatt$ij","DECIMAL(10,2)","gutschrift_position"); - } - - $tmp = array('anfrage_position','angebot_position','rechnung_position','auftrag_position','gutschrift_position','proformarechnung_position','preisanfrage_position','bestellung_position','lieferschein_position','produktion_position'); - for($ij=1;$ij<=40;$ij++) - { - foreach($tmp as $tmptable) - { - $this->CheckColumn("freifeld$ij","TEXT",$tmptable); - } - } - $this->CheckColumn("formelmenge","VARCHAR(255)","artikel", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelpreis","VARCHAR(255)","artikel", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelmenge","VARCHAR(255)","angebot_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelmenge","VARCHAR(255)","auftrag_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelmenge","VARCHAR(255)","rechnung_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelmenge","VARCHAR(255)","proformarechnung_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelmenge","VARCHAR(255)","proformarechnung", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelmenge","VARCHAR(255)","gutschrift_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelpreis","VARCHAR(255)","angebot_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelpreis","VARCHAR(255)","auftrag_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelpreis","VARCHAR(255)","rechnung_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelpreis","VARCHAR(255)","gutschrift_position", "DEFAULT '' NOT NULL"); - $this->CheckColumn("formelpreis","VARCHAR(255)","proformarechnung_position", "DEFAULT '' NOT NULL"); - - $this->CheckColumn("shop","int(11)","auftrag","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("forderungsverlust_datum","DATE","rechnung"); - $this->CheckColumn("forderungsverlust_betrag","DECIMAL(10,2)","rechnung"); - - $this->CheckColumn("steuersatz_normal","DECIMAL(10,2)","rechnung","DEFAULT '19.0' NOT NULL"); - $this->CheckColumn("steuersatz_zwischen","DECIMAL(10,2)","rechnung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_ermaessigt","DECIMAL(10,2)","rechnung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_starkermaessigt","DECIMAL(10,2)","rechnung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_dienstleistung","DECIMAL(10,2)","rechnung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("waehrung","VARCHAR(255)","rechnung","DEFAULT 'EUR' NOT NULL"); - $this->CheckColumn("waehrung","VARCHAR(3)","verbindlichkeit","DEFAULT 'EUR' NOT NULL"); - - $this->CheckColumn("steuersatz_normal","DECIMAL(10,2)","angebot","DEFAULT '19.0' NOT NULL"); - $this->CheckColumn("steuersatz_zwischen","DECIMAL(10,2)","angebot","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_ermaessigt","DECIMAL(10,2)","angebot","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_starkermaessigt","DECIMAL(10,2)","angebot","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_dienstleistung","DECIMAL(10,2)","angebot","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("waehrung","VARCHAR(255)","angebot","DEFAULT 'EUR' NOT NULL"); - - $this->CheckColumn("steuersatz_normal","DECIMAL(10,2)","auftrag","DEFAULT '19.0' NOT NULL"); - $this->CheckColumn("steuersatz_zwischen","DECIMAL(10,2)","auftrag","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_ermaessigt","DECIMAL(10,2)","auftrag","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_starkermaessigt","DECIMAL(10,2)","auftrag","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_dienstleistung","DECIMAL(10,2)","auftrag","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("waehrung","VARCHAR(255)","auftrag","DEFAULT 'EUR' NOT NULL"); - - $this->CheckColumn("steuersatz_normal","DECIMAL(10,2)","gutschrift","DEFAULT '19.0' NOT NULL"); - $this->CheckColumn("steuersatz_zwischen","DECIMAL(10,2)","gutschrift","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_ermaessigt","DECIMAL(10,2)","gutschrift","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_starkermaessigt","DECIMAL(10,2)","gutschrift","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_dienstleistung","DECIMAL(10,2)","gutschrift","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("waehrung","VARCHAR(255)","gutschrift","DEFAULT 'EUR' NOT NULL"); - - $this->CheckColumn("steuersatz_normal","DECIMAL(10,2)","bestellung","DEFAULT '19.0' NOT NULL"); - $this->CheckColumn("steuersatz_zwischen","DECIMAL(10,2)","bestellung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_ermaessigt","DECIMAL(10,2)","bestellung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_starkermaessigt","DECIMAL(10,2)","bestellung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_dienstleistung","DECIMAL(10,2)","bestellung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("waehrung","VARCHAR(255)","bestellung","DEFAULT 'EUR' NOT NULL"); - - - if($this->ModulVorhanden("anfrage")) - { - $this->CheckColumn("steuersatz_normal","DECIMAL(10,2)","anfrage","DEFAULT '19.0' NOT NULL"); - $this->CheckColumn("steuersatz_zwischen","DECIMAL(10,2)","anfrage","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_ermaessigt","DECIMAL(10,2)","anfrage","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_starkermaessigt","DECIMAL(10,2)","anfrage","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_dienstleistung","DECIMAL(10,2)","anfrage","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("waehrung","VARCHAR(255)","anfrage","DEFAULT 'EUR' NOT NULL"); - } - - if($this->ModulVorhanden("proformarechnung")) - { - $this->CheckColumn("steuersatz_normal","DECIMAL(10,2)","proformarechnung","DEFAULT '19.0' NOT NULL"); - $this->CheckColumn("steuersatz_zwischen","DECIMAL(10,2)","proformarechnung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_ermaessigt","DECIMAL(10,2)","proformarechnung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_starkermaessigt","DECIMAL(10,2)","proformarechnung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_dienstleistung","DECIMAL(10,2)","proformarechnung","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("waehrung","VARCHAR(255)","proformarechnung","DEFAULT 'EUR' NOT NULL"); - } - - $this->CheckColumn("breite_position","INT(11)","firmendaten","DEFAULT '10' NOT NULL"); - $this->CheckColumn("breite_menge","INT(11)","firmendaten","DEFAULT '10' NOT NULL"); - $this->CheckColumn("breite_nummer","INT(11)","firmendaten","DEFAULT '20' NOT NULL"); - $this->CheckColumn("breite_einheit","INT(11)","firmendaten","DEFAULT '15' NOT NULL"); - - $this->CheckColumn("barcode_x_header","INT(11)","firmendaten","DEFAULT '12' NOT NULL"); - $this->CheckColumn("barcode_x","INT(11)","firmendaten","DEFAULT '12' NOT NULL"); - $this->CheckColumn("barcode_y_header","INT(11)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("barcode_y","INT(11)","firmendaten","DEFAULT '265' NOT NULL"); - - $this->CheckColumn("briefhtml","tinyint(1)","firmendaten","DEFAULT '1' NOT NULL"); - $this->CheckColumn("seite_von_ausrichtung_relativ","tinyint(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("absenderunterstrichen","tinyint(1)","firmendaten","DEFAULT '1' NOT NULL"); - $this->CheckColumn("schriftgroesseabsender","INT(11)","firmendaten","DEFAULT '7' NOT NULL"); - $this->CheckColumn("abstand_seiten_unten","INT(11)","firmendaten","DEFAULT '34' NOT NULL"); - $this->CheckColumn("datatables_export_button_flash","tinyint(1)","firmendaten","DEFAULT '1' NOT NULL"); - $this->CheckColumn("land","VARCHAR(2)","firmendaten","DEFAULT 'DE' NOT NULL"); - $this->CheckColumn("modul_finanzbuchhaltung","TINYINT(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("testmailempfaenger","VARCHAR(128)","firmendaten","DEFAULT '' NOT NULL"); - - $this->CheckColumn("mailgrussformel","VARCHAR(1024)","firmendaten","DEFAULT '\r\n\r\n\r\nFür Rückfragen stehe ich Ihnen gerne zur Verfügung.\r\n\r\nMit freundlichen Grüßen\r\n{MITARBEITER}' NOT NULL"); - $this->CheckColumn("email_html_template","TEXT","firmendaten","DEFAULT '' NOT NULL"); - - $this->CheckColumn("geburtstagekalender","tinyint(1)","firmendaten","DEFAULT '1' NOT NULL"); - - $this->CheckColumn("skonto_ueberweisung_ueberziehen","INT(11)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("steuersatz_normal","DECIMAL(10,2)","firmendaten","DEFAULT '19.0' NOT NULL"); - $this->CheckColumn("steuersatz_zwischen","DECIMAL(10,2)","firmendaten","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_ermaessigt","DECIMAL(10,2)","firmendaten","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_starkermaessigt","DECIMAL(10,2)","firmendaten","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_dienstleistung","DECIMAL(10,2)","firmendaten","DEFAULT '7.0' NOT NULL"); - - $this->CheckColumn("steuersatz_normal","DECIMAL(10,2)","projekt","DEFAULT '19.0' NOT NULL"); - $this->CheckColumn("steuersatz_zwischen","DECIMAL(10,2)","projekt","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_ermaessigt","DECIMAL(10,2)","projekt","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_starkermaessigt","DECIMAL(10,2)","projekt","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("steuersatz_dienstleistung","DECIMAL(10,2)","projekt","DEFAULT '7.0' NOT NULL"); - $this->CheckColumn("waehrung","VARCHAR(3)","projekt","DEFAULT 'EUR' NOT NULL"); - $this->CheckColumn("land","VARCHAR(2)","projekt","DEFAULT 'DE' NOT NULL"); - $this->CheckColumn("eigenesteuer","INT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("mahnwesen","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("mahnwesen_abweichender_versender","VARCHAR(40)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("lagerplatzlieferscheinausblenden","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("druckerlogistikstufe1","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("druckerlogistikstufe2","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("etiketten_positionen","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("etiketten_drucker","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("etiketten_art","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("etiketten_sort","TINYINT(2)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("selbstabholermail","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("eanherstellerscan","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("eanherstellerscanerlauben","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("seriennummernerfassen","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("chargenerfassen","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("mhderfassen","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - - $this->CheckColumn("versandzweigeteilt","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("nachnahmecheck","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_lieferschein_anlegen","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_lagerprozess","VARCHAR(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("kasse_belegausgabe","VARCHAR(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("kasse_preisgruppe","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("status","VARCHAR(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("autodruckrechnungstufe1","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autodruckrechnungstufe1menge","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("autodruckrechnungstufe1mail","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autodruckkommissionierscheinstufe1","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autodruckkommissionierscheinstufe1menge","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - - $this->CheckColumn("kasse_text_bemerkung","VARCHAR(64)","projekt","DEFAULT 'Interne Bemerkung' NOT NULL"); - $this->CheckColumn("kasse_text_freitext","VARCHAR(64)","projekt","DEFAULT 'Text auf Beleg' NOT NULL"); - $this->CheckColumn("kasse_drucker","INT(11)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("kasse_bondrucker","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_bondrucker_aktiv","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_bondrucker_freifeld","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_bondrucker_qrcode","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_bondrucker_anzahl","INT(11)","projekt","DEFAULT '1' NOT NULL"); - - $this->CheckColumn("kasse_rksv_aktiv","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_rksv_tool","VARCHAR(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("kasse_rksv_kartenleser","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("kasse_rksv_karteseriennummer","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("kasse_rksv_kartepin","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("kasse_rksv_aeskey","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("kasse_rksv_publiczertifikat","TEXT","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("kasse_rksv_publiczertifikatkette","TEXT","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("kasse_rksv_kassenid","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - - $this->CheckColumn("kasse_bon_zeile1","VARCHAR(64)","projekt","DEFAULT 'Xentral Store' NOT NULL"); - $this->CheckColumn("kasse_bon_zeile2","VARCHAR(2048)","projekt","DEFAULT 'Xentral GmbH\r\nHolzbachstrasse 4\r\n86152 Augsburg\r\nTel: 0821/26841041\r\nwww.xentral.com' NOT NULL"); - $this->CheckColumn("kasse_bon_zeile3","VARCHAR(2048)","projekt","DEFAULT 'Vielen Dank fuer Ihren Einkauf!\r\nUmtausch innerhalb 8 Tagen\r\ngegen Vorlage des Kassenbons\r\nUST.-IDNr: 123456789' NOT NULL"); - $this->CheckColumn("kasse_lieferschein","INT(11)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_rechnung","INT(11)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_gutschrift","INT(11)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_lieferschein_doppel","INT(11)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_lager","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_konto","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_laufkundschaft","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_rabatt_artikel","INT(11)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("kasse_zahlung_bar","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_zahlung_bar_bezahlt","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_zahlung_ec","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_zahlung_ec_bezahlt","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_zahlung_kreditkarte","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_zahlung_kreditkarte_bezahlt","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_zahlung_ueberweisung","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_zahlung_ueberweisung_bezahlt","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_zahlung_paypal","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_zahlung_paypal_bezahlt","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("kasse_extra_keinbeleg","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_extra_rechnung","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_extra_quittung","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_extra_gutschein","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_extra_rabatt_prozent","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_extra_rabatt_euro","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_adresse_erweitert","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("kasse_zahlungsauswahl_zwang","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - - $this->CheckColumn("kasse_quittung_rechnung","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_print_qr","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("kasse_button_entnahme","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_button_einlage","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_button_trinkgeld","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_vorauswahl_anrede","varchar(64)","projekt","DEFAULT 'herr' NOT NULL"); - $this->CheckColumn("kasse_erweiterte_lagerabfrage","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("kasse_button_schublade","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("filialadresse","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("versandprojektfiliale","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("differenz_auslieferung_tage","INT(11)","projekt","DEFAULT '2' NOT NULL"); - $this->CheckColumn("autostuecklistenanpassung","INT(11)","projekt","DEFAULT '1' NOT NULL"); - - //Schnellproduktion - $this->CheckColumn("produktionauftragautomatischfreigeben","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("versandlagerplatzanzeigen","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("versandartikelnameausstammdaten","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("rechnungerzeugen","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("pos_artikeltexteuebernehmen","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pos_anzeigenetto","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pos_zwischenspeichern","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_button_belegladen","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kasse_button_storno","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("pos_kundenalleprojekte","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pos_artikelnurausprojekt","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `pos_sumarticles` `pos_sumarticles` TINYINT(1) NOT NULL DEFAULT '0'"); - $this->CheckColumn("allechargenmhd","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("anzeigesteuerbelege","int(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("anzeigesteuerbelege","int(11)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pos_grosseansicht","tinyint(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("preisberechnung","int(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("steuernummer","varchar(32)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("paketmarkeautodrucken","TINYINT(1)","projekt","DEFAULT 0 NOT NULL"); - $this->CheckColumn('orderpicking_sort','varchar(26)','projekt',"DEFAULT '' NOT NULL"); - $this->CheckColumn('deactivateautoshipping','TINYINT(1)','projekt','DEFAULT 0 NOT NULL'); - $this->CheckColumn('pos_sumarticles','TINYINT(1)','projekt','DEFAULT 1 NOT NULL'); - $this->CheckColumn('manualtracking','TINYINT(1)','projekt','DEFAULT 0 NOT NULL'); - - $this->CheckColumn("kleinunternehmer","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("mahnwesenmitkontoabgleich","int(1)","firmendaten","DEFAULT '1' NOT NULL"); - $this->CheckColumn("porto_berechnen","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("immernettorechnungen","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("immerbruttorechnungen","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("schnellanlegen","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bestellvorschlaggroessernull","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("versand_gelesen","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("versandart","varchar(64)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("zahlungsweise","varchar(64)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("zahlung_lastschrift_konditionen","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("breite_artikelbeschreibung","tinyint(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("devicekey","varchar(255)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("deviceserials","TEXT","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("deviceenable","tinyint(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("sepaglaeubigerid","varchar(64)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("viernachkommastellen_belege","tinyint(1)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("etikettendrucker_wareneingang","int(11)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("waehrung","VARCHAR(255)","firmendaten","DEFAULT 'EUR' NOT NULL"); - $this->CheckColumn("footer_breite1","int(11)","firmendaten","DEFAULT '50' NOT NULL"); - $this->CheckColumn("footer_breite2","int(11)","firmendaten","DEFAULT '35' NOT NULL"); - $this->CheckColumn("footer_breite3","int(11)","firmendaten","DEFAULT '60' NOT NULL"); - $this->CheckColumn("footer_breite4","int(11)","firmendaten","DEFAULT '40' NOT NULL"); - $this->CheckColumn("footer_breite4","int(11)","firmendaten","DEFAULT '40' NOT NULL"); - $this->CheckColumn("boxausrichtung","VARCHAR(255)","firmendaten","DEFAULT 'R' NOT NULL"); - $this->CheckColumn("lizenz","TEXT","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("schluessel","TEXT","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("branch","VARCHAR(255)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("version","VARCHAR(255)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("standard_datensaetze_datatables","int(11)","firmendaten","DEFAULT '10' NOT NULL"); - $this->CheckColumn("auftrag_bezeichnung_vertrieb","VARCHAR(64)","firmendaten","DEFAULT 'Vertrieb' NOT NULL"); - $this->CheckColumn("auftrag_bezeichnung_bearbeiter","VARCHAR(64)","firmendaten","DEFAULT 'Bearbeiter' NOT NULL"); - $this->CheckColumn("auftrag_bezeichnung_bestellnummer","VARCHAR(64)","firmendaten","DEFAULT 'Ihre Bestellnummer' NOT NULL"); - $this->CheckColumn("bezeichnungkundennummer","VARCHAR(64)","firmendaten","DEFAULT 'Kundennummer' NOT NULL"); - $this->CheckColumn("bezeichnungstornorechnung","VARCHAR(64)","firmendaten","DEFAULT 'Stornorechnung' NOT NULL"); - $this->CheckColumn("bezeichnungangebotersatz","VARCHAR(64)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("bezeichnungauftragersatz","VARCHAR(64)","firmendaten","DEFAULT 'Proformarechnung' NOT NULL"); - $this->CheckColumn("bezeichnungrechnungersatz","VARCHAR(64)","firmendaten","DEFAULT 'Quittung' NOT NULL"); - $this->CheckColumn("bestellungohnepreis","tinyint(1)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("rechnung_gutschrift_ansprechpartner","int(1)","firmendaten","DEFAULT '1' NOT NULL"); - $this->CheckColumn("stornorechnung_standard","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("angebotersatz_standard","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("api_initkey","VARCHAR(1024)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("api_remotedomain","VARCHAR(1024)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("api_eventurl","VARCHAR(1024)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("api_enable","INT(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("api_cleanutf8","tinyint(1)","firmendaten","DEFAULT '1' NOT NULL"); - $this->CheckColumn("api_importwarteschlange","INT(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("api_importwarteschlange_name","VARCHAR(255)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("wareneingang_zwischenlager","INT(1)","firmendaten","DEFAULT '1' NOT NULL"); - - $this->CheckColumn("modul_mlm","INT(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("modul_verband","INT(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("modul_mhd","INT(1)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("modul_verein","INT(1)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("mhd_warnung_tage","int(11)","firmendaten","DEFAULT '3' NOT NULL"); - - $this->CheckColumn("mlm_mindestbetrag","DECIMAL(10,2)","firmendaten","DEFAULT '50.0' NOT NULL"); - $this->CheckColumn("mlm_anzahlmonate","int(11)","firmendaten","DEFAULT '11' NOT NULL"); - $this->CheckColumn("mlm_letzter_tag","DATE","firmendaten",""); - $this->CheckColumn("mlm_erster_tag","DATE","firmendaten",""); - $this->CheckColumn("mlm_letzte_berechnung","DATETIME","firmendaten",""); - - $this->CheckColumn("mlm_01","DECIMAL(10,2)","firmendaten","DEFAULT '15' NOT NULL"); - $this->CheckColumn("mlm_02","DECIMAL(10,2)","firmendaten","DEFAULT '20' NOT NULL"); - $this->CheckColumn("mlm_03","DECIMAL(10,2)","firmendaten","DEFAULT '28' NOT NULL"); - $this->CheckColumn("mlm_04","DECIMAL(10,2)","firmendaten","DEFAULT '32' NOT NULL"); - $this->CheckColumn("mlm_05","DECIMAL(10,2)","firmendaten","DEFAULT '36' NOT NULL"); - $this->CheckColumn("mlm_06","DECIMAL(10,2)","firmendaten","DEFAULT '40' NOT NULL"); - $this->CheckColumn("mlm_07","DECIMAL(10,2)","firmendaten","DEFAULT '44' NOT NULL"); - $this->CheckColumn("mlm_08","DECIMAL(10,2)","firmendaten","DEFAULT '44' NOT NULL"); - $this->CheckColumn("mlm_09","DECIMAL(10,2)","firmendaten","DEFAULT '44' NOT NULL"); - $this->CheckColumn("mlm_10","DECIMAL(10,2)","firmendaten","DEFAULT '44' NOT NULL"); - $this->CheckColumn("mlm_11","DECIMAL(10,2)","firmendaten","DEFAULT '50' NOT NULL"); - $this->CheckColumn("mlm_12","DECIMAL(10,2)","firmendaten","DEFAULT '54' NOT NULL"); - $this->CheckColumn("mlm_13","DECIMAL(10,2)","firmendaten","DEFAULT '45' NOT NULL"); - $this->CheckColumn("mlm_14","DECIMAL(10,2)","firmendaten","DEFAULT '48' NOT NULL"); - $this->CheckColumn("mlm_15","DECIMAL(10,2)","firmendaten","DEFAULT '60' NOT NULL"); - - $this->CheckColumn("mlm_01_punkte","int(11)","firmendaten","DEFAULT '2999' NOT NULL"); - $this->CheckColumn("mlm_02_punkte","int(11)","firmendaten","DEFAULT '3000' NOT NULL"); - $this->CheckColumn("mlm_03_punkte","int(11)","firmendaten","DEFAULT '5000' NOT NULL"); - $this->CheckColumn("mlm_04_punkte","int(11)","firmendaten","DEFAULT '10000' NOT NULL"); - $this->CheckColumn("mlm_05_punkte","int(11)","firmendaten","DEFAULT '15000' NOT NULL"); - $this->CheckColumn("mlm_06_punkte","int(11)","firmendaten","DEFAULT '25000' NOT NULL"); - $this->CheckColumn("mlm_07_punkte","int(11)","firmendaten","DEFAULT '50000' NOT NULL"); - $this->CheckColumn("mlm_08_punkte","int(11)","firmendaten","DEFAULT '100000' NOT NULL"); - $this->CheckColumn("mlm_09_punkte","int(11)","firmendaten","DEFAULT '150000' NOT NULL"); - $this->CheckColumn("mlm_10_punkte","int(11)","firmendaten","DEFAULT '200000' NOT NULL"); - $this->CheckColumn("mlm_11_punkte","int(11)","firmendaten","DEFAULT '250000' NOT NULL"); - $this->CheckColumn("mlm_12_punkte","int(11)","firmendaten","DEFAULT '300000' NOT NULL"); - $this->CheckColumn("mlm_13_punkte","int(11)","firmendaten","DEFAULT '350000' NOT NULL"); - $this->CheckColumn("mlm_14_punkte","int(11)","firmendaten","DEFAULT '400000' NOT NULL"); - $this->CheckColumn("mlm_15_punkte","int(11)","firmendaten","DEFAULT '450000' NOT NULL"); - - $this->CheckColumn("mlm_01_mindestumsatz","int(11)","firmendaten","DEFAULT '50' NOT NULL"); - $this->CheckColumn("mlm_02_mindestumsatz","int(11)","firmendaten","DEFAULT '50' NOT NULL"); - $this->CheckColumn("mlm_03_mindestumsatz","int(11)","firmendaten","DEFAULT '50' NOT NULL"); - $this->CheckColumn("mlm_04_mindestumsatz","int(11)","firmendaten","DEFAULT '50' NOT NULL"); - $this->CheckColumn("mlm_05_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - $this->CheckColumn("mlm_06_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - $this->CheckColumn("mlm_07_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - $this->CheckColumn("mlm_08_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - $this->CheckColumn("mlm_09_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - $this->CheckColumn("mlm_10_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - $this->CheckColumn("mlm_11_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - $this->CheckColumn("mlm_12_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - $this->CheckColumn("mlm_13_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - $this->CheckColumn("mlm_14_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - $this->CheckColumn("mlm_15_mindestumsatz","int(11)","firmendaten","DEFAULT '100' NOT NULL"); - - $this->CheckColumn("standardaufloesung","int(11)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("standardversanddrucker","int(11)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("standardetikettendrucker","int(11)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("keinsteuersatz","int(1)","auftrag"); - $this->CheckColumn("keinsteuersatz","int(1)","rechnung"); - $this->CheckColumn("keinsteuersatz","int(1)","gutschrift"); - - for($i=1;$i<=40;$i++) - $this->CheckColumn("freifeld".$i,"TEXT","artikel","DEFAULT '' NOT NULL"); - - $this->CheckColumn("ursprungsregion","varchar(255)","artikel","DEFAULT '' NOT NULL"); - - $this->CheckColumn("einheit","varchar(255)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("einheit","varchar(255)","angebot_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("einheit","varchar(255)","auftrag_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("einheit","varchar(255)","rechnung_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("einheit","varchar(255)","gutschrift_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("einheit","varchar(255)","lieferschein_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("einheit","varchar(255)","bestellung_position","DEFAULT '' NOT NULL"); - - $this->CheckColumn("bestellungohnepreis","tinyint(1)","bestellung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("preisanfrageid","int(11)","bestellung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferantenretoure","tinyint(1)","lieferschein","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferantenretoureinfo","TEXT","lieferschein","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferant","INT(11)","lieferschein","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("keinerechnung","tinyint(1)","lieferschein","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("lieferantenauftrag","tinyint(1)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferant","INT(11)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferantennummer","varchar(255)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferantkdrnummer","varchar(255)","auftrag","DEFAULT '' NOT NULL"); - $this->CheckIndex('auftrag','lieferantkdrnummer'); - $this->CheckIndex('auftrag','status'); - $this->CheckIndex('bestellung','status'); - - if(!$this->app->erp->GetKonfiguration('lieferantkdrnummer_cached')) - { - $this->app->erp->SetKonfigurationValue('lieferantkdrnummer_cached',1); - $this->app->DB->Update("UPDATE auftrag SET lieferantkdrnummer = ''"); - $this->app->DB->Update(" - UPDATE auftrag a - INNER JOIN adresse adr ON a.lieferant = adr.id - SET a.lieferantkdrnummer = if(adr.lieferantennummer <> '',adr.lieferantennummer,a.lieferantennummer) - WHERE a.lieferantkdrnummer = '' AND a.lieferantenauftrag = 1 - "); - $this->app->DB->Update(" - UPDATE auftrag a - INNER JOIN adresse adr ON a.adresse = adr.id - SET a.lieferantkdrnummer = if(adr.kundennummer <> '', adr.kundennummer,a.kundennummer) - WHERE a.lieferantkdrnummer = '' AND a.lieferantenauftrag = 0 - "); - } - - $this->app->DB->Update(" - UPDATE auftrag a - INNER JOIN adresse adr ON a.lieferant = adr.id - SET a.lieferantkdrnummer = if(a.lieferantennummer <> '',a.lieferantennummer,adr.lieferantennummer) - WHERE a.lieferantkdrnummer = '' AND a.lieferantenauftrag = 1 - "); - $this->app->DB->Update(" - UPDATE auftrag a - INNER JOIN adresse adr ON a.adresse = adr.id - SET a.lieferantkdrnummer = if(a.kundennummer <> '',a.kundennummer, adr.kundennummer) - WHERE a.lieferantkdrnummer = '' AND a.lieferantenauftrag = 0 - "); - - $this->CheckColumn("bestellung_bestaetigt","tinyint(1)","bestellung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bestaetigteslieferdatum","DATE","bestellung"); - $this->CheckColumn("bestellungbestaetigtper","varchar(64)","bestellung","DEFAULT '' NOT NULL"); - $this->CheckColumn("bestellungbestaetigtabnummer","varchar(64)","bestellung","DEFAULT '' NOT NULL"); - $this->CheckColumn("gewuenschteslieferdatum","DATE","bestellung"); - - $this->CheckColumn("optional","int(1)","angebot_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ohnepreis","int(1)","angebot_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("textalternativpreis","VARCHAR(50)","angebot_position","DEFAULT '' NOT NULL"); - - $this->CheckColumn("ohnepreis","int(1)","auftrag_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ohnepreis","int(1)","gutschrift_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ohnepreis","int(1)","rechnung_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("adresse","int(11)","lager_bewegung"); - $this->CheckColumn("bestand","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lager_bewegung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("permanenteinventur","tinyint(1)","lager_bewegung","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("geloescht","int(1)","arbeitspaket"); - $this->CheckColumn("vorgaenger","int(11)","arbeitspaket"); - $this->CheckColumn("kosten_geplant","decimal(10,4)","arbeitspaket"); - $this->CheckColumn("artikel_geplant","int(11)","arbeitspaket"); - $this->CheckColumn("abgerechnet","int(1)","arbeitspaket","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("cache_BE","int(11)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_PR","int(11)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_AN","int(11)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_AB","int(11)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_LS","int(11)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_RE","int(11)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_GS","int(11)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_PF","int(11)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("last_cache","timestamp","arbeitspaket",""); - $this->CheckColumn("aktiv","tinyint(1)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("startdatum","date","arbeitspaket","NOT NULL"); - $this->CheckColumn("farbe","varchar(16)","arbeitspaket","DEFAULT '' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `arbeitspaket` CHANGE `abgabedatum` `abgabedatum` DATE NOT NULL;"); - $this->CheckTable("projekt_artikel"); - $this->CheckColumn("id","int(11)","projekt_artikel","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("projekt","int(11)","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilprojekt","int(11)","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikel","int(11)","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("parent","int(11)","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("sort","int(11)","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("geplant","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_BE","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_PR","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_AN","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_AB","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_LS","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_RE","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_GS","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_WE","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_WA","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_PF","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cache_PRO","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lastcheck","timestamp","projekt_artikel","NOT NULL DEFAULT CURRENT_TIMESTAMP"); - - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `geplant` `geplant` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_BE` `cache_BE` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_PR` `cache_PR` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_AN` `cache_AN` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_AB` `cache_AB` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_LS` `cache_LS` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_RE` `cache_RE` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_GS` `cache_GS` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_WE` `cache_WE` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_WA` `cache_WA` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_PF` `cache_PF` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_artikel` CHANGE `cache_PRO` `cache_PRO` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - - $this->CheckColumn("ek_geplant","DECIMAL(18,8)","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("vk_geplant","DECIMAL(18,8)","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kalkulationbasis","varchar(64)","projekt_artikel","DEFAULT 'prostueck' NOT NULL"); - $this->CheckColumn("nr","varchar(64)","projekt_artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("last_cache","timestamp","projekt_artikel","DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("kommentar","varchar(1024)","projekt_artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("showinmonitoring","tinyint(1)","projekt_artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse_abrechnung","int(11)","zeiterfassung"); - $this->CheckColumn("abrechnen","int(1)","zeiterfassung"); - $this->CheckColumn("ist_abgerechnet","int(1)","zeiterfassung"); - $this->CheckColumn("gebucht_von_user","int(11)","zeiterfassung"); - $this->CheckColumn("ort","varchar(1024)","zeiterfassung"); - $this->CheckColumn("abrechnung_dokument","varchar(1024)","zeiterfassung"); - $this->CheckColumn("dokumentid","int(11)","zeiterfassung"); - $this->CheckColumn("stundensatz","decimal(5,2)","zeiterfassung","DEFAULT '0' NOT NULL"); - - $this->CheckTable("teilprojekt_geplante_zeiten"); - $this->CheckColumn("projekt","int(11)","teilprojekt_geplante_zeiten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilprojekt","int(11)","teilprojekt_geplante_zeiten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse","int(11)","teilprojekt_geplante_zeiten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bezeichnung","varchar(255)","teilprojekt_geplante_zeiten","DEFAULT '' NOT NULL"); - $this->CheckColumn("stundensatz","decimal(5,2)","teilprojekt_geplante_zeiten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("stunden","decimal(8,2)","teilprojekt_geplante_zeiten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("verrechnungsart","varchar(255)","zeiterfassung"); - $this->CheckColumn("arbeitsanweisung","int(11)","zeiterfassung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("serviceauftrag","int(11)","zeiterfassung","DEFAULT '0' NOT NULL"); - $this->CheckColumn('anz_mitarbeiter','INT(11)','zeiterfassung','DEFAULT 1 NOT NULL'); - - $this->CheckColumn("reservierung","int(1)","projekt"); - $this->CheckColumn("verkaufszahlendiagram","int(1)","projekt"); - $this->CheckColumn("oeffentlich","int(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("projektlager","int(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("shopzwangsprojekt","int(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kunde","int(11)","projekt"); - $this->CheckColumn("dpdkundennr","varchar(255)","projekt"); - $this->CheckColumn("dhlkundennr","varchar(255)","projekt"); - $this->CheckColumn("dhlformat","TEXT","projekt"); - $this->CheckColumn("dpdformat","TEXT","projekt"); - $this->CheckColumn("paketmarke_einzeldatei","int(1)","projekt"); - $this->CheckColumn("dpdpfad","varchar(255)","projekt"); - $this->CheckColumn("dpdendung","varchar(64)","projekt","DEFAULT '.csv' NOT NULL"); - $this->CheckColumn("dhlendung","varchar(64)","projekt","DEFAULT '.csv' NOT NULL"); - $this->CheckColumn("dhlpfad","varchar(255)","projekt"); - $this->CheckColumn("upspfad","varchar(255)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("dhlintodb","tinyint(1)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("zahlungsweise","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("zahlungsweiselieferant","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("versandart","varchar(64)","projekt","DEFAULT '' NOT NULL"); - - $this->CheckColumn("tracking_substr_start","INT(11)","projekt","DEFAULT '8' NOT NULL"); - $this->CheckColumn("tracking_remove_kundennummer","tinyint(11)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("tracing_substr_length","tinyint(11)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("go_drucker","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("go_apiurl_prefix","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_apiurl_postfix","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_apiurl_user","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_username","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_password","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_ax4nr","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_name1","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_name2","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_abteilung","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_strasse1","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_strasse2","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_hausnummer","VARCHAR(10)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_plz","VARCHAR(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_ort","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_land","VARCHAR(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("go_standardgewicht","DECIMAL(10,2)","projekt"); - $this->CheckColumn("go_format","VARCHAR(64)","projekt"); - $this->CheckColumn("go_ausgabe","VARCHAR(64)","projekt"); - - $this->CheckColumn("ups_api_user","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_api_password","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_api_key","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_accountnumber","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_company_name","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_street_name","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_street_number","varchar(10)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_zip","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_country","varchar(2)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_city","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_email","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_phone","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_internet","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_contact_person","varchar(128)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("ups_WeightInKG","DECIMAL(10,2)","projekt"); - $this->CheckColumn("ups_LengthInCM","DECIMAL(10,2)","projekt"); - $this->CheckColumn("ups_WidthInCM","DECIMAL(10,2)","projekt"); - $this->CheckColumn("ups_HeightInCM","DECIMAL(10,2)","projekt"); - $this->CheckColumn("ups_drucker","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ups_ausgabe","VARCHAR(64)","projekt","DEFAULT 'GIF' NOT NULL"); - $this->CheckColumn("ups_package_code","VARCHAR(64)","projekt","DEFAULT '02' NOT NULL"); - $this->CheckColumn("ups_package_description","VARCHAR(128)","projekt","DEFAULT 'Customer Supplied' NOT NULL"); - $this->CheckColumn("ups_service_code","VARCHAR(64)","projekt","DEFAULT '11' NOT NULL"); - $this->CheckColumn("ups_service_description","VARCHAR(128)","projekt","DEFAULT 'UPS Standard' NOT NULL"); - - $this->CheckColumn("intraship_enabled","tinyint(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("intraship_drucker","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("intraship_testmode","tinyint(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("intraship_user","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_signature","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_ekp","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_partnerid","varchar(64)","projekt","DEFAULT '01' NOT NULL"); - $this->CheckColumn("intraship_api_user","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_api_password","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_company_name","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_street_name","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_street_number","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_zip","varchar(12)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_country","varchar(64)","projekt","DEFAULT 'germany' NOT NULL"); - $this->CheckColumn("intraship_city","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_email","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_phone","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_internet","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_contact_person","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_account_owner","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_account_number","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_bank_code","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_bank_name","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_iban","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_bic","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("intraship_exportgrund","varchar(64)","projekt","DEFAULT '' NOT NULL"); - - $this->CheckColumn("intraship_WeightInKG","INT(11)","projekt","DEFAULT '5' NOT NULL"); - $this->CheckColumn("intraship_LengthInCM","INT(11)","projekt","DEFAULT '50' NOT NULL"); - $this->CheckColumn("intraship_WidthInCM","INT(11)","projekt","DEFAULT '50' NOT NULL"); - $this->CheckColumn("intraship_HeightInCM","INT(11)","projekt","DEFAULT '50' NOT NULL"); - $this->CheckColumn("intraship_PackageType","VARCHAR(8)","projekt","DEFAULT 'PL' NOT NULL"); - $this->CheckColumn("intraship_retourenlabel","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("intraship_retourenaccount","VARCHAR(16)","projekt","DEFAULT '' NOT NULL"); - - $this->CheckColumn("billsafe_merchantId","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("billsafe_merchantLicenseSandbox","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("billsafe_merchantLicenseLive","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("billsafe_applicationSignature","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("billsafe_applicationVersion","varchar(64)","projekt","DEFAULT '' NOT NULL"); - - $this->CheckColumn("secupay_apikey","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("secupay_url","varchar(64)","projekt","DEFAULT '' NOT NULL"); - $this->CheckColumn("secupay_demo","tinyint(1)","projekt","DEFAULT 0 NOT NULL"); - - $this->CheckColumn("abrechnungsart","varchar(255)","projekt"); - $this->CheckColumn("kommissionierverfahren","varchar(255)","projekt"); - $this->CheckColumn("wechselaufeinstufig","int(11)","projekt"); - $this->CheckColumn("projektuebergreifendkommisionieren","int(1)","projekt"); - $this->CheckColumn("absendeadresse","varchar(255)","projekt"); - $this->CheckColumn("absendename","varchar(255)","projekt"); - $this->CheckColumn("absendesignatur","varchar(255)","projekt"); - $this->CheckColumn("absendegrussformel","varchar(512)","projekt"); - $this->CheckColumn("email_html_template","TEXT","projekt"); - $this->CheckColumn("autodruckrechnung","int(1)","projekt"); - $this->CheckColumn("autodruckversandbestaetigung","int(1)","projekt"); - $this->CheckColumn("automailversandbestaetigung","int(1)","projekt"); - $this->CheckColumn("autodrucklieferschein","int(1)","projekt"); - $this->CheckColumn("automaillieferschein","int(1)","projekt"); - $this->CheckColumn("autodruckstorno","int(1)","projekt"); - $this->CheckColumn("autodruckanhang","int(1)","projekt"); - $this->CheckColumn("druckanhang","int(1)","projekt"); - $this->CheckColumn("automailanhang","int(1)","projekt"); - $this->CheckColumn("mailanhang","int(1)","projekt"); - $this->CheckColumn("autodruckrechnungdoppel","int(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("intraship_partnerid_welt","varchar(64)","projekt","DEFAULT '' NOT NULL"); - - $this->CheckColumn("autodruckerrechnung","int(11)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("autodruckerlieferschein","int(11)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("autodruckeranhang","int(11)","projekt","DEFAULT '1' NOT NULL"); - - $this->CheckColumn("autodruckrechnungmenge","int(11)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("autodrucklieferscheinmenge","int(11)","projekt","DEFAULT '1' NOT NULL"); - - $this->CheckColumn("stornorechnung","int(1)","gutschrift"); - $this->CheckColumn("startseite","int(1)","aufgabe"); - $this->CheckColumn("oeffentlich","int(1)","aufgabe"); - $this->CheckColumn("zeiterfassung_pflicht","tinyint(1)","aufgabe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zeiterfassung_abrechnung","tinyint(1)","aufgabe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("emailerinnerung","int(1)","aufgabe"); - $this->CheckColumn("emailerinnerung_tage","int(11)","aufgabe"); - $this->CheckColumn("kunde","int(11)","aufgabe"); - $this->CheckColumn("teilprojekt","int(11)","aufgabe","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("note_x","int(11)","aufgabe"); - $this->CheckColumn("note_y","int(11)","aufgabe"); - $this->CheckColumn("note_z","int(11)","aufgabe"); - $this->CheckColumn("note_w","int(11)","aufgabe"); - $this->CheckColumn("note_h","int(11)","aufgabe"); - $this->CheckColumn("note_color","VARCHAR(255)","aufgabe"); - $this->CheckColumn("pinwand","int(1)","aufgabe"); - $this->CheckColumn("pinwand_id","int(11)","aufgabe","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("vorankuendigung","int(11)","aufgabe"); - $this->CheckColumn("status","varchar(255)","aufgabe"); - - $this->CheckColumn("sort","int(11)","aufgabe"); - $this->CheckColumn("ansprechpartner_id", "int(11)", "aufgabe", "DEFAULT 0 NOT NULL"); - - $this->CheckColumn("angebotid","int(11)","auftrag"); - $this->CheckColumn("internetseite","text","adresse"); - - $this->CheckAlterTable("ALTER TABLE `angebot_position` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `auftrag_position` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `rechnung_position` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `gutschrift_position` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `lieferschein_position` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `proformarechnung_position` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `preisanfrage_position` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - - if($this->ModulVorhanden("anfrage")) - { - $this->CheckColumn("name","varchar(255)","anfrage"); - $this->CheckColumn("typ","varchar(16)","anfrage"); - $this->CheckColumn("geliefert","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","anfrage_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("vpe","varchar(255)","anfrage_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("einheit","varchar(255)","anfrage_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferdatum","date","anfrage_position"); - $this->CheckColumn("bearbeiterid","int(1)","anfrage","NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `anfrage_position` CHANGE `geliefert` `geliefert` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - } - - if($this->ModulVorhanden("proformarechnung")) - { - $this->CheckColumn("name","varchar(255)","proformarechnung"); - $this->CheckColumn("typ","varchar(16)","proformarechnung"); - $this->CheckColumn("geliefert","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","proformarechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("vpe","varchar(255)","proformarechnung_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("einheit","varchar(255)","proformarechnung_position","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferdatum","date","proformarechnung_position"); - $this->CheckColumn("bearbeiterid","int(1)","proformarechnung","NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `proformarechnung_position` CHANGE `geliefert` `geliefert` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - } - - if($this->ModulVorhanden("anfrage")) - $this->CheckColumn("lieferdatumkw","tinyint(1)","anfrage_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("lieferdatumkw","tinyint(1)","angebot_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferdatumkw","tinyint(1)","auftrag_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferdatumkw","tinyint(1)","rechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferdatumkw","tinyint(1)","gutschrift_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferdatumkw","tinyint(1)","lieferschein_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("lieferdatumkw","tinyint(1)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferdatumkw","tinyint(1)","auftrag","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("auftrag_position_id","INT(11)","lieferschein_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auftrag_position_id","INT(11)","rechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auftrag_position_id","INT(11)","gutschrift_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("kostenlos","tinyint(1)","lieferschein_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lagertext", "varchar(255)", "lieferschein_position", "NOT NULL DEFAULT ''"); - - $this->CheckColumn("zolleinzelwert","DECIMAL(18,8)","auftrag_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zollgesamtwert","DECIMAL(18,8)","auftrag_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zollwaehrung", "varchar(3)", "auftrag_position", "NOT NULL DEFAULT ''"); - $this->CheckColumn("zolleinzelgewicht","DECIMAL(18,8)","auftrag_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zollgesamtgewicht","DECIMAL(18,8)","auftrag_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("zolleinzelwert","DECIMAL(18,8)","lieferschein_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zollgesamtwert","DECIMAL(18,8)","lieferschein_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zollwaehrung", "varchar(3)", "lieferschein_position", "NOT NULL DEFAULT ''"); - $this->CheckColumn("zolleinzelgewicht","DECIMAL(18,8)","lieferschein_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zollgesamtgewicht","DECIMAL(18,8)","lieferschein_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("nve", "varchar(255)", "lieferschein_position", "NOT NULL DEFAULT ''"); - $this->CheckColumn("packstueck", "varchar(255)", "lieferschein_position", "NOT NULL DEFAULT ''"); - $this->CheckColumn("vpemenge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lieferschein_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("einzelstueckmenge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lieferschein_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("schreibschutz","int(1)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("schreibschutz","int(1)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("schreibschutz","int(1)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("schreibschutz","int(1)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("schreibschutz","int(1)","bestellung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("schreibschutz","int(1)","lieferschein","DEFAULT '0' NOT NULL"); - - - $this->CheckColumn("pdfarchiviert","int(1)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiviert","int(1)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiviert","int(1)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiviert","int(1)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiviert","int(1)","bestellung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiviert","int(1)","lieferschein","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("pdfarchiviertversion","int(11)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiviertversion","int(11)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiviertversion","int(11)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiviertversion","int(11)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiviertversion","int(11)","bestellung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("pdfarchiviertversion","int(11)","lieferschein","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("typ","varchar(255)","rechnung","DEFAULT 'firma' NOT NULL"); - $this->CheckColumn("typ","varchar(255)","gutschrift","DEFAULT 'firma' NOT NULL"); - $this->CheckColumn("typ","varchar(255)","angebot","DEFAULT 'firma' NOT NULL"); - $this->CheckColumn("typ","varchar(255)","auftrag","DEFAULT 'firma' NOT NULL"); - $this->CheckColumn("typ","varchar(255)","bestellung","DEFAULT 'firma' NOT NULL"); - $this->CheckColumn("typ","varchar(255)","lieferschein","DEFAULT 'firma' NOT NULL"); - - $this->CheckColumn("verbindlichkeiteninfo","varchar(255)","bestellung","DEFAULT '' NOT NULL"); - $this->CheckColumn("beschreibung","varchar(255)","abrechnungsartikel","DEFAULT '' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `abrechnungsartikel` CHANGE `beschreibung` `beschreibung` TEXT NOT NULL DEFAULT ''"); - - $this->CheckColumn("dokument","varchar(64)","abrechnungsartikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("preisart","varchar(64)","abrechnungsartikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("waehrung","varchar(10)","abrechnungsartikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("enddatum","DATE","abrechnungsartikel","NOT NULL"); - $this->CheckColumn("angelegtvon","INT(11)","abrechnungsartikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("angelegtam","DATE","abrechnungsartikel","NOT NULL"); - $this->CheckColumn("experte","TINYINT(1)","abrechnungsartikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("beschreibungersetzten","TINYINT(1)","abrechnungsartikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gruppe","INT(11)","abrechnungsartikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rabatt","DECIMAL(5,2)","abrechnungsartikel","DEFAULT '0' NOT NULL"); - - $this->CheckTable("abrechnungsartikel_gruppe"); - $this->CheckColumn("id","int(11)","abrechnungsartikel_gruppe","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("beschreibung","varchar(255)","abrechnungsartikel_gruppe","DEFAULT '' NOT NULL"); - $this->CheckColumn("beschreibung2","TEXT","abrechnungsartikel_gruppe","DEFAULT '' NOT NULL"); - $this->CheckColumn("rabatt","DECIMAL(10,2)","abrechnungsartikel_gruppe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ansprechpartner","varchar(255)","abrechnungsartikel_gruppe","DEFAULT '' NOT NULL"); - $this->CheckColumn("extrarechnung","INT(11)","abrechnungsartikel_gruppe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gruppensumme","TINYINT(1)","abrechnungsartikel_gruppe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse","INT(11)","abrechnungsartikel_gruppe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("projekt","INT(11)","abrechnungsartikel_gruppe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("sort","INT(11)","abrechnungsartikel_gruppe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rechnungadresse","INT(11)","abrechnungsartikel_gruppe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("sammelrechnung","INT(11)","abrechnungsartikel_gruppe","DEFAULT '0' NOT NULL"); - $this->app->DB->Query("ALTER TABLE abrechnungsartikel_gruppe MODIFY extrarechnung INT(11)"); - - - $this->CheckTable("kontoauszuege"); - $this->CheckColumn("id","int(11)","kontoauszuege","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("konto", "int(11)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("buchung", "date", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("originalbuchung", "date", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("vorgang", "text", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("originalvorgang", "text", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("soll", "decimal(10,2)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("originalsoll", "decimal(10,2)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("haben", "decimal(10,2)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("originalhaben", "decimal(10,2)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("gebuehr", "decimal(10,2)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("originalgebuehr", "decimal(10,2)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("waehrung", "varchar(255)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("originalwaehrung", "varchar(255)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("fertig", "int(1)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("datev_abgeschlossen", "int(1)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("buchungstext", "varchar(255)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("gegenkonto", "varchar(255)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("belegfeld1", "varchar(255)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("bearbeiter", "varchar(255)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("mailbenachrichtigung", "int(11)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("pruefsumme", "varchar(255)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("kostenstelle","varchar(10)","kontoauszuege","DEFAULT '' NOT NULL"); - $this->CheckColumn("importgroup","bigint","kontoauszuege"); - $this->CheckColumn("diff","DECIMAL(12,4)","kontoauszuege", "NOT NULL DEFAULT '0'"); - $this->CheckColumn("diffangelegt","TIMESTAMP","kontoauszuege", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - $this->CheckColumn("internebemerkung","text","kontoauszuege"); - $this->CheckColumn("importfehler","int(1)","kontoauszuege"); - $this->CheckColumn("parent", "int(11)", "kontoauszuege", "NOT NULL DEFAULT '0'"); - $this->CheckColumn("sort", "int(11)", "kontoauszuege", "NOT NULL DEFAULT '0'"); - $this->CheckColumn("doctype", "varchar(64)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("doctypeid", "int(11)", "kontoauszuege", "NOT NULL"); - $this->CheckColumn("vorauswahltyp", "varchar(64)", "kontoauszuege", "NOT NULL DEFAULT ''"); - $this->CheckColumn("vorauswahlparameter", "varchar(255)", "kontoauszuege", "NOT NULL DEFAULT ''"); - $this->CheckColumn("klaerfall", "tinyint(1)", "kontoauszuege", "NOT NULL DEFAULT '0'"); - $this->CheckColumn("klaergrund", "varchar(255)", "kontoauszuege", "NOT NULL DEFAULT ''"); - $this->CheckColumn("bezugtyp", "varchar(64)", "kontoauszuege", "NOT NULL DEFAULT ''"); - $this->CheckColumn("bezugparameter", "varchar(255)", "kontoauszuege", "NOT NULL DEFAULT ''"); - $this->CheckColumn('vorauswahlvorschlag', 'int(11)', 'kontoauszuege', 'NOT NULL DEFAULT 0'); - - $this->CheckTable("kontoauszuege_zahlungsausgang"); - $this->CheckColumn("id","int(11)","kontoauszuege_zahlungsausgang","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("adresse", "int(11)", "kontoauszuege_zahlungsausgang", "NOT NULL"); - $this->CheckColumn("bearbeiter", "varchar(255)", "kontoauszuege_zahlungsausgang", "NOT NULL"); - $this->CheckColumn("betrag", "decimal(10,2)", "kontoauszuege_zahlungsausgang", "NOT NULL"); - $this->CheckColumn("datum", "date", "kontoauszuege_zahlungsausgang", "NOT NULL"); - $this->CheckColumn("objekt", "varchar(255)", "kontoauszuege_zahlungsausgang", "NOT NULL"); - $this->CheckColumn("parameter", "int(11)", "kontoauszuege_zahlungsausgang", "NOT NULL"); - $this->CheckColumn("kontoauszuege", "int(11)", "kontoauszuege_zahlungsausgang", "NOT NULL"); - $this->CheckColumn("firma", "int(11)", "kontoauszuege_zahlungsausgang", "NOT NULL"); - $this->CheckColumn("abgeschlossen", "int(11)", "kontoauszuege_zahlungsausgang", "NOT NULL"); - - $this->CheckTable("kontoauszuege_zahlungseingang"); - $this->CheckColumn("id","int(11)","kontoauszuege_zahlungseingang","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("adresse", "int(11)", "kontoauszuege_zahlungseingang", "NOT NULL"); - $this->CheckColumn("bearbeiter", "varchar(255)", "kontoauszuege_zahlungseingang", "NOT NULL"); - $this->CheckColumn("betrag", "decimal(10,2)", "kontoauszuege_zahlungseingang", "NOT NULL"); - $this->CheckColumn("datum", "date", "kontoauszuege_zahlungseingang", "NOT NULL"); - $this->CheckColumn("objekt", "varchar(255)", "kontoauszuege_zahlungseingang", "NOT NULL"); - $this->CheckColumn("parameter", "int(11)", "kontoauszuege_zahlungseingang", "NOT NULL"); - $this->CheckColumn("kontoauszuege", "int(11)", "kontoauszuege_zahlungseingang", "NOT NULL"); - $this->CheckColumn("firma", "int(11)", "kontoauszuege_zahlungseingang", "NOT NULL"); - $this->CheckColumn("abgeschlossen", "int(11)", "kontoauszuege_zahlungseingang", "NOT NULL"); - $this->CheckColumn("parameter2","int(11)","kontoauszuege_zahlungseingang", "NULL DEFAULT NULL"); - $this->CheckColumn("beschreibung_de","text","artikelgruppen"); - $this->CheckColumn("beschreibung_en","text","artikelgruppen"); - - $this->CheckColumn("internebemerkung","text","gutschrift"); - $this->CheckColumn("internebemerkung","text","rechnung"); - $this->CheckColumn("internebemerkung","text","lieferschein"); - $this->CheckColumn("internebemerkung","text","anfrage"); - - $this->CheckColumn("internebemerkung","text","proformarechnung"); - - $this->CheckColumn("ohne_briefpapier","int(1)","rechnung"); - $this->CheckColumn("ohne_briefpapier","int(1)","lieferschein"); - $this->CheckColumn("ohne_briefpapier","int(1)","angebot"); - $this->CheckColumn("ohne_briefpapier","int(1)","auftrag"); - $this->CheckColumn("ohne_briefpapier","int(1)","bestellung"); - $this->CheckColumn("ohne_briefpapier","int(1)","gutschrift"); - - $this->CheckColumn("ohne_artikeltext","int(1)","rechnung"); - $this->CheckColumn("ohne_artikeltext","int(1)","lieferschein"); - $this->CheckColumn("ohne_artikeltext","int(1)","angebot"); - $this->CheckColumn("ohne_artikeltext","int(1)","auftrag"); - $this->CheckColumn("ohne_artikeltext","int(1)","bestellung"); - $this->CheckColumn("ohne_artikeltext","int(1)","gutschrift"); - - - $this->CheckColumn("projekt","int(11)","firmendaten"); - $this->CheckColumn("externereinkauf","int(1)","firmendaten"); - $this->CheckColumn("schriftart","varchar(255)","firmendaten"); - $this->CheckColumn("knickfalz","int(1)","firmendaten"); - $this->CheckColumn("artikeleinheit","int(1)","firmendaten"); - $this->CheckColumn("artikeleinheit_standard","varchar(255)","firmendaten"); - - $this->CheckColumn("abstand_name_beschreibung","int(11)","firmendaten"," DEFAULT '4' NOT NULL"); - $this->CheckColumn("abstand_boxrechtsoben_lr","int(11)","firmendaten"," DEFAULT '0' NOT NULL"); - $this->CheckColumn("abstand_gesamtsumme_lr","int(11)","firmendaten"," DEFAULT '100' NOT NULL"); - - $this->CheckColumn("zahlungsweise","varchar(255)","firmendaten","NOT NULL"); - $this->CheckColumn("zahlungszieltage","int(11)","firmendaten","DEFAULT '14' NOT NULL"); - $this->CheckColumn("zahlungszielskonto","int(11)","firmendaten","NOT NULL"); - $this->CheckColumn("zahlungszieltageskonto","int(11)","firmendaten","NOT NULL"); - - $this->CheckColumn("footer_zentriert","int(1)","firmendaten"," DEFAULT '0' NOT NULL"); - $this->CheckColumn("footer_farbe","int(11)","firmendaten"," DEFAULT '30' NOT NULL"); - - $this->CheckColumn("zahlung_rechnung","int(1)","firmendaten"," DEFAULT '1' NOT NULL"); - $this->CheckColumn("zahlung_vorkasse","int(1)","firmendaten"," DEFAULT '1' NOT NULL"); - $this->CheckColumn("zahlung_nachnahme","int(1)","firmendaten"," DEFAULT '1' NOT NULL"); - $this->CheckColumn("zahlung_kreditkarte","int(1)","firmendaten","DEFAULT '1' NOT NULL"); - $this->CheckColumn("zahlung_einzugsermaechtigung","int(1)","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_paypal","int(1)","firmendaten","DEFAULT '1' NOT NULL"); - $this->CheckColumn("zahlung_bar","int(1)","firmendaten","DEFAULT '1' NOT NULL"); - $this->CheckColumn("zahlung_lastschrift","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zahlung_amazon","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zahlung_amazon_bestellung","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zahlung_billsafe","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zahlung_sofortueberweisung","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zahlung_ratenzahlung","int(1)","firmendaten"," DEFAULT '1' NOT NULL"); - $this->CheckColumn("zahlung_secupay","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("zahlung_eckarte","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("zahlung_rechnung_sofort_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_rechnung_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_vorkasse_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_lastschrift_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_nachnahme_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_bar_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_paypal_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_amazon_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_amazon_bestellung_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_billsafe_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_sofortueberweisung_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_kreditkarte_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_ratenzahlung_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_secupay_de","text","firmendaten","NOT NULL"); - $this->CheckColumn("zahlung_eckarte_de","text","firmendaten","NOT NULL"); - - $this->CheckColumn("briefpapier2","longblob","firmendaten"); - $this->CheckColumn("briefpapier2vorhanden","int(1)","firmendaten"); - $this->CheckColumn("abseite2y","int(11)","firmendaten","DEFAULT '50' NOT NULL"); - - $this->CheckColumn("paketannahme","int(11)","zwischenlager"); - $this->CheckColumn("paketannahme","int(11)","lager_bewegung"); - - $this->CheckColumn("doctype","varchar(32)","lager_bewegung","DEFAULT '' NOT NULL"); - $this->CheckColumn("doctypeid","int(11)","lager_bewegung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("vpeid","int(11)","lager_bewegung","DEFAULT '0' NOT NULL"); - $this->CheckColumn('is_interim','TINYINT(1)','lager_bewegung','DEFAULT 0 NOT NULL'); - - $this->CheckColumn("zahlungsmailcounter","int(1)","auftrag"); - - $this->CheckColumn("ansprechpartner","varchar(255)","angebot"); - $this->CheckColumn("ansprechpartner","varchar(255)","gutschrift"); - $this->CheckColumn("mobil","varchar(64)","ansprechpartner"); - - $this->CheckTable("event_api"); - $this->CheckColumn("id","int(11)","event_api","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("cachetime","timestamp","event_api"); - $this->CheckColumn("eventname","varchar(255)","event_api"); - $this->CheckColumn("parameter","varchar(255)","event_api"); - $this->CheckColumn("module","varchar(255)","event_api"); - $this->CheckColumn("action","varchar(255)","event_api"); - $this->CheckColumn("retries","int(11)","event_api"); - $this->CheckColumn("kommentar","varchar(255)","event_api"); - $this->CheckColumn("api","int(11)","event_api","DEFAULT '0' NOT NULL"); - - $this->CheckTable("gpsstechuhr"); - $this->CheckColumn("id","int(11)","gpsstechuhr","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("adresse","int(11)","gpsstechuhr"); - $this->CheckColumn("user","int(11)","gpsstechuhr"); - $this->CheckColumn("koordinaten","varchar(512)","gpsstechuhr"); - $this->CheckColumn("zeit","datetime","gpsstechuhr"); - - $this->CheckTable("kostenstellen"); - $this->CheckColumn("id","int(11)","kostenstellen","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("nummer","varchar(20)","kostenstellen"); - $this->CheckColumn("beschreibung","varchar(512)","kostenstellen"); - $this->CheckColumn("internebemerkung","text","kostenstellen"); - - $this->CheckTable("zolltarifnummer"); - $this->CheckColumn("id","int(11)","zolltarifnummer","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("nummer","varchar(255)","zolltarifnummer"); - $this->CheckColumn("beschreibung","varchar(512)","zolltarifnummer"); - $this->CheckColumn("internebemerkung","text","zolltarifnummer"); - - $this->CheckTable("lager_mindesthaltbarkeitsdatum"); - $this->CheckColumn("id","int(11)","lager_mindesthaltbarkeitsdatum","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("datum","DATE","lager_mindesthaltbarkeitsdatum"); - $this->CheckColumn("mhddatum","DATE","lager_mindesthaltbarkeitsdatum"); - $this->CheckColumn("artikel","int(11)","lager_mindesthaltbarkeitsdatum"); - $this->CheckColumn("menge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lager_mindesthaltbarkeitsdatum"); - $this->CheckColumn("lager_platz","int(11)","lager_mindesthaltbarkeitsdatum"); - $this->CheckColumn("zwischenlagerid","int(11)","lager_mindesthaltbarkeitsdatum"); - $this->CheckColumn("charge","varchar(1024)","lager_mindesthaltbarkeitsdatum"); - $this->CheckColumn("internebemerkung","text","lager_mindesthaltbarkeitsdatum"); - - $this->CheckTable("lager_charge"); - $this->CheckColumn("id","int(11)","lager_charge","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("charge","varchar(1024)","lager_charge"); - $this->CheckColumn("datum","DATE","lager_charge"); - $this->CheckColumn("artikel","int(11)","lager_charge"); - $this->CheckColumn("menge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lager_charge"); - $this->CheckAlterTable("ALTER TABLE `lager_charge` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL;"); - $this->CheckColumn("lager_platz","int(11)","lager_charge"); - $this->CheckColumn("zwischenlagerid","int(11)","lager_charge"); - $this->CheckColumn("internebemerkung","text","lager_charge"); - - $this->CheckTable("lager_differenzen"); - $this->CheckColumn("id","int(11)","lager_differenzen","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikel","int(11)","lager_differenzen"); - $this->CheckColumn("eingang","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lager_differenzen"); - $this->CheckColumn("ausgang","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lager_differenzen"); - $this->CheckColumn("berechnet","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lager_differenzen"); - $this->CheckColumn("bestand","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lager_differenzen"); - $this->CheckColumn("differenz","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","lager_differenzen"); - $this->CheckColumn("user","int(11)","lager_differenzen"); - $this->CheckColumn("lager_platz","int(11)","lager_differenzen"); - - - $this->CheckTable("adresse_import"); - $this->CheckColumn("id","int(11)","adresse_import","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("typ","varchar(20)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("name","varchar(255)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("ansprechpartner","varchar(255)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("abteilung","varchar(255)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("unterabteilung","varchar(255)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("adresszusatz","varchar(255)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("strasse","varchar(255)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("plz","varchar(64)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("ort","varchar(255)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("land","varchar(64)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("telefon","varchar(128)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("telefax","varchar(128)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("email","varchar(128)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("mobil","varchar(64)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("internetseite","varchar(255)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("ustid","varchar(64)","adresse_import","DEFAULT '' NOT NULL"); - $this->CheckColumn("user","INT(11)","adresse_import","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse","INT(11)","adresse_import","DEFAULT '0' NOT NULL"); - $this->CheckColumn("angelegt_am","DATETIME","adresse_import"); - $this->CheckColumn("abgeschlossen","tinyint(1)","adresse_import","DEFAULT '0' NOT NULL"); - - $this->CheckTable("berichte"); - $this->CheckColumn("id","int(11)","berichte","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("name","varchar(64)","berichte"); - $this->CheckColumn("beschreibung","text","berichte"); - $this->CheckColumn("variablen","text","berichte"); - $this->CheckColumn("internebemerkung","text","berichte"); - $this->CheckColumn("struktur","text","berichte"); - $this->CheckColumn("spaltennamen","varchar(1024)","berichte"); - $this->CheckColumn("spaltenbreite","varchar(1024)","berichte"); - $this->CheckColumn("spaltenausrichtung","varchar(1024)","berichte"); - $this->CheckColumn("sumcols","varchar(1024)","berichte"); - $this->CheckColumn("doctype","varchar(64)","berichte"); - $this->CheckColumn("doctype_actionmenu","int(1)","berichte","DEFAULT '0' NOT NULL"); - $this->CheckColumn("doctype_actionmenuname","varchar(256)","berichte","DEFAULT '' NOT NULL"); - $this->CheckColumn("doctype_actionmenufiletype","varchar(256)","berichte","DEFAULT 'csv' NOT NULL"); - $this->CheckColumn("project","int(11)","berichte","DEFAULT '0' NOT NULL"); - - $this->CheckIndex('berichte','doctype'); - - $this->CheckColumn("ftpuebertragung","INT(1)","berichte","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ftppassivemode","INT(1)","berichte","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ftphost","varchar(512)","berichte"); - $this->CheckColumn("ftpport","INT(11)","berichte"); - $this->CheckColumn("ftpuser","varchar(512)","berichte"); - $this->CheckColumn("ftppassword","varchar(512)","berichte"); - $this->CheckColumn("ftpuhrzeit","TIME","berichte"); - $this->CheckColumn("ftpletzteuebertragung","datetime","berichte"); - $this->CheckColumn("ftpnamealternativ","varchar(512)","berichte","DEFAULT ''"); - - $this->CheckColumn("emailuebertragung","INT(1)","berichte","DEFAULT '0' NOT NULL"); - $this->CheckColumn("emailempfaenger","varchar(512)","berichte"); - $this->CheckColumn("emailbetreff","varchar(512)","berichte"); - $this->CheckColumn("emailuhrzeit","TIME","berichte"); - $this->CheckColumn("emailletzteuebertragung","datetime","berichte"); - $this->CheckColumn("emailnamealternativ","varchar(512)","berichte","DEFAULT ''"); - $this->CheckColumn('typ','VARCHAR(16)','berichte',"DEFAULT 'ftp' NOT NULL"); - - $this->CheckAlterTable("ALTER TABLE `berichte` CHANGE `name` `name` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;"); - } - if($stufe == 0 || $stufe == 7) - { - - $this->CheckTable("sqlcache"); - $this->CheckColumn("id","int(11)","sqlcache","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("abfrage","text","sqlcache","DEFAULT '' NOT NULL"); - $this->CheckColumn("ergebnis","text","sqlcache","DEFAULT '' NOT NULL"); - $this->CheckColumn("shortcode","varchar(255)","sqlcache","DEFAULT '' NOT NULL"); - $this->CheckColumn("sekunden","int(11)","sqlcache","DEFAULT '120' NOT NULL"); - $this->CheckColumn("zeitstempel", "TIMESTAMP", "sqlcache", "DEFAULT CURRENT_TIMESTAMP NOT NULL"); - - $this->CheckTable("verrechnungsart"); - $this->CheckColumn("id","int(11)","verrechnungsart","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("nummer","varchar(20)","verrechnungsart"); - $this->CheckColumn("beschreibung","varchar(512)","verrechnungsart"); - $this->CheckColumn("internebemerkung","text","verrechnungsart"); - - $this->CheckColumn("bonus1","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus1_ab","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus2","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus2_ab","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus3","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus3_ab","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus4","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus4_ab","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus5","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus5_ab","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus6","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus6_ab","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus7","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus7_ab","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus8","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus8_ab","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus9","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus9_ab","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus10","DECIMAL(10,2)","adresse"); - $this->CheckColumn("bonus10_ab","DECIMAL(10,2)","adresse"); - - $this->CheckColumn("rechnung_periode","int(11)","adresse"); - $this->CheckColumn("rechnung_anzahlpapier","int(11)","adresse"); - $this->CheckColumn("rechnung_permail","int(1)","adresse"); - $this->CheckColumn("rechnung_email","varchar(255)","adresse"); - - $this->CheckColumn("webid","int(11)","artikel"); - $this->CheckColumn("webid","VARCHAR(1024)","auftrag_position"); - - $this->CheckColumn("webid","int(11)","auftrag"); - - $this->CheckTable("reisekostenart"); - $this->CheckColumn("id","int(11)","reisekostenart","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("nummer","varchar(20)","reisekostenart"); - $this->CheckColumn("beschreibung","varchar(512)","reisekostenart"); - $this->CheckColumn("internebemerkung","text","reisekostenart"); - - $this->CheckTable("artikeleinheit"); - $this->CheckColumn("id","int(11)","artikeleinheit","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("einheit_de","varchar(255)","artikeleinheit"); - $this->CheckColumn("internebemerkung","text","artikeleinheit"); - - $this->CheckTable("importvorlage_log"); - $this->CheckColumn("id","int(11)","importvorlage_log","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("importvorlage","int(11)","importvorlage_log"); - $this->CheckColumn("zeitstempel","TIMESTAMP","importvorlage_log"); - $this->CheckColumn("user","int(11)","importvorlage_log"); - $this->CheckColumn("tabelle","varchar(255)","importvorlage_log"); - $this->CheckColumn("datensatz","int(11)","importvorlage_log"); - $this->CheckColumn("ersterdatensatz","tinyint(1)","importvorlage_log","DEFAULT '0' NOT NULL"); - - $this->CheckTable("importvorlage"); - $this->CheckColumn("id","int(11)","importvorlage","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bezeichnung","varchar(255)","importvorlage"); - $this->CheckColumn("ziel","varchar(255)","importvorlage"); - $this->CheckColumn("internebemerkung","text","importvorlage"); - $this->CheckColumn("fields","text","importvorlage"); - $this->CheckColumn("letzterimport","datetime","importvorlage"); - $this->CheckColumn("mitarbeiterletzterimport","varchar(255)","importvorlage"); - $this->CheckColumn("importtrennzeichen","varchar(255)","importvorlage"); - $this->CheckColumn("importerstezeilenummer","int(11)","importvorlage"); - $this->CheckColumn("importdatenmaskierung","varchar(255)","importvorlage"); - $this->CheckColumn("importzeichensatz","varchar(255)","importvorlage"); - $this->CheckColumn("utf8decode","tinyint(1)","importvorlage","DEFAULT '1' NOT NULL"); - $this->CheckColumn("charset","varchar(32)","importvorlage","DEFAULT 'UTF8' NOT NULL"); - - $this->CheckTable("exportvorlage"); - $this->CheckColumn("id","int(11)","exportvorlage","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bezeichnung","varchar(255)","exportvorlage"); - $this->CheckColumn("ziel","varchar(255)","exportvorlage"); - $this->CheckColumn("internebemerkung","text","exportvorlage"); - $this->CheckColumn("fields","text","exportvorlage"); - $this->CheckColumn("fields_where","text","exportvorlage"); - $this->CheckColumn("letzterexport","datetime","exportvorlage"); - $this->CheckColumn("mitarbeiterletzterexport","varchar(255)","exportvorlage"); - $this->CheckColumn("exporttrennzeichen","varchar(255)","exportvorlage"); - $this->CheckColumn("exporterstezeilenummer","int(11)","exportvorlage"); - $this->CheckColumn("exportdatenmaskierung","varchar(255)","exportvorlage"); - $this->CheckColumn("exportzeichensatz","varchar(255)","exportvorlage"); - $this->CheckColumn("filterdatum","tinyint(1)","exportvorlage","DEFAULT '0' NOT NULL"); - $this->CheckColumn("filterprojekt","tinyint(1)","exportvorlage","DEFAULT '0' NOT NULL"); - $this->CheckColumn("apifreigabe","tinyint(1)","exportvorlage","DEFAULT '0' NOT NULL"); - - // accordion - $this->CheckTable("accordion"); - $this->CheckColumn("id","int(11)","accordion"); - $this->CheckColumn("name","varchar(255)","accordion"); - $this->CheckColumn("target","varchar(255)","accordion"); - $this->CheckColumn("position","int(2)","accordion"); - - //inhalt - $this->CheckColumn("kurztext","text","inhalt"); - $this->CheckColumn("title","varchar(255)","inhalt"); - $this->CheckColumn("description","varchar(512)","inhalt"); - $this->CheckColumn("keywords","varchar(512)","inhalt"); - $this->CheckColumn("inhaltstyp","varchar(255)","inhalt"); - $this->CheckColumn("sichtbarbis","datetime","inhalt"); - $this->CheckColumn("datum","date","inhalt"); - $this->CheckColumn("template","varchar(255)","inhalt"); - $this->CheckColumn("finalparse","varchar(255)","inhalt"); - $this->CheckColumn("navigation","varchar(255)","inhalt"); - - $this->CheckColumn("hwtoken","int(1)","user"); - $this->CheckColumn("hwkey","varchar(255)","user"); - $this->CheckColumn("hwcounter","int(11)","user"); - $this->CheckColumn("hwdatablock","varchar(255)","user"); - $this->CheckColumn("motppin","varchar(255)","user"); - $this->CheckColumn("motpsecret","varchar(255)","user"); - $this->CheckColumn("externlogin","int(1)","user"); - - //wiki - $this->CheckTable("wiki"); - $this->CheckColumn("name","varchar(255)","wiki"); - $this->CheckColumn("content","text","wiki"); - $this->CheckColumn("lastcontent","text","wiki"); - - $this->CheckColumn('wiki_workspace_id','INT(11)','wiki','DEFAULT 0 NOT NULL'); - $this->CheckColumn('parent_id','INT(11)','wiki','DEFAULT 0 NOT NULL'); - $this->CheckColumn('language','VARCHAR(32)','wiki',"DEFAULT '' NOT NULL"); - - $this->CheckTable('wiki_workspace'); - $this->CheckColumn('name','varchar(255)','wiki_workspace',"DEFAULT '' NOT NULL"); - $this->CheckColumn('foldername','varchar(255)','wiki_workspace',"DEFAULT '' NOT NULL"); - $this->CheckColumn('description','TEXT','wiki_workspace'); - $this->CheckColumn('savein','VARCHAR(32)','wiki_workspace',"DEFAULT '' NOT NULL"); - $this->CheckColumn('active','TINYINT(1)','wiki_workspace','DEFAULT 1 NOT NULL'); - - $this->CheckIndex('wiki_workspace', 'name', true); - $this->CheckTable('wiki_changelog'); - $this->CheckColumn('wiki_id','INT(11)','wiki_changelog','DEFAULT 0 NOT NULL'); - $this->CheckColumn('comment','varchar(255)','wiki_changelog',"DEFAULT '' NOT NULL"); - $this->CheckColumn('created_by','varchar(255)','wiki_changelog',"DEFAULT '' NOT NULL"); - $this->CheckColumn('created_at','TIMESTAMP','wiki_changelog','DEFAULT CURRENT_TIMESTAMP NOT NULL'); - $this->CheckColumn('content','TEXT','wiki_changelog'); - $this->CheckColumn('notify','TINYINT(1)','wiki_changelog','DEFAULT 0 NOT NULL'); - - $this->CheckIndex('wiki_changelog', 'wiki_id'); - - $this->CheckTable('wiki_subscription'); - $this->CheckColumn('wiki_id','INT(11)','wiki_subscription','DEFAULT 0 NOT NULL'); - $this->CheckColumn('user_id','INT(11)','wiki_subscription','DEFAULT 0 NOT NULL'); - $this->CheckColumn('active','TINYINT(1)','wiki_subscription','DEFAULT 1 NOT NULL'); - $this->CheckIndex('wiki_subscription', 'wiki_id'); - - $this->app->erp->CheckTable('wiki_faq'); - $this->app->erp->CheckColumn('wiki_id','INT(11)','wiki_faq','NOT NULL DEFAULT 0'); - $this->app->erp->CheckColumn('question','TEXT','wiki_faq'); - $this->app->erp->CheckColumn('answer','TEXT','wiki_faq'); - $this->app->erp->CheckColumn('created_by','VARCHAR(255)','wiki_faq',"NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn('created_at','TIMESTAMP','wiki_faq'); - $this->app->erp->CheckColumn('updated_at','TIMESTAMP','wiki_faq'); - $this->app->erp->CheckIndex('wiki_faq', 'wiki_id'); - - //tabelle backup - $this->CheckTable("backup"); - $this->CheckColumn("adresse","int(11)","backup"); - $this->CheckColumn("name","varchar(255)","backup"); - $this->CheckColumn("dateiname","varchar(255)","backup"); - $this->CheckColumn("datum","datetime","backup"); - - //Tabelle artikel_shop - $this->CheckTable("artikel_shop"); - $this->CheckColumn("artikel","int(11)","artikel_shop"); - $this->CheckColumn("shop","int(11)","artikel_shop"); - $this->CheckColumn("checksum","text","artikel_shop"); - - // Tabelle dokumente - $this->CheckTable("dokumente"); - $this->CheckColumn("id","int(11)","dokumente"); - $this->CheckColumn("adresse_from","int(11)","dokumente"); - $this->CheckColumn("adresse_to","int(11)","dokumente"); - $this->CheckColumn("typ","varchar(24)","dokumente"); - $this->CheckColumn("von","varchar(512)","dokumente"); - $this->CheckColumn("firma","varchar(512)","dokumente"); - $this->CheckColumn("ansprechpartner","varchar(512)","dokumente"); - $this->CheckColumn("an","varchar(512)","dokumente"); - $this->CheckColumn("email_an","varchar(255)","dokumente"); - $this->CheckColumn("email_cc","varchar(255)","dokumente"); - $this->CheckColumn("email_bcc","varchar(255)","dokumente"); - $this->CheckColumn("firma_an","varchar(255)","dokumente"); - $this->CheckColumn("adresse","varchar(255)","dokumente"); - $this->CheckColumn("plz","varchar(16)","dokumente"); - $this->CheckColumn("ort","varchar(255)","dokumente"); - $this->CheckColumn("land","varchar(32)","dokumente"); - $this->CheckColumn("datum","date","dokumente"); - $this->CheckColumn("betreff","varchar(1023)","dokumente"); - $this->CheckColumn("content","text","dokumente"); - $this->CheckColumn("signatur","tinyint(1)","dokumente"); - $this->CheckColumn("send_as","varchar(24)","dokumente"); - $this->CheckColumn("email","varchar(255)","dokumente"); - $this->CheckColumn("printer","int(2)","dokumente"); - $this->CheckColumn("fax","int(2)","dokumente"); - $this->CheckColumn("sent","int(1)","dokumente"); - $this->CheckColumn("deleted","int(1)","dokumente"); - $this->CheckColumn("created","datetime","dokumente"); - $this->CheckColumn("bearbeiter","varchar(128)","dokumente"); - $this->CheckColumn("uhrzeit","time","dokumente"); - $this->CheckColumn("projekt","int(11)","dokumente","DEFAULT '0' NOT NULL"); - $this->CheckColumn("internebezeichnung","varchar(255)","dokumente","DEFAULT '' NOT NULL"); - - // Tabelle linkeditor - $this->CheckTable("linkeditor"); - $this->CheckColumn("id","int(4)","linkeditor"); - $this->CheckColumn("rule","varchar(1024)","linkeditor"); - $this->CheckColumn("replacewith","varchar(1024)","linkeditor"); - $this->CheckColumn("active","varchar(1)","linkeditor"); - - // Tabelle userrights - $this->CheckTable("userrights"); - $this->CheckColumn("id","int(11)","userrights"); - $this->CheckColumn("user","int(11)","userrights"); - $this->CheckColumn("module","varchar(64)","userrights"); - $this->CheckColumn("action","varchar(64)","userrights"); - $this->CheckColumn("permission","int(1)","userrights"); - - //Tabelle Rechte Historie - $this->CheckTable('permissionhistory'); - $this->CheckColumn('id','int(11)','permissionhistory','NOT NULL AUTO_INCREMENT'); - $this->CheckColumn('granting_user_id','int(11)','permissionhistory'); - $this->CheckColumn('granting_user_name','varchar(255)','permissionhistory'); - $this->CheckColumn('receiving_user_id','int(11)','permissionhistory'); - $this->CheckColumn('receiving_user_name','varchar(255)','permissionhistory'); - $this->CheckColumn('module','varchar(255)','permissionhistory'); - $this->CheckColumn('action','varchar(255)','permissionhistory'); - $this->CheckColumn('permission','int(1)','permissionhistory'); - $this->CheckColumn('timeofpermission','timestamp','permissionhistory','DEFAULT CURRENT_TIMESTAMP'); - - // Tabelle userrights - $this->CheckTable("uservorlagerights"); - $this->CheckColumn("id","int(11)","uservorlagerights","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("vorlage","int(11)","uservorlagerights"); - $this->CheckColumn("module","varchar(64)","uservorlagerights"); - $this->CheckColumn("action","varchar(64)","uservorlagerights"); - $this->CheckColumn("permission","int(1)","uservorlagerights"); - - // Tabelle userrights - $this->CheckTable("uservorlage"); - $this->CheckColumn("id","int(11)","uservorlage","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bezeichnung","VARCHAR(255)","uservorlage"); - $this->CheckColumn("beschreibung","TEXT","uservorlage"); - - $this->CheckTable("newsletter_blacklist"); - $this->CheckColumn("email","varchar(255)","newsletter_blacklist"); - - $this->CheckTable('returnorder_quantity'); - $this->CheckColumn('delivery_note_id', 'INT(11)','returnorder_quantity', 'DEFAULT 0 NOT NULL'); - $this->CheckColumn('quantity', 'DECIMAL(14,4)','returnorder_quantity', 'DEFAULT NULL'); - $this->CheckColumn('serialnumber', 'VARCHAR(255)','returnorder_quantity', "DEFAULT '' NOT NULL"); - $this->CheckColumn('batch', 'VARCHAR(255)','returnorder_quantity', "DEFAULT '' NOT NULL"); - $this->CheckColumn('bestbefore', 'VARCHAR(255)','returnorder_quantity', "DEFAULT '' NOT NULL"); - $this->CheckIndex('returnorder_quantity', 'delivery_note_id'); - - // Tabelle artikel - $this->CheckColumn("herstellernummer","varchar(255)","artikel"); - $this->CheckColumn("restmenge","int(1)","artikel"); - $this->CheckColumn("lieferzeitmanuell_en","varchar(255)","artikel"); - $this->CheckColumn("variante","int(1)","artikel"); - $this->CheckColumn("variante_von","int(11)","artikel"); - $this->CheckColumn("variante_kopie","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("unikat","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("downloadartikel","tinyint(1)", "artikel","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("matrixprodukt","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("generierenummerbeioption","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("allelieferanten","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("tagespreise","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rohstoffe","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bestandalternativartikel","int(11)","artikel","DEFAULT '0' NOT NULL"); - - //firmendaten - $this->CheckColumn("email","varchar(255)","firmendaten"); - $this->CheckColumn("absendername","varchar(255)","firmendaten"); - $this->CheckColumn("bcc1","varchar(255)","firmendaten"); - $this->CheckColumn("bcc2","varchar(255)","firmendaten"); - $this->CheckColumn("firmenfarbe","varchar(255)","firmendaten","DEFAULT '#ececec' NOT NULL"); - $this->CheckColumn("name","varchar(255)","firmendaten"); - $this->CheckColumn("strasse","varchar(255)","firmendaten"); - $this->CheckColumn("plz","varchar(64)","firmendaten"); - $this->CheckColumn("ort","varchar(255)","firmendaten"); - $this->CheckColumn("steuernummer","varchar(255)","firmendaten"); - $this->CheckColumn("brieftext","varchar(255)","firmendaten"); - $this->CheckColumn("startseite_wiki","varchar(255)","firmendaten"); - $this->CheckColumn("artikel_suche_kurztext","int(1)","firmendaten"); - $this->CheckColumn("artikel_bilder_uebersicht","tinyint(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse_freitext1_suche","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikel_freitext1_suche","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("iconset_dunkel","tinyint(1)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("eigenernummernkreis","int(11)","projekt"); - $this->CheckColumn("next_angebot","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_auftrag","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_rechnung","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_lieferschein","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_retoure","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_arbeitsnachweis","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_reisekosten","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_kalkulation","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_bestellung","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_gutschrift","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_kundennummer","varchar(64)","projekt"); - $this->CheckColumn("next_lieferantennummer","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_mitarbeiternummer","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_waren","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_produktion","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_sonstiges","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_produktion","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_anfrage","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_preisanfrage","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_proformarechnung","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_artikelnummer","varchar(64)","projekt","DEFAULT ''"); - $this->CheckColumn("next_verbindlichkeit","varchar(128)","projekt","DEFAULT ''"); - $this->CheckColumn('next_goodspostingdocument','varchar(64)','projekt',"DEFAULT ''"); - $this->CheckColumn('next_receiptdocument','varchar(64)','projekt',"DEFAULT ''"); - $this->CheckColumn('pos_disable_single_entries','TINYINT(1)','projekt','DEFAULT 0'); - $this->CheckColumn('pos_disable_single_day','TINYINT(1)','projekt','DEFAULT 0'); - $this->CheckColumn('pos_disable_counting_protocol','TINYINT(1)','projekt','DEFAULT 0'); - $this->CheckColumn('pos_disable_signature','TINYINT(1)','projekt','DEFAULT 0'); - - $this->CheckColumn('steuer_erloese_inland_normal','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_aufwendung_inland_normal','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_erloese_inland_ermaessigt','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_aufwendung_inland_ermaessigt','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_erloese_inland_nichtsteuerbar','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_aufwendung_inland_nichtsteuerbar','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_erloese_inland_innergemeinschaftlich','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_aufwendung_inland_innergemeinschaftlich','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_erloese_inland_eunormal','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_aufwendung_inland_eunormal','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_erloese_inland_euermaessigt','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_aufwendung_inland_euermaessigt','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_erloese_inland_export','VARCHAR(10)','projekt',"DEFAULT ''"); - $this->CheckColumn('steuer_aufwendung_inland_import','VARCHAR(10)','projekt',"DEFAULT ''"); - - $this->CheckColumn('create_proformainvoice','TINYINT(1)','projekt','DEFAULT 0'); - $this->CheckColumn('print_proformainvoice','TINYINT(1)','projekt','DEFAULT 0'); - $this->CheckColumn('proformainvoice_amount','INT(11)','projekt','DEFAULT 0'); - $this->CheckColumn('anzeigesteuerbelegebestellung','TINYINT(1)','projekt','DEFAULT 0'); - $this->CheckColumn('autobestbeforebatch','TINYINT(1)','projekt','DEFAULT 0'); - $this->CheckColumn('allwaysautobestbeforebatch','TINYINT(1)','projekt','DEFAULT 0'); - - $this->CheckColumn("warnung_doppelte_nummern","INT(1)","firmendaten","DEFAULT '1' NOT NULL"); - - $this->CheckColumn("next_angebot","varchar(64)","firmendaten"); - $this->CheckColumn("next_auftrag","varchar(64)","firmendaten"); - $this->CheckColumn("next_rechnung","varchar(64)","firmendaten"); - $this->CheckColumn("next_lieferschein","varchar(64)","firmendaten"); - $this->CheckColumn("next_retoure","varchar(64)","firmendaten"); - $this->CheckColumn("next_arbeitsnachweis","varchar(64)","firmendaten"); - $this->CheckColumn("next_reisekosten","varchar(64)","firmendaten"); - $this->CheckColumn("next_kalkulation","varchar(64)","firmendaten"); - $this->CheckColumn("next_bestellung","varchar(64)","firmendaten"); - $this->CheckColumn("next_gutschrift","varchar(64)","firmendaten"); - $this->CheckColumn("next_kundennummer","varchar(64)","firmendaten"); - $this->CheckColumn("next_lieferantennummer","varchar(64)","firmendaten"); - $this->CheckColumn("next_mitarbeiternummer","varchar(64)","firmendaten"); - $this->CheckColumn("next_waren","varchar(64)","firmendaten"); - $this->CheckColumn("next_produktion","varchar(64)","firmendaten"); - $this->CheckColumn("next_sonstiges","varchar(64)","firmendaten"); - $this->CheckColumn("next_produktion","varchar(64)","firmendaten"); - $this->CheckColumn("next_preisanfrage","varchar(64)","firmendaten"); - $this->CheckColumn("next_proformarechnung","varchar(64)","firmendaten"); - $this->CheckColumn("next_artikelnummer","varchar(64)","firmendaten","DEFAULT '' NOT NULL"); - - $this->CheckColumn("seite_von_ausrichtung","varchar(255)","firmendaten"); - $this->CheckColumn("seite_von_sichtbar","int(1)","firmendaten"); - - $this->CheckColumn("parameterundfreifelder","int(1)","firmendaten"); - - for($i=1;$i<=40;$i++) { - $this->CheckColumn("freifeld" . $i, "TEXT", "firmendaten", "DEFAULT '' NOT NULL"); - } - - for($i=1;$i<=20;$i++) { - $this->CheckColumn("adressefreifeld" . $i, "TEXT", "firmendaten", "DEFAULT '' NOT NULL"); - $this->CheckColumn("adressefreifeld".$i."typ", "varchar(16)", "firmendaten", "DEFAULT 'einzeilig' NOT NULL"); - $this->CheckColumn("adressefreifeld".$i."spalte", "int(11)", "firmendaten", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("adressefreifeld".$i."sort", "int(11)", "firmendaten", "DEFAULT '0' NOT NULL"); - } - - $this->CheckColumn("wareneingangauftragzubestellung", "tinyint(1)", "firmendaten", "DEFAULT '0' NOT NULL"); - - $this->CheckColumn("firmenfarbehell","text","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("firmenfarbedunkel","text","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("firmenfarbeganzdunkel","text","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("navigationfarbe","text","firmendaten","DEFAULT '#e0e0e0' NOT NULL"); - $this->CheckColumn("navigationfarbeschrift","text","firmendaten","DEFAULT '#686868' NOT NULL"); - $this->CheckColumn("unternavigationfarbe","text","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("unternavigationfarbeschrift","text","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("firmenlogo","longblob","firmendaten"); - $this->CheckColumn("firmenlogotype","varchar(255)","firmendaten"); - $this->CheckColumn("firmenlogoaktiv","int(1)","firmendaten"); - - $this->CheckColumn("beleg_artikelbild","int(1)","firmendaten"); - $this->CheckColumn("lieferschein_artikelbild","int(1)","firmendaten"); - $this->CheckColumn("rechnung_artikelbild","int(1)","firmendaten"); - $this->CheckColumn("bestellung_artikelbild","int(1)","firmendaten"); - $this->CheckColumn("gutschrift_artikelbild","int(1)","firmendaten"); - $this->CheckColumn("angebot_artikelbild","int(1)","firmendaten"); - - $this->CheckColumn("projektnummerimdokument","int(1)","firmendaten"); - $this->CheckColumn("freifelderimdokument","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("internetnummerimbeleg","int(1)","firmendaten"); - $this->CheckColumn("beschriftunginternetnummer","varchar(64)","firmendaten","DEFAULT 'Internetnummer' NOT NULL"); - $this->CheckColumn("mailanstellesmtp","int(1)","firmendaten"); - $this->CheckColumn("herstellernummerimdokument","int(1)","firmendaten"); - $this->CheckColumn("standardmarge","int(11)","firmendaten"); - - $this->CheckColumn("steuer_erloese_inland_normal","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_normal","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_ermaessigt","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_ermaessigt","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_steuerfrei","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_steuerfrei","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_innergemeinschaftlich","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_innergemeinschaftlich","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_eunormal","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_nichtsteuerbar","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - - $this->CheckColumn("steuer_erloese_inland_euermaessigt","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_nichtsteuerbar","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_eunormal","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_euermaessigt","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_export","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_import","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_anpassung_kundennummer","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - - $this->CheckColumn("steuer_erloese_inland_normal","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_normal","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_ermaessigt","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_ermaessigt","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_steuerfrei","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_steuerfrei","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_innergemeinschaftlich","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_innergemeinschaftlich","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_eunormal","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_nichtsteuerbar","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - - $this->CheckColumn("steuer_erloese_inland_euermaessigt","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_nichtsteuerbar","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_eunormal","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_euermaessigt","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_erloese_inland_export","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_aufwendung_inland_import","VARCHAR(10)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_art_produkt","INT(1)","artikel","DEFAULT '1' NOT NULL"); - $this->CheckColumn("steuer_art_produkt_download","INT(1)","artikel","DEFAULT '1' NOT NULL"); - - $this->CheckColumn("metadescription_de","text","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("metadescription_en","text","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("metakeywords_de","text","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("metakeywords_en","text","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("metatitle_de","text","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("metatitle_en","text","artikel","DEFAULT '' NOT NULL"); - - for($ki=1;$ki<=15;$ki++) - { - $this->CheckColumn("steuer_art_".$ki,"VARCHAR(30)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_art_".$ki."_normal","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_art_".$ki."_ermaessigt","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("steuer_art_".$ki."_steuerfrei","VARCHAR(10)","firmendaten","DEFAULT '' NOT NULL"); - } - - $this->CheckColumn("rechnung_header","text","firmendaten"); - $this->CheckColumn("lieferschein_header","text","firmendaten"); - $this->CheckColumn("angebot_header","text","firmendaten"); - $this->CheckColumn("auftrag_header","text","firmendaten"); - $this->CheckColumn("rechnung_header","text","firmendaten"); - $this->CheckColumn("gutschrift_header","text","firmendaten"); - $this->CheckColumn("bestellung_header","text","firmendaten"); - $this->CheckColumn("arbeitsnachweis_header","text","firmendaten"); - $this->CheckColumn("provisionsgutschrift_header","text","firmendaten"); - $this->CheckColumn("proformarechnung_header","text","firmendaten"); - - $this->CheckColumn("rechnung_footer","text","firmendaten"); - $this->CheckColumn("lieferschein_footer","text","firmendaten"); - $this->CheckColumn("angebot_footer","text","firmendaten"); - $this->CheckColumn("auftrag_footer","text","firmendaten"); - $this->CheckColumn("rechnung_footer","text","firmendaten"); - $this->CheckColumn("gutschrift_footer","text","firmendaten"); - $this->CheckColumn("bestellung_footer","text","firmendaten"); - $this->CheckColumn("arbeitsnachweis_footer","text","firmendaten"); - $this->CheckColumn("provisionsgutschrift_footer","text","firmendaten"); - $this->CheckColumn("proformarechnung_footer","text","firmendaten"); - - $this->CheckColumn("rechnung_ohnebriefpapier","int(1)","firmendaten"); - $this->CheckColumn("lieferschein_ohnebriefpapier","int(1)","firmendaten"); - $this->CheckColumn("angebot_ohnebriefpapier","int(1)","firmendaten"); - $this->CheckColumn("auftrag_ohnebriefpapier","int(1)","firmendaten"); - $this->CheckColumn("rechnung_ohnebriefpapier","int(1)","firmendaten"); - $this->CheckColumn("gutschrift_ohnebriefpapier","int(1)","firmendaten"); - $this->CheckColumn("bestellung_ohnebriefpapier","int(1)","firmendaten"); - $this->CheckColumn("arbeitsnachweis_ohnebriefpapier","int(1)","firmendaten"); - - $this->CheckColumn("eu_lieferung_vermerk","text","firmendaten","DEFAULT '' NOT NULL"); - $this->CheckColumn("export_lieferung_vermerk","text","firmendaten","DEFAULT '' NOT NULL"); - - $this->CheckColumn("abstand_adresszeileoben","int(11)","firmendaten"); - $this->CheckColumn("abstand_seitenrandlinks","int(11)","firmendaten","DEFAULT '15' NOT NULL"); - $this->CheckColumn("abstand_adresszeilelinks","int(11)","firmendaten","DEFAULT '15' NOT NULL"); - $this->CheckColumn("abstand_boxrechtsoben","int(11)","firmendaten"); - $this->CheckColumn("abstand_betreffzeileoben","int(11)","firmendaten"); - $this->CheckColumn("abstand_artikeltabelleoben","int(11)","firmendaten"); - - $this->CheckColumn("rabatt","int(11)","angebot_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rabatt","int(11)","rechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rabatt","int(11)","auftrag_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rabatt","int(11)","gutschrift_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("internerkommentar","varchar(255)","rechnung_position","DEFAULT '' NOT NULL"); - - $this->CheckColumn("wareneingang_kamera_waage","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("wareneingang_gross","int(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("layout_iconbar","int(1)","firmendaten"); - - $this->CheckColumn("briefpapier_bearbeiter_ausblenden","tinyint(1)","firmendaten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("briefpapier_vertrieb_ausblenden","tinyint(1)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("auftragmarkierenegsaldo","tinyint(1)","firmendaten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("artikelnummerninfotext","int(1)","bestellung"); - $this->CheckColumn("langeartikelnummern","tinyint(1)","bestellung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("abgeschlossen","int(1)","bestellung_position"); - - $this->CheckColumn("auswahlmenge","DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")","bestellung_position","DEFAULT NULL"); - $this->CheckColumn("auswahletiketten","int(11)","bestellung_position","DEFAULT NULL"); - $this->CheckColumn("auswahllagerplatz","int(11)","bestellung_position","DEFAULT NULL"); - - $this->CheckColumn("doppel","int(1)","rechnung"); - - $this->CheckColumn("ansprechpartner","varchar(255)","bestellung"); - - $this->CheckColumn("interne_bemerkung","TEXT","lieferadressen"); - $this->CheckColumn("hinweis","TEXT","lieferadressen"); - $this->CheckColumn("ansprechpartner","varchar(255)","lieferadressen"); - $this->CheckColumn("standardlieferadresse","tinyint(1)","lieferadressen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gln","varchar(32)","lieferadressen","DEFAULT '' NOT NULL"); - $this->CheckColumn("ustid","varchar(32)","lieferadressen","DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferbedingung","TEXT","lieferadressen","DEFAULT '' NOT NULL"); - $this->CheckColumn("ust_befreit","varchar(1)","lieferadressen","DEFAULT '' NOT NULL"); - $this->CheckColumn("gln","varchar(32)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("rechnung_gln","varchar(32)","adresse","DEFAULT '' NOT NULL"); - $this->CheckColumn("keinealtersabfrage","tinyint(1)","adresse","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("keinetrackingmail","int(1)","auftrag"); - $this->CheckColumn("keinetrackingmail","int(1)","versand"); - $this->CheckColumn("improzess","TINYINT(1)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn("improzessuser","INT(1)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn("versandzweigeteilt","TINYINT(1)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn("weitererlieferschein","int(1)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn("anzahlpakete","int(11)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gelesen","int(1)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn("tracking_link", "text", "versand"); - - $this->CheckColumn("paketmarkegedruckt","int(1)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn("papieregedruckt","int(1)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn("cronjob","int(1)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adressvalidation","int(1)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn("retoure","int(11)","versand","DEFAULT '0' NOT NULL"); - $this->CheckColumn('klaergrund','varchar(255)','versand',"DEFAULT '' NOT NULL"); - $this->CheckColumn("permission","int(1)","userrights"); - - // Tabelle userrights - - $this->CheckColumn("inventur","decimal(14,4)","lager_platz_inhalt"); - $this->CheckColumn("lager_platz_vpe","int(11)","lager_platz_inhalt","DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `lager_platz_inhalt` CHANGE `inventur` `inventur` DECIMAL(14,4) NULL DEFAULT NULL;"); - - $this->CheckTable("lager_platz_vpe"); - $this->CheckColumn("id","int(11)","lager_platz_vpe","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("lager_platz","int(11)","lager_platz_vpe"); - $this->CheckColumn("artikel","int(11)","lager_platz_vpe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("inventur","int(11)","lager_platz_vpe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("menge", "decimal(10,2)", "lager_platz_vpe", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("breite", "decimal(10,2)", "lager_platz_vpe", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("hoehe", "decimal(10,2)", "lager_platz_vpe", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("laenge", "decimal(10,2)", "lager_platz_vpe", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("gewicht", "decimal(10,2)", "lager_platz_vpe", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("menge2", "int(11)", "lager_platz_vpe", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("breite2", "decimal(10,2)", "lager_platz_vpe", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("hoehe2", "decimal(10,2)", "lager_platz_vpe", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("laenge2", "decimal(10,2)", "lager_platz_vpe", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("gewicht2", "decimal(10,2)", "lager_platz_vpe", "DEFAULT '0' NOT NULL"); - - $this->CheckColumn("startseite","varchar(1024)","user"); - $this->CheckColumn("webid","varchar(1024)","adresse"); - $this->CheckColumn("titel","varchar(1024)","adresse"); - $this->CheckColumn("anschreiben","varchar(1024)","adresse"); - $this->CheckColumn("titel","varchar(1024)","ansprechpartner"); - $this->CheckColumn("anschreiben","varchar(1024)","ansprechpartner"); - $this->CheckColumn("ansprechpartner_land","varchar(255)","ansprechpartner"); - $this->CheckColumn("vorname","varchar(1024)","ansprechpartner"); - $this->CheckColumn("interne_bemerkung","varchar(1024)","ansprechpartner", "NOT NULL"); - - $this->CheckColumn("geburtstag","DATE","ansprechpartner"); - $this->CheckColumn("geburtstagkalender","tinyint(1)","ansprechpartner","DEFAULT '0' NOT NULL"); - $this->CheckColumn("geburtstagskarte","tinyint(1)","ansprechpartner","DEFAULT '0' NOT NULL"); - $this->CheckColumn("geloescht","tinyint(1)","ansprechpartner","DEFAULT '0' NOT NULL"); - - $this->CheckTable("ansprechpartner_gruppen"); - $this->CheckColumn("id","int(11)","ansprechpartner_gruppen","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("ansprechpartner","int(11)","ansprechpartner_gruppen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gruppe","int(11)","ansprechpartner_gruppen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","ansprechpartner_gruppen","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("geloescht","int(1)","shopexport"); - $this->CheckColumn("multiprojekt","int(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auftragabgleich","int(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("adressupdate","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kundenurvonprojekt","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("eigenschaftenuebertragen","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kategorienuebertragen","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("stornoabgleich","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("nurpreise","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("steuerfreilieferlandexport","tinyint(1)","shopexport","DEFAULT '1' NOT NULL"); - $this->CheckColumn("gutscheineuebertragen","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - - $this->CheckAlterTable("ALTER TABLE `shopexport` CHANGE `steuerfreilieferlandexport` `steuerfreilieferlandexport` TINYINT(1) NOT NULL DEFAULT '1'"); - $this->CheckColumn("gesamtbetragfestsetzen","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lastschriftdatenueberschreiben","tinyint(1)","shopexport","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gesamtbetragfestsetzendifferenz","decimal(10,2)","shopexport","DEFAULT '0' NOT NULL"); -/* - $this->CheckAlterTable("ALTER TABLE shopexport DROP COLUMN `gesamtbetragfestsetzendifferenz`"); -*/ - $this->CheckTable("shopexport_archiv"); - $this->CheckColumn("id","int(11)","shopexport_archiv","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("shop","int(11)","shopexport_archiv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("anzahl","int(11)","shopexport_archiv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("erfolgreich","int(11)","shopexport_archiv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("status","varchar(255)","shopexport_archiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("letzteabgeholtenummer","varchar(255)","shopexport_archiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("type","varchar(255)","shopexport_archiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("datumvon","timestamp", "shopexport_archiv", ""); - $this->CheckColumn("datumbis","timestamp", "shopexport_archiv", ""); - $this->CheckColumn("nummervon","varchar(255)","shopexport_archiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("nummerbis","varchar(255)","shopexport_archiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("abschliessen","tinyint(1)","shopexport_archiv","DEFAULT '1' NOT NULL"); - $this->CheckColumn("stornierteabholen","tinyint(1)","shopexport_archiv","DEFAULT '1' NOT NULL"); - $this->CheckColumn("rechnung_erzeugen","tinyint(1)","shopexport_archiv","DEFAULT '1' NOT NULL"); - $this->CheckColumn("rechnung_bezahlt","tinyint(1)","shopexport_archiv","DEFAULT '1' NOT NULL"); - $this->CheckColumn("bearbeiter","varchar(255)","shopexport_archiv","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel","timestamp","shopexport_archiv","DEFAULT CURRENT_TIMESTAMP"); - $this->CheckColumn('donotimport','tinyint(1)','shopexport_archiv','DEFAULT 0 NOT NULL'); - $this->CheckIndex("shopexport_archiv", "shop"); - - $this->CheckColumn("produktioninfo","text","artikel"); - $this->CheckColumn("sonderaktion","text","artikel"); - $this->CheckColumn("sonderaktion_en","text","artikel"); - $this->CheckColumn("anabregs_text","text","artikel"); - $this->CheckColumn("anabregs_text_en","text","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("restmenge","int(1)","artikel"); - $this->CheckColumn("autobestellung","int(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("autolagerlampe","int(1)","artikel","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("produktion","int(1)","artikel"); - $this->CheckColumn("herstellernummer","varchar(255)","artikel"); - $this->CheckColumn("vkmeldungunterdruecken","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("altersfreigabe","varchar(3)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn("unikatbeikopie","tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("steuergruppe","int(11)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kostenstelle","varchar(10)","artikel","DEFAULT '' NOT NULL"); - - $this->CheckColumn("kundenartikelnummer","varchar(255)","verkaufspreise"); - $this->CheckColumn("art","varchar(255)","verkaufspreise","DEFAULT 'Kunde' NOT NULL"); - $this->CheckColumn("gruppe","int(11)","verkaufspreise"); - $this->CheckColumn("apichange","tinyint(1)","verkaufspreise","DEFAULT '0' NOT NULL"); - $this->CheckColumn("inbelegausblenden","tinyint(1)","verkaufspreise","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gueltig_ab","DATE","verkaufspreise","DEFAULT '0000-00-00' NOT NULL"); - $this->CheckColumn('kurs','DECIMAL(14,4)','verkaufspreise','DEFAULT -1'); - $this->CheckColumn('kursdatum','DATE','verkaufspreise','DEFAULT NULL'); - - $this->CheckColumn("apichange","tinyint(1)","einkaufspreise","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rahmenvertrag","tinyint(1)","einkaufspreise","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rahmenvertrag_von","DATE","einkaufspreise"); - $this->CheckColumn("rahmenvertrag_bis","DATE","einkaufspreise"); - $this->CheckColumn("rahmenvertrag_menge","INT(11)","einkaufspreise","DEFAULT '0' NOT NULL"); - $this->CheckColumn("beschreibung","TEXT","einkaufspreise","DEFAULT '' NOT NULL"); - - $this->CheckColumn("allDay","int(1)","kalender_event"); - $this->CheckColumn("color","varchar(7)","kalender_event"); - - $this->CheckColumn("ganztags","int(1)","aufgabe","DEFAULT '1' NOT NULL"); - $this->CheckColumn("abgabe_bis_zeit","TIME","aufgabe"); - $this->CheckColumn("abgabe_bis","DATE","aufgabe"); - $this->CheckColumn("email_gesendet_vorankuendigung","tinyint(1)","aufgabe","DEFAULT '0' NOT NULL"); - $this->CheckColumn("email_gesendet","tinyint(1)","aufgabe","DEFAULT '0' NOT NULL"); - - // Tabelle linkeditor - $this->CheckTable("adresse_kontakte"); - $this->CheckColumn("id","int(11)","adresse_kontakte"); - $this->CheckColumn("adresse","int(11)","adresse_kontakte"); - $this->CheckColumn("bezeichnung","varchar(1024)","adresse_kontakte"); - $this->CheckColumn("kontakt","varchar(1024)","adresse_kontakte"); - - $this->CheckTable("pos_rksv"); - $this->CheckColumn("id","int(11)","pos_rksv"); - $this->CheckColumn("projekt","int(11)","pos_rksv"); - $this->CheckColumn("rechnung","int(11)","pos_rksv"); - $this->CheckColumn("belegnummer","int(11)","pos_rksv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("betragnormal","DECIMAL(18,2)","pos_rksv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("betragermaessigt1","DECIMAL(18,2)","pos_rksv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("betragermaessigt2","DECIMAL(18,2)","pos_rksv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("betragbesonders","DECIMAL(18,2)","pos_rksv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("betragnull","DECIMAL(18,2)","pos_rksv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("umsatzzaehler","DECIMAL(18,2)","pos_rksv","DEFAULT '0' NOT NULL"); - $this->CheckColumn("umsatzzaehler_aes","TEXT","pos_rksv","DEFAULT '' NOT NULL"); - $this->CheckColumn("signatur","TEXT","pos_rksv","DEFAULT '' NOT NULL"); - $this->CheckColumn("jwscompact","TEXT","pos_rksv","DEFAULT '' NOT NULL"); - $this->CheckColumn("belegart","varchar(10)","pos_rksv","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel","DATETIME","pos_rksv"); - - // Tabelle linkeditor - $this->CheckTable("adresse_accounts"); - $this->CheckColumn("id","int(11)","adresse_accounts"); - $this->CheckColumn("aktiv","tinyint(1)","adresse_accounts","DEFAULT '1' NOT NULL"); - $this->CheckColumn("adresse","int(11)","adresse_accounts"); - $this->CheckColumn("bezeichnung","varchar(128)","adresse_accounts"); - $this->CheckColumn("art","varchar(128)","adresse_accounts"); - $this->CheckColumn("url","TEXT","adresse_accounts","DEFAULT '' NOT NULL"); - $this->CheckColumn("benutzername","TEXT","adresse_accounts","DEFAULT '' NOT NULL"); - $this->CheckColumn("passwort","TEXT","adresse_accounts","DEFAULT '' NOT NULL"); - $this->CheckColumn("webid","int(11)","adresse_accounts","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gueltig_ab","DATE","adresse_accounts"); - $this->CheckColumn("gueltig_bis","DATE","adresse_accounts"); - - $this->CheckColumn("gesamtstunden_max","int(11)","projekt"); - $this->CheckColumn("auftragid","int(11)","projekt"); - $this->CheckColumn("auftragid","int(11)","arbeitspaket"); - $this->CheckColumn("sort","int(11)","arbeitspaket","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("ek_geplant","DECIMAL(18,8)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("vk_geplant","DECIMAL(18,8)","arbeitspaket","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kalkulationbasis","varchar(64)","arbeitspaket","DEFAULT 'stundenbasis' NOT NULL"); - $this->CheckColumn("vkkalkulationbasis","varchar(64)","arbeitspaket","DEFAULT NULL"); - $this->CheckColumn("projektplanausblenden","tinyint(1)","arbeitspaket","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("arbeitsnachweis","int(11)","zeiterfassung"); - $this->CheckColumn("nachbestelltexternereinkauf","int(1)","auftrag_position"); - - $this->CheckColumn("dhlzahlungmandant","varchar(3)","projekt","NOT NULL COMMENT 'DHL Zahlungsmandant ID'"); - $this->CheckColumn("dhlretourenschein","int(1)","projekt","NOT NULL COMMENT 'Retourenschein drucken 1=ja;0=nein'"); - $this->CheckColumn("kommissionierlauflieferschein","tinyint(1)","projekt","NOT NULL DEFAULT '0'"); - $this->CheckColumn("intraship_exportdrucker","int(11)","projekt","NOT NULL DEFAULT '0'"); - $this->CheckColumn("multiorderpicking","tinyint(1)","projekt","NOT NULL DEFAULT '0'"); - - $this->CheckColumn("marketingsperre","tinyint(1)","ansprechpartner","DEFAULT '0' NOT NULL"); - // Tabelle textvorlagen - $this->CheckTable("textvorlagen"); - $this->CheckColumn("name","varchar(255)","textvorlagen"); - $this->CheckColumn("text","text","textvorlagen"); - $this->CheckColumn("stichwoerter","varchar(255)","textvorlagen"); - $this->CheckColumn("projekt","varchar(255)","textvorlagen"); - - $this->CheckTable("module_lock"); - $this->CheckColumn("module","varchar(255)","module_lock"); - $this->CheckColumn("action","varchar(255)","module_lock"); - $this->CheckColumn("userid","int(15)","module_lock","DEFAULT '0'"); - $this->CheckColumn("salt","varchar(255)","module_lock","DEFAULT ''"); - $this->CheckColumn("zeit","timestamp","module_lock","DEFAULT CURRENT_TIMESTAMP"); - - $this->CheckColumn("abweichendebezeichnung","tinyint(1)","angebot", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("abweichendebezeichnung","tinyint(1)","auftrag", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("abweichendebezeichnung","tinyint(1)","rechnung", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("abweichendebezeichnung","tinyint(1)","lieferschein", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("abweichendebezeichnung","tinyint(1)","bestellung", "DEFAULT '0' NOT NULL"); - - $this->CheckColumn("anzeigesteuer","tinyint(11)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("anzeigesteuer","tinyint(11)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("anzeigesteuer","tinyint(11)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("anzeigesteuer","tinyint(11)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("anzeigesteuer","tinyint(11)","bestellung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("anzeigesteuer","tinyint(11)","proformarechnung","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("serienbrief","tinyint(1)","adresse","DEFAULT '0' NOT NULL"); - - $this->CheckTable("shopimport_auftraege"); - $this->CheckColumn("shopid","int(15)","shopimport_auftraege","DEFAULT '0'"); - $this->CheckColumn("bestellnummer","varchar(255)","shopimport_auftraege","DEFAULT NULL"); - $this->CheckColumn("jsonencoded","tinyint(1)","shopimport_auftraege","DEFAULT '0' NOT NULL"); - - $this->CheckTable('onlineshop_transfer_cart'); - $this->CheckColumn('shop_id', 'int(11)', 'onlineshop_transfer_cart', 'DEFAULT 0 NOT NULL'); - $this->CheckColumn('cart_original', 'mediumtext', 'onlineshop_transfer_cart'); - $this->CheckColumn('cart_transfer', 'mediumtext', 'onlineshop_transfer_cart'); - $this->CheckColumn('template', 'mediumtext', 'onlineshop_transfer_cart'); - $this->CheckColumn('extid','varchar(255)','onlineshop_transfer_cart',"DEFAULT ''"); - $this->CheckColumn('internet','varchar(255)','onlineshop_transfer_cart',"DEFAULT ''"); - $this->CheckColumn('status','varchar(255)','onlineshop_transfer_cart',"DEFAULT ''"); - $this->CheckColumn('created_at', 'timestamp', 'onlineshop_transfer_cart', 'NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'); - $this->CheckIndex('onlineshop_transfer_cart', 'shop_id'); - $this->CheckIndex('onlineshop_transfer_cart', 'extid'); - - $this->CheckTable('onlineshops_tasks'); - $this->CheckColumn('id','int(11)','onlineshops_tasks','NOT NULL AUTO_INCREMENT'); - $this->CheckColumn('shop_id','int(15)','onlineshops_tasks','DEFAULT \'0\''); - $this->CheckColumn('command','varchar(255)','onlineshops_tasks','DEFAULT \'\''); - $this->CheckColumn('status','varchar(255)','onlineshops_tasks','DEFAULT \'inactive\''); - $this->CheckColumn('counter','int(15)','onlineshops_tasks','DEFAULT \'0\''); - $this->CheckColumn('created', 'timestamp', 'onlineshops_tasks', 'NOT NULL DEFAULT CURRENT_TIMESTAMP'); - $this->CheckColumn('lastupdate', 'timestamp', 'onlineshops_tasks', 'NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'); - $this->CheckColumn("bezahlt_am","DATE","rechnung","DEFAULT NULL"); - - - - $this->CheckColumn("artikelautokalkulation", "int(11)", "artikel", "NOT NULL DEFAULT 0"); - $this->CheckColumn("artikelabschliessenkalkulation", "int(11)", "artikel", "NOT NULL DEFAULT 0"); - $this->CheckColumn("artikelfifokalkulation", "int(11)", "artikel", "NOT NULL DEFAULT 0"); - $this->CheckColumn("lagertext", "varchar(255)", "lieferschein_position", "NOT NULL DEFAULT ''"); - - $this->CheckTable("objekt_lager_platz"); - $this->CheckColumn("id","int(11)","objekt_lager_platz","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("parameter", "int(11)", "objekt_lager_platz", "NOT NULL DEFAULT '0'"); - $this->CheckColumn("objekt", "varchar(255)", "objekt_lager_platz", "NOT NULL DEFAULT ''"); - $this->CheckColumn("artikel", "int(11)", "objekt_lager_platz", "NOT NULL DEFAULT '0'"); - $this->CheckColumn("lager_platz", "int(11)", "objekt_lager_platz", "NOT NULL DEFAULT '0'"); - $this->CheckColumn("menge", "DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().")", "objekt_lager_platz", "NOT NULL DEFAULT '0'"); - $this->CheckColumn("kommentar","varchar(255)","objekt_lager_platz","DEFAULT ''"); - $this->CheckColumn("bearbeiter","varchar(255)","objekt_lager_platz","DEFAULT ''"); - $this->CheckColumn("zeitstempel","timestamp","objekt_lager_platz","DEFAULT CURRENT_TIMESTAMP"); - - //Währung Umrechnungstabelle - - $this->CheckColumn("nichtberechnet", "tinyint(1)", "einkaufspreise", "NOT NULL DEFAULT '1'"); - $this->CheckColumn("nichtberechnet", "tinyint(1)", "verkaufspreise", "NOT NULL DEFAULT '1'"); - - $this->CheckTable("sammelrechnung_position"); - $this->CheckColumn("id","int(11)","sammelrechnung_position","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("adresse","INT(11)","sammelrechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rechnung","INT(11)","sammelrechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("menge","float","sammelrechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rechnung_position_id","INT(11)","sammelrechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auftrag_position_id","INT(11)","sammelrechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferschein_position_id","INT(11)","sammelrechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("preis","DECIMAL(18,8)","sammelrechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auswahl","tinyint(0)","sammelrechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kommissionierung", "INT(11)","lieferschein", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("cronjobkommissionierung", "INT(11)","auftrag", "DEFAULT '0' NOT NULL"); - - $this->CheckTable("kommissionierung"); - $this->CheckColumn("id","int(11)","kommissionierung","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("zeitstempel", "TIMESTAMP", "kommissionierung", "NOT NULL DEFAULT CURRENT_TIMESTAMP"); - $this->CheckColumn("bearbeiter","varchar(255)","kommissionierung","DEFAULT '' NOT NULL"); - $this->CheckColumn("user","INT(11)","kommissionierung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kommentar","varchar(255)","kommissionierung","DEFAULT '' NOT NULL"); - $this->CheckColumn("abgeschlossen","tinyint(1)","kommissionierung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("improzess","tinyint(1)","kommissionierung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bezeichnung","varchar(40)","kommissionierung","DEFAULT '' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `kommissionierung` CHANGE `bezeichnung` `bezeichnung` VARCHAR(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';"); - $this->CheckColumn('skipconfirmboxscan','tinyint(1)','kommissionierung','DEFAULT -1 NOT NULL'); - - $this->CheckTable('cronjob_kommissionierung'); - $this->CheckColumn('id','int(11)','cronjob_kommissionierung','NOT NULL AUTO_INCREMENT'); - $this->CheckColumn('zeitstempel', 'TIMESTAMP', 'cronjob_kommissionierung', 'NOT NULL DEFAULT CURRENT_TIMESTAMP'); - $this->CheckColumn('bezeichnung','varchar(40)','cronjob_kommissionierung',"DEFAULT '' NOT NULL"); - - $this->CheckTable("kommissionierung_position"); - $this->CheckColumn("id","int(11)","kommissionierung_position","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("artikel","INT(11)","kommissionierung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lager_platz","INT(11)","kommissionierung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kommissionierung","INT(11)","kommissionierung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ausgeblendet","tinyint(1)","kommissionierung_position","DEFAULT '0' NOT NULL"); - - $this->CheckTable("kommissionierung_position_ls"); - $this->CheckColumn("id","int(11)","kommissionierung_position_ls","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("kommissionierung","INT(11)","kommissionierung_position_ls","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikel","INT(11)","kommissionierung_position_ls","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lager_platz","INT(11)","kommissionierung_position_ls","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferschein","INT(11)","kommissionierung_position_ls","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ausgeblendet","tinyint(1)","kommissionierung_position_ls","DEFAULT '0' NOT NULL"); - $this->CheckColumn("rabatteportofestschreiben","tinyint(1)","auftrag","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("passwordsha512","varchar(128)","user","DEFAULT '' NOT NULL"); - $this->CheckColumn("salt","varchar(128)","user","DEFAULT '' NOT NULL"); - - $this->CheckColumn("sprache","VARCHAR(32)","adresse","DEFAULT '' NOT NULL "); - $this->CheckColumn("sprache","VARCHAR(32)","auftrag","DEFAULT '' NOT NULL "); - $this->CheckColumn("sprache","VARCHAR(32)","angebot","DEFAULT '' NOT NULL "); - $this->CheckColumn("sprache","VARCHAR(32)","rechnung","DEFAULT '' NOT NULL "); - $this->CheckColumn("sprache","VARCHAR(32)","lieferschein","DEFAULT '' NOT NULL "); - $this->CheckColumn("sprache","VARCHAR(32)","gutschrift","DEFAULT '' NOT NULL "); - $this->CheckColumn("sprache","VARCHAR(32)","bestellung","DEFAULT '' NOT NULL "); - $this->CheckColumn("sprache","VARCHAR(32)","anfrage","DEFAULT '' NOT NULL "); - - $this->CheckColumn("sprache","VARCHAR(32)","proformarechnung","DEFAULT '' NOT NULL "); - - $this->CheckColumn("kostenstelle","VARCHAR(10)","angebot","DEFAULT '' NOT NULL "); - $this->CheckColumn("kostenstelle","VARCHAR(10)","auftrag","DEFAULT '' NOT NULL "); - $this->CheckColumn("kostenstelle","VARCHAR(10)","rechnung","DEFAULT '' NOT NULL "); - $this->CheckColumn("kostenstelle","VARCHAR(10)","gutschrift","DEFAULT '' NOT NULL "); - $this->CheckColumn("kostenstelle","VARCHAR(10)","bestellung","DEFAULT '' NOT NULL "); - $this->CheckColumn("kostenstelle","VARCHAR(10)","lieferschein","DEFAULT '' NOT NULL "); - - $this->CheckColumn("bodyzusatz","TEXT","auftrag","DEFAULT '' NOT NULL "); - $this->CheckColumn("bodyzusatz","TEXT","angebot","DEFAULT '' NOT NULL "); - $this->CheckColumn("bodyzusatz","TEXT","rechnung","DEFAULT '' NOT NULL "); - $this->CheckColumn("bodyzusatz","TEXT","lieferschein","DEFAULT '' NOT NULL "); - $this->CheckColumn("bodyzusatz","TEXT","gutschrift","DEFAULT '' NOT NULL "); - $this->CheckColumn("bodyzusatz","TEXT","bestellung","DEFAULT '' NOT NULL "); - $this->CheckColumn("bodyzusatz","TEXT","anfrage","DEFAULT '' NOT NULL "); - - $this->CheckColumn("bodyzusatz","TEXT","proformarechnung","DEFAULT '' NOT NULL "); - - $this->CheckColumn("lieferbedingung","TEXT","anfrage","DEFAULT '' NOT NULL "); - $this->CheckColumn("lieferbedingung","TEXT","angebot","DEFAULT '' NOT NULL "); - $this->CheckColumn("lieferbedingung","TEXT","auftrag","DEFAULT '' NOT NULL "); - $this->CheckColumn("lieferbedingung","TEXT","rechnung","DEFAULT '' NOT NULL "); - $this->CheckColumn("lieferbedingung","TEXT","gutschrift","DEFAULT '' NOT NULL "); - $this->CheckColumn("lieferbedingung","TEXT","lieferschein","DEFAULT '' NOT NULL "); - - $this->CheckColumn("lieferbedingung","TEXT","bestellung","DEFAULT '' NOT NULL "); - $this->CheckColumn("lieferbedingung","TEXT","adresse","DEFAULT '' NOT NULL "); - - $this->CheckColumn("titel","VARCHAR(64)","anfrage","DEFAULT '' NOT NULL "); - $this->CheckColumn("titel","VARCHAR(64)","angebot","DEFAULT '' NOT NULL "); - $this->CheckColumn("titel","VARCHAR(64)","auftrag","DEFAULT '' NOT NULL "); - $this->CheckColumn("titel","VARCHAR(64)","rechnung","DEFAULT '' NOT NULL "); - $this->CheckColumn("titel","VARCHAR(64)","gutschrift","DEFAULT '' NOT NULL "); - $this->CheckColumn("titel","VARCHAR(64)","lieferschein","DEFAULT '' NOT NULL "); - - $this->CheckColumn("titel","VARCHAR(64)","bestellung","DEFAULT '' NOT NULL "); - $this->CheckColumn("liefertitel","VARCHAR(64)","bestellung","DEFAULT '' NOT NULL "); - $this->CheckColumn("liefertitel","VARCHAR(64)","auftrag","DEFAULT '' NOT NULL "); - $this->CheckColumn("liefertitel","VARCHAR(64)","angebot","DEFAULT '' NOT NULL "); - - $this->CheckColumn("kundennummer","VARCHAR(64)","adresse","DEFAULT '' NOT NULL "); - $this->CheckColumn("kundennummer","VARCHAR(64)","auftrag","DEFAULT '' NOT NULL "); - $this->CheckColumn("kundennummer","VARCHAR(64)","angebot","DEFAULT '' NOT NULL "); - $this->CheckColumn("kundennummer","VARCHAR(64)","rechnung","DEFAULT '' NOT NULL "); - $this->CheckColumn("kundennummer","VARCHAR(64)","gutschrift","DEFAULT '' NOT NULL "); - $this->CheckColumn("kundennummer","VARCHAR(64)","lieferschein","DEFAULT '' NOT NULL "); - $this->CheckColumn("kundennummerlieferant","VARCHAR(64)","bestellung","DEFAULT '' NOT NULL "); - - $this->CheckColumn('retoure_position','INT(11)','paketdistribution','DEFAULT 0 NOT NULL'); - - $this->CheckColumn("standardlager","INT(11)","auftrag","DEFAULT '0' NOT NULL "); - $this->CheckColumn("standardlager","INT(11)","lieferschein","DEFAULT '0' NOT NULL "); - $this->CheckColumn("standardlager","INT(11)","projekt","DEFAULT '0' NOT NULL "); - $this->CheckColumn('standardlager','INT(11)','angebot','DEFAULT 0 NOT NULL '); - $this->CheckColumn("standardlagerproduktion","INT(11)","projekt","DEFAULT '0' NOT NULL "); - - $this->CheckColumn("klarna_merchantid","VARCHAR(64)","projekt","DEFAULT '' NOT NULL "); - $this->CheckColumn("klarna_sharedsecret","VARCHAR(64)","projekt","DEFAULT '' NOT NULL "); - $this->CheckColumn("nurlagerartikel","TINYINT(1)","projekt","DEFAULT '1' NOT NULL"); - $this->CheckColumn("paketmarkedrucken","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferscheinedrucken","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("lieferscheinedruckenmenge","INT(11)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("auftragdrucken","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auftragdruckenmenge","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("druckennachtracking","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("exportdruckrechnungstufe1","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("exportdruckrechnungstufe1menge","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("exportdruckrechnung","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("exportdruckrechnungmenge","INT(11)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("kommissionierlistestufe1","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kommissionierlistestufe1menge","INT(11)","projekt","DEFAULT '0' NOT NULL"); - $this->CheckColumn("fremdnummerscanerlauben","TINYINT(1)","projekt","DEFAULT '0' NOT NULL"); - - $this->CheckColumn('zvt100url','varchar(255)','projekt',"DEFAULT '' NOT NULL"); - $this->CheckColumn('zvt100port','varchar(5)','projekt',"DEFAULT '' NOT NULL"); - $this->CheckColumn('production_show_only_needed_storages','TINYINT(1)','projekt','DEFAULT 0 NOT NULL'); - $this->CheckColumn('produktion_extra_seiten','TINYINT(1)','projekt','DEFAULT 0 NOT NULL'); - $this->CheckColumn('kasse_button_trinkgeldeckredit','TINYINT(1)','projekt','DEFAULT 0 NOT NULL'); - $this->CheckColumn('kasse_autologout','INT(11)','projekt','DEFAULT 0 NOT NULL'); - $this->CheckColumn('kasse_autologout_abschluss','INT(11)','projekt','DEFAULT 0 NOT NULL'); - - $this->CheckColumn("standardlager","INT(11)","produktion","DEFAULT '0' NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `artikel` CHANGE `pseudolager` `pseudolager` VARCHAR( 255 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `artikel_onlineshops` CHANGE `pseudolager` `pseudolager` VARCHAR( 255 ) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `kontoauszuege` CHANGE `pruefsumme` `pruefsumme` VARCHAR( 255 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `emailbackup_mails` CHANGE `subject` `subject` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `emailbackup_mails` CHANGE `checksum` `checksum` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL "); - - $sqlviews = array('belege'=>"VIEW `belege` AS select `rechnung`.`id` AS `id`,`rechnung`.`adresse` AS `adresse`,`rechnung`.`datum` AS `datum`,`rechnung`.`belegnr` AS `belegnr`,`rechnung`.`status` AS `status`,`rechnung`.`land` AS `land`,'rechnung' AS `typ`,`rechnung`.`umsatz_netto` AS `umsatz_netto`,`rechnung`.`erloes_netto` AS `erloes_netto`,`rechnung`.`deckungsbeitrag` AS `deckungsbeitrag`,`rechnung`.`provision_summe` AS `provision_summe`,`rechnung`.`vertriebid` AS `vertriebid`,`rechnung`.`gruppe` AS `gruppe` from `rechnung` where (`rechnung`.`status` <> 'angelegt') - union all select `gutschrift`.`id` AS `id`,`gutschrift`.`adresse` AS `adresse`,`gutschrift`.`datum` AS `datum`,`gutschrift`.`belegnr` AS `belegnr`,`gutschrift`.`status` AS `status`,`gutschrift`.`land` AS `land`,'gutschrift' AS `typ`,(`gutschrift`.`umsatz_netto` * -(1)) AS `umsatz_netto*-1`,(`gutschrift`.`erloes_netto` * -(1)) AS `erloes_netto*-1`,(`gutschrift`.`deckungsbeitrag` * -(1)) AS `deckungsbeitrag*-1`,(`gutschrift`.`provision_summe` * -(1)) AS `provision_summe*-1`,`gutschrift`.`vertriebid` AS `vertriebid`,`gutschrift`.`gruppe` AS `gruppe` from `gutschrift` where (`gutschrift`.`status` <> 'angelegt');", - 'belegegesamt'=>"view `belegegesamt` AS - select `rechnung`.`id` AS `id`,`rechnung`.`adresse` AS `adresse`,`rechnung`.`datum` AS `datum`,`rechnung`.`belegnr` AS `belegnr`,`rechnung`.`status` AS `status`,`rechnung`.`land` AS `land`,'rechnung' AS `typ`,`rechnung`.`umsatz_netto` AS `umsatz_netto`,`rechnung`.`soll` AS `umsatz_brutto`,`rechnung`.`erloes_netto` AS `erloes_netto`,`rechnung`.`deckungsbeitrag` AS `deckungsbeitrag`,`rechnung`.`provision_summe` AS `provision_summe`,`rechnung`.`vertriebid` AS `vertriebid`,`rechnung`.`gruppe` AS `gruppe`,`rechnung`.`projekt` AS `projekt` - from `rechnung` - - union all select `gutschrift`.`id` AS `id`,`gutschrift`.`adresse` AS `adresse`,`gutschrift`.`datum` AS `datum`,`gutschrift`.`belegnr` AS `belegnr`,`gutschrift`.`status` AS `status`,`gutschrift`.`land` AS `land`,'gutschrift' AS `typ`,(`gutschrift`.`umsatz_netto` * -(1)) AS `umsatz_netto*-1`,(`gutschrift`.`soll` * -(1)) AS `umsatz_brutto*-1`,(`gutschrift`.`erloes_netto` * -(1)) AS `erloes_netto*-1`,(`gutschrift`.`deckungsbeitrag` * -(1)) AS `deckungsbeitrag*-1`,(`gutschrift`.`provision_summe` * -(1)) AS `provision_summe*-1`,`gutschrift`.`vertriebid` AS `vertriebid`,`gutschrift`.`gruppe` AS `gruppe`,`gutschrift`.`projekt` AS `projekt` - from `gutschrift` - - union all select `auftrag`.`id` AS `id`,`auftrag`.`adresse` AS `adresse`,`auftrag`.`datum` AS `datum`,`auftrag`.`belegnr` AS `belegnr`,`auftrag`.`status` AS `status`,`auftrag`.`land` AS `land`,'auftrag' AS `typ`,`auftrag`.`umsatz_netto` AS `umsatz_netto`,`auftrag`.`gesamtsumme` AS `umsatz_brutto`,`auftrag`.`erloes_netto` AS `erloes_netto`,`auftrag`.`deckungsbeitrag` AS `deckungsbeitrag`,`auftrag`.`provision_summe` AS `provision_summe`,`auftrag`.`vertriebid` AS `vertriebid`,`auftrag`.`gruppe` AS `gruppe`, `auftrag`.`projekt` AS `projekt` - from `auftrag` - - union all select `bestellung`.`id` AS `id`,`bestellung`.`adresse` AS `adresse`,`bestellung`.`datum` AS `datum`,`bestellung`.`belegnr` AS `belegnr`,`bestellung`.`status` AS `status`,`bestellung`.`land` AS `land`,'bestellung' AS `typ`,`bestellung`.`gesamtsumme` AS `umsatz_netto`,`bestellung`.`gesamtsumme` AS `umsatz_brutto`,'0' AS `erloes_netto`,'0' AS `deckungsbeitrag`,'0' AS `provision_summe`,'0' AS `vertriebid`,'0' AS `gruppe`, `bestellung`.`projekt` AS `projekt` - from `bestellung` - union all select `lieferschein`.`id` AS `id`,`lieferschein`.`adresse` AS `adresse`,`lieferschein`.`datum` AS `datum`,`lieferschein`.`belegnr` AS `belegnr`,`lieferschein`.`status` AS `status`,`lieferschein`.`land` AS `land`,'lieferschein' AS `typ`,'0' AS `umsatz_netto`,'0' AS `umsatz_brutto`,'0' AS `erloes_netto`,'0' AS `deckungsbeitrag`,'0' AS `provision_summe`,'0' AS `vertriebid`,'0' AS `gruppe`, `lieferschein`.`projekt` AS `projekt` - from `lieferschein` - union all select `angebot`.`id` AS `id`,`angebot`.`adresse` AS `adresse`,`angebot`.`datum` AS `datum`,`angebot`.`belegnr` AS `belegnr`,`angebot`.`status` AS `status`,`angebot`.`land` AS `land`,'angebot' AS `typ`,`angebot`.`umsatz_netto` AS `umsatz_netto`,`angebot`.`gesamtsumme` AS `umsatz_brutto`,'0' AS `erloes_netto`,`angebot`.deckungsbeitrag AS `deckungsbeitrag`,'0' AS `provision_summe`,`angebot`.vertriebid AS `vertriebid`,'0' AS `gruppe`, `angebot`.`projekt` AS `projekt` - from `angebot` - ", - 'belegeregs'=>"view `belegeregs` AS - select `rechnung`.`id` AS `id`,`rechnung`.`adresse` AS `adresse`,`rechnung`.`datum` AS `datum`,`rechnung`.`belegnr` AS `belegnr`,`rechnung`.`status` AS `status`,`rechnung`.`land` AS `land`,'rechnung' AS `typ`,`rechnung`.`umsatz_netto` AS `umsatz_netto`,`rechnung`.`erloes_netto` AS `erloes_netto`,`rechnung`.`deckungsbeitrag` AS `deckungsbeitrag`,`rechnung`.`provision_summe` AS `provision_summe`,`rechnung`.`vertriebid` AS `vertriebid`,`rechnung`.`gruppe` AS `gruppe`,`rechnung`.`projekt` AS `projekt` - from `rechnung` - - union all select `gutschrift`.`id` AS `id`,`gutschrift`.`adresse` AS `adresse`,`gutschrift`.`datum` AS `datum`,`gutschrift`.`belegnr` AS `belegnr`,`gutschrift`.`status` AS `status`,`gutschrift`.`land` AS `land`,'gutschrift' AS `typ`,(`gutschrift`.`umsatz_netto` * -(1)) AS `umsatz_netto*-1`,(`gutschrift`.`erloes_netto` * -(1)) AS `erloes_netto*-1`,(`gutschrift`.`deckungsbeitrag` * -(1)) AS `deckungsbeitrag*-1`,(`gutschrift`.`provision_summe` * -(1)) AS `provision_summe*-1`,`gutschrift`.`vertriebid` AS `vertriebid`,`gutschrift`.`gruppe` AS `gruppe`,`gutschrift`.`projekt` AS `projekt` - from `gutschrift`" - ); - - foreach($sqlviews as $view => $sql) - { - $this->app->DB->Query("create or replace $sql "); - if($this->app->DB->error()) - { - $this->app->DB->Query("DROP TABLE IF EXISTS `$view`"); - $this->app->DB->Query("create or replace $sql "); - if($this->app->DB->error()) - { - $this->app->DB->Query("DROP VIEW IF EXISTS `$view`"); - $this->app->DB->Query("CREATE ALGORITHM=UNDEFINED DEFINER=`".$this->app->Conf->WFdbuser."`@`".$this->app->Conf->WFdbhost."` SQL SECURITY DEFINER $sql "); - } - } - } - - $this->CheckTable('system_disk_free'); - $this->CheckColumn('disk_free_kb_start', 'INT(11)', 'system_disk_free', 'DEFAULT NULL'); - $this->CheckColumn('disk_free_kb_end', 'INT(11)','system_disk_free', 'DEFAULT NULL'); - $this->CheckColumn('db_size', 'INT(11)','system_disk_free', 'DEFAULT NULL'); - $this->CheckColumn('userdata_mb_size', 'INT(11)','system_disk_free', 'DEFAULT NULL'); - $this->CheckColumn('created_at','TIMESTAMP','system_disk_free'); - $this->CheckIndex('system_disk_free', 'created_at'); - - - $this->CheckTable("api_mapping"); - $this->CheckColumn("id","int(11)","api_mapping","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("api","INT(11)","api_mapping","DEFAULT '0' NOT NULL"); - $this->CheckColumn("uebertragung_account","INT(11)","api_mapping","DEFAULT '0' NOT NULL"); - $this->CheckColumn("tabelle","varchar(64)","api_mapping","DEFAULT '' NOT NULL"); - $this->CheckColumn("id_int","INT(11)","api_mapping","DEFAULT '0' NOT NULL"); - $this->CheckColumn("id_ext","VARCHAR(64)","api_mapping","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel","timestamp","api_mapping","NOT NULL DEFAULT CURRENT_TIMESTAMP"); - $this->CheckIndex("api_mapping", "uebertragung_account"); - $this->CheckIndex("api_mapping", "id_ext"); - $this->CheckTable('api_account'); - $this->CheckColumn("id","int(11)","api_account","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bezeichnung","varchar(64)","api_account","DEFAULT '' NOT NULL"); - $this->CheckColumn("initkey","varchar(128)","api_account","DEFAULT '' NOT NULL"); - $this->CheckColumn("importwarteschlange_name","varchar(64)","api_account","DEFAULT '' NOT NULL"); - $this->CheckColumn("event_url","varchar(128)","api_account","DEFAULT '' NOT NULL"); - $this->CheckColumn("remotedomain","varchar(128)","api_account","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv","TINYINT(1)","api_account","DEFAULT '1' NOT NULL"); - $this->CheckColumn("importwarteschlange","TINYINT(1)","api_account","DEFAULT '1' NOT NULL"); - $this->CheckColumn("cleanutf8","TINYINT(1)","api_account","DEFAULT '1' NOT NULL"); - $this->CheckColumn("uebertragung_account","INT(11)","api_account","DEFAULT '0' NOT NULL"); - $this->CheckColumn("projekt","INT(11)","api_account","DEFAULT '0' NOT NULL"); - - $this->CheckTable("api_keys"); - $this->CheckColumn("id","int(11)","api_keys","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("nonce","varchar(64)","api_keys","DEFAULT '' NOT NULL"); - $this->CheckColumn("opaque","varchar(64)","api_keys","DEFAULT '' NOT NULL"); - $this->CheckColumn("nonce_count","INT(11)","api_keys","DEFAULT '1' NOT NULL"); - $this->CheckColumn("zeitstempel","timestamp","api_keys","NOT NULL DEFAULT CURRENT_TIMESTAMP"); - - $this->CheckTable('api_request_response_log'); - $this->CheckColumn('api_id','INT(11)','api_request_response_log','DEFAULT 0 NOT NULL'); - $this->CheckColumn('raw_request', 'MEDIUMTEXT','api_request_response_log'); - $this->CheckColumn('raw_response', 'MEDIUMTEXT','api_request_response_log'); - $this->CheckColumn('type', 'VARCHAR(64)','api_request_response_log', "DEFAULT '' NOT NULL"); - $this->CheckColumn('status', 'VARCHAR(64)','api_request_response_log', "DEFAULT '' NOT NULL"); - $this->CheckColumn('doctype', 'VARCHAR(64)','api_request_response_log', "DEFAULT '' NOT NULL"); - $this->CheckColumn('doctype_id', 'INT(11)','api_request_response_log', 'DEFAULT 0 NOT NULL'); - $this->CheckColumn('is_incomming', 'TINYINT(1)','api_request_response_log', 'DEFAULT 1 NOT NULL'); - $this->CheckColumn('created_at','timestamp', 'api_request_response_log', 'NOT NULL DEFAULT CURRENT_TIMESTAMP'); - $this->CheckIndex('api_request_response_log', 'api_id'); - $this->CheckIndex('api_request_response_log', 'created_at'); - - - $this->CheckTable("hook_module"); - $this->CheckColumn("id","int(11)","hook_module","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("module","varchar(64)","hook_module","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","hook_module","DEFAULT '1' NOT NULL"); - - $this->CheckTable("hook"); - $this->CheckColumn("id","int(11)","hook","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("name","varchar(64)","hook","DEFAULT '' NOT NULL"); - $this->CheckColumn('alias','varchar(64)','hook',"DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","hook","DEFAULT '1' NOT NULL"); - $this->CheckColumn("parametercount","INT(11)","hook","DEFAULT '1' NOT NULL"); - $this->CheckColumn('description','VARCHAR(1024)','hook',"DEFAULT '' NOT NULL"); - $this->CheckIndex('hook','name'); - $this->CheckIndex('hook','alias'); - - $this->CheckTable("hook_register"); - $this->CheckColumn("id","int(11)","hook_register","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("hook","INT(11)","hook_register","DEFAULT '0' NOT NULL"); - $this->CheckColumn("module","varchar(64)","hook_register","DEFAULT '' NOT NULL"); - $this->CheckColumn("function","varchar(64)","hook_register","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","hook_register","DEFAULT '1' NOT NULL"); - $this->CheckColumn("position","INT(11)","hook_register","DEFAULT '0' NOT NULL"); - $this->CheckColumn('module_parameter','INT(11)','hook_register','DEFAULT 0 NOT NULL'); - $this->CheckIndex('hook_register','hook'); - - $this->CheckTable("hook_menu"); - $this->CheckColumn("id","int(11)","hook_menu","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("module","varchar(64)","hook_menu","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","hook_menu","DEFAULT '1' NOT NULL"); - $this->CheckIndex('hook_menu','module'); - - $this->CheckTable("hook_menu_register"); - $this->CheckColumn("id","int(11)","hook_menu_register","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("hook_menu","INT(11)","hook_menu_register","DEFAULT '0' NOT NULL"); - $this->CheckColumn("module","varchar(64)","hook_menu_register","DEFAULT '' NOT NULL"); - $this->CheckColumn("funktion","varchar(64)","hook_menu_register","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","hook_menu_register","DEFAULT '1' NOT NULL"); - $this->CheckColumn("position","INT(11)","hook_menu_register","DEFAULT '0' NOT NULL"); - $this->CheckIndex('hook_menu_register','module'); - - $this->CheckTable("hook_layout"); - $this->CheckColumn("id","int(11)","hook_layout","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("name","varchar(64)","hook_layout","DEFAULT '' NOT NULL"); - $this->CheckColumn("dokumenttyp","varchar(64)","hook_layout","DEFAULT '' NOT NULL"); - $this->CheckColumn("module","varchar(64)","hook_layout","DEFAULT '' NOT NULL"); - $this->CheckColumn("funktion","varchar(64)","hook_layout","DEFAULT '' NOT NULL"); - $this->CheckColumn("typ","varchar(64)","hook_layout","DEFAULT '' NOT NULL"); - $this->CheckColumn("block","varchar(64)","hook_layout","DEFAULT '' NOT NULL"); - $this->CheckColumn("blocktyp","varchar(64)","hook_layout","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","hook_layout","DEFAULT '1' NOT NULL"); - - $this->app->DB->Delete("DELETE FROM `hook` WHERE `name` = '0'"); - $this->addAliasToHook('adresse_create', 'AfterAddressCreate'); - - $this->CheckColumn("kommentar","varchar(255)","kommissionierung","DEFAULT '' NOT NULL"); - - $this->CheckColumn("improzess","tinyint(1)","kommissionierung","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("teilprojekt","int(11)","bestellung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilprojekt","int(11)","produktion_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilprojekt","int(11)","angebot_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilprojekt","int(11)","auftrag_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilprojekt","int(11)","lieferschein_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilprojekt","int(11)","rechnung_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilprojekt","int(11)","gutschrift_position","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilprojekt","int(11)","proformarechnung_position","DEFAULT '0' NOT NULL"); - - $this->CheckTable("boxnachrichten"); - $this->CheckColumn("id","int(11)","boxnachrichten","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("user","int(11)","boxnachrichten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gruppe","int(11)","boxnachrichten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("bezeichnung","varchar(255)","boxnachrichten","DEFAULT '' NOT NULL"); - $this->CheckColumn("nachricht","text","boxnachrichten","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel","timestamp","boxnachrichten","NOT NULL DEFAULT CURRENT_TIMESTAMP"); - $this->CheckColumn("prio","int(11)","boxnachrichten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("ablaufzeit","int(11)","boxnachrichten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("objekt","varchar(255)","boxnachrichten","DEFAULT '' NOT NULL"); - $this->CheckColumn("parameter","int(11)","boxnachrichten","DEFAULT '0' NOT NULL"); - $this->CheckColumn("beep","int(11)","boxnachrichten","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("potentiellerliefertermin","DATE","auftrag_position"); - - $this->CheckColumn("keinskonto", "tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("berechneterek", "DECIMAL(14,4)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("verwendeberechneterek", "tinyint(1)","artikel","DEFAULT '0' NOT NULL"); - $this->CheckColumn("berechneterekwaehrung", "VARCHAR(16)","artikel","DEFAULT '' NOT NULL"); - $this->CheckColumn('has_preproduced_partlist','TINYINT(1)','artikel','DEFAULT 0'); - $this->CheckColumn('preproduced_partlist','INT(11)','artikel','DEFAULT 0'); - - $this->CheckColumn("skontobetrag", "DECIMAL(14,4)","auftrag"); - $this->CheckColumn("skontoberechnet", "tinyint(1)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("skontobetrag", "DECIMAL(14,4)","auftrag_position"); - $this->CheckColumn("skontobetrag_netto_einzeln", "DECIMAL(14,4)","auftrag_position"); - $this->CheckColumn("skontobetrag_netto_gesamt", "DECIMAL(14,4)","auftrag_position"); - $this->CheckColumn("skontobetrag_brutto_einzeln", "DECIMAL(14,4)","auftrag_position"); - $this->CheckColumn("skontobetrag_brutto_gesamt", "DECIMAL(14,4)","auftrag_position"); - $this->CheckColumn("steuerbetrag", "DECIMAL(14,4)","auftrag_position"); - $this->CheckColumn("skontosperre", "tinyint(1)","auftrag_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("skontobetrag", "DECIMAL(14,4)","rechnung"); - $this->CheckColumn("skontoberechnet", "tinyint(1)","rechnung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("skontobetrag", "DECIMAL(14,4)","rechnung_position"); - $this->CheckColumn("skontobetrag_netto_einzeln", "DECIMAL(14,4)","rechnung_position"); - $this->CheckColumn("skontobetrag_netto_gesamt", "DECIMAL(14,4)","rechnung_position"); - $this->CheckColumn("skontobetrag_brutto_einzeln", "DECIMAL(14,4)","rechnung_position"); - $this->CheckColumn("skontobetrag_brutto_gesamt", "DECIMAL(14,4)","rechnung_position"); - $this->CheckColumn("steuerbetrag", "DECIMAL(14,4)","rechnung_position"); - $this->CheckColumn("skontosperre", "tinyint(1)","rechnung_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("skontobetrag", "DECIMAL(14,4)","gutschrift"); - $this->CheckColumn("skontoberechnet", "tinyint(1)","gutschrift","DEFAULT '0' NOT NULL"); - $this->CheckColumn("skontobetrag", "DECIMAL(14,4)","gutschrift_position"); - $this->CheckColumn("skontobetrag_netto_einzeln", "DECIMAL(14,4)","gutschrift_position"); - $this->CheckColumn("skontobetrag_netto_gesamt", "DECIMAL(14,4)","gutschrift_position"); - $this->CheckColumn("skontobetrag_brutto_einzeln", "DECIMAL(14,4)","gutschrift_position"); - $this->CheckColumn("skontobetrag_brutto_gesamt", "DECIMAL(14,4)","gutschrift_position"); - $this->CheckColumn("steuerbetrag", "DECIMAL(14,4)","gutschrift_position"); - $this->CheckColumn("skontosperre", "tinyint(1)","gutschrift_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("skontobetrag", "DECIMAL(14,4)","angebot"); - $this->CheckColumn("skontoberechnet", "tinyint(1)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("skontobetrag", "DECIMAL(14,4)","angebot_position"); - $this->CheckColumn("skontobetrag_netto_einzeln", "DECIMAL(14,4)","angebot_position"); - $this->CheckColumn("skontobetrag_netto_gesamt", "DECIMAL(14,4)","angebot_position"); - $this->CheckColumn("skontobetrag_brutto_einzeln", "DECIMAL(14,4)","angebot_position"); - $this->CheckColumn("skontobetrag_brutto_gesamt", "DECIMAL(14,4)","angebot_position"); - $this->CheckColumn("steuerbetrag", "DECIMAL(14,4)","angebot_position"); - $this->CheckColumn("skontosperre", "tinyint(1)","angebot_position","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("shop", "int(1)","angebot","DEFAULT '0' NOT NULL"); - $this->CheckColumn("internet", "varchar(255)","angebot","DEFAULT '' NOT NULL"); - $this->CheckColumn("transaktionsnummer", "varchar(255)","angebot","DEFAULT '' NOT NULL"); - $this->CheckColumn("packstation_inhaber", "varchar(255)", "angebot", "DEFAULT '' NOT NULL"); - $this->CheckColumn("packstation_station", "varchar(255)", "angebot", "DEFAULT '' NOT NULL"); - $this->CheckColumn("packstation_ident", "varchar(255)", "angebot", "DEFAULT '' NOT NULL"); - $this->CheckColumn("packstation_plz", "varchar(64)", "angebot", "DEFAULT '' NOT NULL"); - $this->CheckColumn("packstation_ort", "varchar(255)", "angebot", "DEFAULT '' NOT NULL"); - $this->CheckColumn("shopextid","varchar(1024)","angebot","DEFAULT '' NOT NULL"); - - $this->CheckColumn("skontobetrag", "DECIMAL(14,4)","bestellung"); - $this->CheckColumn("skontoberechnet", "tinyint(1)","bestellung","DEFAULT '0' NOT NULL"); - $this->CheckColumn("skontobetrag", "DECIMAL(14,4)","bestellung_position"); - $this->CheckColumn("skontobetrag_netto_einzeln", "DECIMAL(14,4)","bestellung_position"); - $this->CheckColumn("skontobetrag_netto_gesamt", "DECIMAL(14,4)","bestellung_position"); - $this->CheckColumn("skontobetrag_brutto_einzeln", "DECIMAL(14,4)","bestellung_position"); - $this->CheckColumn("skontobetrag_brutto_gesamt", "DECIMAL(14,4)","bestellung_position"); - - $this->CheckColumn("berechnen_aus_teile", "tinyint(1)","angebot_position","DEFAULT '0'"); - $this->CheckColumn("ausblenden_im_pdf", "tinyint(1)","angebot_position","DEFAULT '0'"); - $this->CheckColumn("explodiert_parent", "int(11)","angebot_position","DEFAULT '0'"); - - $this->CheckColumn("ausblenden_im_pdf", "tinyint(1)","auftrag_position","DEFAULT '0'"); - $this->CheckColumn("ausblenden_im_pdf", "tinyint(1)","gutschrift_position","DEFAULT '0'"); - $this->CheckColumn("ausblenden_im_pdf", "tinyint(1)","rechnung_position","DEFAULT '0'"); - $this->CheckColumn("ausblenden_im_pdf", "tinyint(1)","lieferschein_position","DEFAULT '0'"); - - - $this->CheckColumn('umsatz_netto_einzeln', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','angebot_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_netto_einzeln', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','auftrag_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_netto_einzeln', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','gutschrift_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_netto_einzeln', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','rechnung_position','DEFAULT NULL'); - - $this->CheckColumn('umsatz_netto_gesamt', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','angebot_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_netto_gesamt', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','auftrag_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_netto_gesamt', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','gutschrift_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_netto_gesamt', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','rechnung_position','DEFAULT NULL'); - - $this->CheckColumn('umsatz_brutto_einzeln', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','angebot_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_brutto_einzeln', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','auftrag_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_brutto_einzeln', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','gutschrift_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_brutto_einzeln', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','rechnung_position','DEFAULT NULL'); - - $this->CheckColumn('umsatz_brutto_gesamt', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','angebot_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_brutto_gesamt', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','auftrag_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_brutto_gesamt', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','gutschrift_position','DEFAULT NULL'); - $this->CheckColumn('umsatz_brutto_gesamt', 'DECIMAL('.(10+$this->GetLagerNachkommastellen()).','.$this->GetLagerNachkommastellen().')','rechnung_position','DEFAULT NULL'); - - $this->app->erp->CheckTable('massenbearbeitung'); - $this->app->erp->CheckColumn('id', 'int(11)', 'massenbearbeitung', 'NOT NULL AUTO INCREMENT'); - $this->app->erp->CheckColumn('user_id', 'int(11)', 'massenbearbeitung', 'NOT NULL'); - $this->app->erp->CheckColumn('feld', 'varchar(255)', 'massenbearbeitung', "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn('wert', 'text', 'massenbearbeitung', "NOT NULL DEFAULT ''"); - $this->app->erp->CheckColumn('subjekt', 'varchar(255)', 'massenbearbeitung', 'NOT NULL'); - $this->app->erp->CheckColumn('objekt', 'varchar(255)', 'massenbearbeitung', 'NOT NULL'); - - $this->CheckTable("gruppen_kategorien"); - $this->CheckColumn("id","int(11)","gruppen_kategorien","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bezeichnung","varchar(255)","gruppen_kategorien","DEFAULT '' NOT NULL"); - $this->CheckColumn("projekt","int(11)","gruppen_kategorien","DEFAULT '0' NOT NULL"); - - $this->CheckTable("gruppenmapping"); - $this->CheckColumn("id","int(11)","gruppenmapping","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("gruppe","int(11)","gruppenmapping","DEFAULT '0' NOT NULL"); - $this->CheckColumn("projekt","int(11)","gruppenmapping","DEFAULT '0' NOT NULL"); - $this->CheckColumn("parameter1","varchar(255)","gruppenmapping","DEFAULT '0' NOT NULL"); - $this->CheckColumn("parameter2","varchar(255)","gruppenmapping","DEFAULT '0' NOT NULL"); - $this->CheckColumn("parameter3","varchar(255)","gruppenmapping","DEFAULT '0' NOT NULL"); - $this->CheckColumn("von","date","gruppenmapping","NOT NULL"); - $this->CheckColumn("bis","date","gruppenmapping","NOT NULL"); - - $this->CheckTable("provision_regeln"); - $this->CheckColumn("id","int(11)","provision_regeln","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("name","varchar(64)","provision_regeln","DEFAULT '' NOT NULL"); - $this->CheckColumn("beschreibung","text","provision_regeln","DEFAULT '' NOT NULL"); - $this->CheckColumn("gruppe","int(11)","provision_regeln","DEFAULT '0' NOT NULL"); - $this->CheckColumn("adresse","int(11)","provision_regeln","DEFAULT '0' NOT NULL"); - $this->CheckColumn("artikel","int(11)","provision_regeln","DEFAULT '0' NOT NULL"); - $this->CheckColumn("projekt","int(11)","provision_regeln","DEFAULT '0' NOT NULL"); - $this->CheckColumn("von","date","provision_regeln","NOT NULL"); - $this->CheckColumn("bis","date","provision_regeln","NOT NULL"); - $this->CheckColumn("typ","varchar(32)","provision_regeln","DEFAULT '' NOT NULL"); - $this->CheckColumn("prio","int(11)","provision_regeln","DEFAULT '0' NOT NULL"); - $this->CheckColumn("typ","varchar(32)","provision_regeln","DEFAULT '' NOT NULL"); - $this->CheckColumn("absolut","tinyint(1)","provision_regeln","DEFAULT '0' NOT NULL"); - $this->CheckColumn("provision","decimal(10,4)","provision_regeln","DEFAULT '0' NOT NULL"); - $this->CheckColumn("belegtyp","varchar(32)","provision_regeln","DEFAULT '' NOT NULL"); - $this->CheckColumn("belegnr","int(11)","provision_regeln","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("mlmintranetgesamtestruktur","tinyint(1)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kommissionskonsignationslager","int(11)","adresse","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kommissionskonsignationslager","int(11)","auftrag","DEFAULT '0' NOT NULL"); - $this->CheckColumn("kommissionskonsignationslager","int(11)","lieferschein","DEFAULT '0' NOT NULL"); - - $this->CheckColumn("zollinformationen","text","adresse","DEFAULT '' NOT NULL"); - - $this->CheckTable("adresse_filter"); - $this->CheckColumn("id","int(11)","adresse_filter","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bezeichnung","varchar(64)","adresse_filter","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","adresse_filter","DEFAULT '1' NOT NULL"); - $this->CheckColumn("ansprechpartner","tinyint(1)","adresse_filter","DEFAULT '0' NOT NULL"); - $this->CheckColumn("user","int(11)","adresse_filter","DEFAULT '0' NOT NULL"); - - $this->CheckTable("adresse_filter_gruppen"); - $this->CheckColumn("filter","int(11)","adresse_filter_gruppen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("sort","int(11)","adresse_filter_gruppen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("parent","int(11)","adresse_filter_gruppen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("isand","tinyint(1)","adresse_filter_gruppen","DEFAULT '1' NOT NULL"); - $this->CheckColumn("isnot","tinyint(1)","adresse_filter_gruppen","DEFAULT '0' NOT NULL"); - - $this->CheckTable("adresse_filter_positionen"); - $this->CheckColumn("id","int(11)","adresse_filter_positionen","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("filter","int(11)","adresse_filter_positionen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("gruppe","int(11)","adresse_filter_positionen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("typ","varchar(32)","adresse_filter_positionen","DEFAULT '' NOT NULL"); - $this->CheckColumn("typ2","varchar(32)","adresse_filter_positionen","DEFAULT '' NOT NULL"); - $this->CheckColumn("isand","tinyint(1)","adresse_filter_positionen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("isnot","tinyint(1)","adresse_filter_positionen","DEFAULT '0' NOT NULL"); - $this->CheckColumn("parameter1","varchar(64)","adresse_filter_positionen","DEFAULT '' NOT NULL"); - $this->CheckColumn("parameter2","varchar(64)","adresse_filter_positionen","DEFAULT '' NOT NULL"); - $this->CheckColumn("parameter3","varchar(64)","adresse_filter_positionen","DEFAULT '' NOT NULL"); - $this->CheckColumn("sort","int(11)","adresse_filter_positionen","DEFAULT '0' NOT NULL"); - - $this->CheckTable("gruppenrechnung_auswahl"); - $this->CheckColumn("id","int(11)","gruppenrechnung_auswahl","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("lieferschein","int(11)","gruppenrechnung_auswahl","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auftrag","int(11)","gruppenrechnung_auswahl","DEFAULT '0' NOT NULL"); - $this->CheckColumn("user","int(11)","gruppenrechnung_auswahl","DEFAULT '0' NOT NULL"); - $this->CheckColumn("auswahl","tinyint(1)","gruppenrechnung_auswahl","DEFAULT '1' NOT NULL"); - - $this->CheckTable("steuersaetze"); - $this->CheckColumn("id","int(11)","steuersaetze","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bezeichnung","varchar(64)","steuersaetze","DEFAULT '' NOT NULL"); - $this->CheckColumn("satz","decimal(5,2)","steuersaetze","DEFAULT '0' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","steuersaetze","DEFAULT '1' NOT NULL"); - $this->CheckColumn("bearbeiter","varchar(64)","steuersaetze","DEFAULT '' NOT NULL"); - $this->CheckColumn("zeitstempel","timestamp","steuersaetze","NOT NULL DEFAULT CURRENT_TIMESTAMP"); - $this->CheckColumn('project_id','int(11)','steuersaetze','DEFAULT 0 NOT NULL'); - $this->CheckColumn('valid_from','date','steuersaetze','NULL DEFAULT NULL'); - $this->CheckColumn('valid_to','date','steuersaetze','NULL DEFAULT NULL'); - $this->CheckColumn('type','varchar(32)','steuersaetze',"DEFAULT '' NOT NULL"); - $this->CheckColumn('country_code','varchar(8)','steuersaetze',"DEFAULT '' NOT NULL"); - $this->CheckColumn('set_data', 'tinyint(1)', 'steuersaetze','DEFAULT 0 NOT NULL'); - - $this->CheckTable("hook_navigation"); - $this->CheckColumn("id","int(11)","hook_navigation","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("module","varchar(64)","hook_navigation","DEFAULT '' NOT NULL"); - $this->CheckColumn("action","varchar(64)","hook_navigation","DEFAULT '' NOT NULL"); - $this->CheckColumn("first","varchar(64)","hook_navigation","DEFAULT '' NOT NULL"); - $this->CheckColumn("sec","varchar(64)","hook_navigation","DEFAULT '' NOT NULL"); - $this->CheckColumn("aftersec","varchar(64)","hook_navigation","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","hook_navigation","DEFAULT '1' NOT NULL"); - $this->CheckColumn("position","INT(11)","hook_navigation","DEFAULT '0' NOT NULL"); - - $this->CheckTable("navigation_alternative"); - $this->CheckColumn("id","int(11)","navigation_alternative","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("module","varchar(64)","navigation_alternative","DEFAULT '' NOT NULL"); - $this->CheckColumn("action","varchar(64)","navigation_alternative","DEFAULT '' NOT NULL"); - $this->CheckColumn("first","varchar(64)","navigation_alternative","DEFAULT '' NOT NULL"); - $this->CheckColumn("sec","varchar(64)","navigation_alternative","DEFAULT '' NOT NULL"); - $this->CheckColumn("aktiv","tinyint(1)","navigation_alternative","DEFAULT '1' NOT NULL"); - $this->CheckColumn("prio","INT(11)","navigation_alternative","DEFAULT '0' NOT NULL"); - - $this->app->erp->RegisterNavigationAlternative('Controlling','Statistiken','statistiken','topartikel'); - $this->app->erp->RegisterNavigationAlternative('Controlling','Statistiken','statistiken','artikel'); - - $this->CheckColumn("extsoll", "decimal(10,2)", "auftrag", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("extsoll", "decimal(10,2)", "rechnung", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("teilstorno", "tinyint(1)", "rechnung", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("extsoll", "decimal(10,2)", "gutschrift", "DEFAULT '0' NOT NULL"); - - $this->CheckColumn("bundesstaat","varchar(32)","auftrag", "DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferbundesstaat","varchar(32)","auftrag", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesstaat","varchar(32)","rechnung", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesstaat","varchar(32)","lieferschein", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesstaat","varchar(32)","versand", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesstaat","varchar(32)","gutschrift", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesstaat","varchar(32)","angebot", "DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferbundesstaat","varchar(32)","angebot", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesstaat","varchar(32)","adresse", "DEFAULT '' NOT NULL"); - $this->CheckColumn("rechnung_bundesstaat","varchar(32)","adresse", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesstaat","varchar(32)","bestellung", "DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferbundesstaat","varchar(32)","bestellung", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesstaat","varchar(32)","anfrage", "DEFAULT '' NOT NULL"); - $this->CheckColumn("bundesstaat","varchar(32)","proformarechnung", "DEFAULT '' NOT NULL"); - $this->CheckColumn("lieferbundesstaat","varchar(32)","proformarechnung", "DEFAULT '' NOT NULL"); - - $this->CheckColumn("teillieferungvon","int(11)","lieferschein","DEFAULT '0' NOT NULL"); - $this->CheckColumn("teillieferungnummer","int(11)","lieferschein","DEFAULT '0' NOT NULL"); - $this->CheckColumn('kiste','int(11)','lieferschein','DEFAULT -1 NOT NULL'); - - $this->CheckColumn('kundennummer_buchhaltung','varchar(32)','auftrag', "DEFAULT '' NOT NULL"); - $this->CheckColumn('kundennummer_buchhaltung','varchar(32)','rechnung', "DEFAULT '' NOT NULL"); - $this->CheckColumn('kundennummer_buchhaltung','varchar(32)','gutschrift', "DEFAULT '' NOT NULL"); - - $this->CheckColumn('storage_country','varchar(3)','auftrag', "DEFAULT '' NOT NULL"); - $this->CheckColumn('storage_country','varchar(3)','rechnung', "DEFAULT '' NOT NULL"); - $this->CheckColumn('storage_country','varchar(3)','gutschrift', "DEFAULT '' NOT NULL"); - - $this->CheckTable("change_log"); - $this->CheckColumn("id","int(11)","change_log","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("bearbeiter","varchar(32)","change_log", "DEFAULT '' NOT NULL"); - $this->CheckColumn("module","varchar(32)","change_log", "DEFAULT '' NOT NULL"); - $this->CheckColumn("action","varchar(32)","change_log", "DEFAULT '' NOT NULL"); - $this->CheckColumn("tabelle","varchar(64)","change_log", "DEFAULT '' NOT NULL"); - $this->CheckColumn("tableid","int(11)","change_log", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("zeitstempel","timestamp","change_log","NOT NULL DEFAULT CURRENT_TIMESTAMP"); - - $this->CheckTable("change_log_field"); - $this->CheckColumn("id","int(11)","change_log_field","NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("change_log","int(11)","change_log_field", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("fieldname","varchar(64)","change_log_field", "DEFAULT '' NOT NULL"); - $this->CheckColumn("oldvalue","text","change_log_field", "DEFAULT '' NOT NULL"); - $this->CheckColumn("newvalue","text","change_log_field", "DEFAULT '' NOT NULL"); - - $this->CheckIndex("change_log", "tableid"); - $this->CheckIndex("change_log_field", "change_log"); - $this->CheckIndex('useronline','sessionid'); - $this->app->DB->Update("UPDATE auftrag a - INNER JOIN projekt p ON a.projekt = p.id - INNER JOIN adresse adr ON p.kasse_laufkundschaft = adr.id AND ifnull(adr.geloescht,0) = 0 - SET a.adresse = adr.id WHERE a.adresse = 0 - "); - - $this->app->DB->Update("UPDATE rechnung a - INNER JOIN projekt p ON a.projekt = p.id - INNER JOIN adresse adr ON p.kasse_laufkundschaft = adr.id AND ifnull(adr.geloescht,0) = 0 - SET a.adresse = adr.id WHERE a.adresse = 0 - "); - - $this->app->DB->Update("UPDATE gutschrift a - INNER JOIN projekt p ON a.projekt = p.id - INNER JOIN adresse adr ON p.kasse_laufkundschaft = adr.id AND ifnull(adr.geloescht,0) = 0 - SET a.adresse = adr.id WHERE a.adresse = 0 - "); - - $this->CheckTable('fee_reduction'); - $this->CheckColumn('doctype','VARCHAR(64)','fee_reduction',"DEFAULT '' NOT NULL"); - $this->CheckColumn('doctype_id','INT(11)','fee_reduction','DEFAULT 0 NOT NULL'); - $this->CheckColumn('position_id','INT(11)','fee_reduction','DEFAULT 0 NOT NULL'); - $this->CheckColumn('amount','DECIMAL(14, 4)','fee_reduction','DEFAULT 0 NOT NULL'); - $this->CheckColumn('price','DECIMAL(14, 4)','fee_reduction','DEFAULT 0 NOT NULL'); - $this->CheckColumn('price_type','VARCHAR(64)','fee_reduction',"DEFAULT '' NOT NULL"); - $this->CheckColumn('currency','VARCHAR(8)','fee_reduction',"DEFAULT '' NOT NULL"); - $this->CheckColumn('comment','VARCHAR(1024)','fee_reduction',"DEFAULT '' NOT NULL"); - $this->CheckColumn('created_at','TIMESTAMP','fee_reduction','NOT NULL DEFAULT CURRENT_TIMESTAMP'); - $this->CheckIndex('fee_reduction','doctype'); - $this->CheckIndex('fee_reduction','doctype_id'); - $this->CheckIndex('fee_reduction','price_type'); - } - if($stufe == 0 || $stufe == 8) - { - $this->CheckAlterTable("ALTER TABLE `ansprechpartner` CHANGE `adresse` `adresse` INT( 10 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `aufgabe` CHANGE `stunden` `stunden` DECIMAL( 10,2 ) "); - - $this->CheckAlterTable("ALTER TABLE `lieferschein_position` CHANGE `geliefert` `geliefert` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - - $this->CheckAlterTable("ALTER TABLE `auftrag_position` CHANGE `geliefert_menge` `geliefert_menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `produktion_position` CHANGE `geliefert_menge` `geliefert_menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `zwischenlager` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL; "); - - $this->CheckAlterTable("ALTER TABLE `user` ALTER activ SET DEFAULT '1'"); - - $this->CheckAlterTable("ALTER TABLE `einkaufspreise` CHANGE `vpe` `vpe` VARCHAR( 64 ) NOT NULL DEFAULT '1'"); - $this->CheckAlterTable("ALTER TABLE `verkaufspreise` CHANGE `vpe` `vpe` VARCHAR( 64 ) NOT NULL DEFAULT '1'"); - - $this->CheckAlterTable("ALTER TABLE `wiki` CHANGE `content` `content` LONGTEXT NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `wiki` CHANGE `lastcontent` `lastcontent` LONGTEXT NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `artikel` CHANGE `mlmpunkte` `mlmpunkte` DECIMAL( 10, 2 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `artikel` CHANGE `mlmbonuspunkte` `mlmbonuspunkte` DECIMAL( 10, 2 ) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `rechnung` CHANGE `auftrag` `auftrag` VARCHAR( 255 ) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `angebot_position` CHANGE `rabatt` `rabatt` DECIMAL( 10, 2 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `auftrag_position` CHANGE `rabatt` `rabatt` DECIMAL( 10, 2 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `rechnung_position` CHANGE `rabatt` `rabatt` DECIMAL( 10, 2 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `gutschrift_position` CHANGE `rabatt` `rabatt` DECIMAL( 10, 2 ) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `angebot_position` CHANGE `punkte` `punkte` DECIMAL( 10, 2 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `angebot_position` CHANGE `bonuspunkte` `bonuspunkte` DECIMAL( 10, 2 ) NOT NULL "); - - - $this->CheckAlterTable("ALTER TABLE `auftrag_position` CHANGE `punkte` `punkte` DECIMAL( 10, 2 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `auftrag_position` CHANGE `bonuspunkte` `bonuspunkte` DECIMAL( 10, 2 ) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `rechnung_position` CHANGE `punkte` `punkte` DECIMAL( 10, 2 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `rechnung_position` CHANGE `bonuspunkte` `bonuspunkte` DECIMAL( 10, 2 ) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `artikel` CHANGE `webid` `webid` VARCHAR(1024) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `arbeitspaket` CHANGE `zeit_geplant` `zeit_geplant` DECIMAL( 10, 2 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `gesamtstunden_max` `gesamtstunden_max` DECIMAL( 10, 2 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `zeiterfassung` CHANGE `kostenstelle` `kostenstelle` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `sonstiges` `sonstiges` TEXT NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `absendesignatur` `absendesignatur` TEXT NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `auftrag_position` CHANGE `auftrag` `auftrag` INT( 11 ) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `auftrag_position` CHANGE `artikel` `artikel` INT( 11 ) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `dokumente_send` CHANGE `ansprechpartner` `ansprechpartner` VARCHAR(255) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `auftrag` CHANGE `zahlungszielskonto` `zahlungszielskonto` DECIMAL(10,2) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `angebot` CHANGE `zahlungszielskonto` `zahlungszielskonto` DECIMAL(10,2) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `rechnung` CHANGE `zahlungszielskonto` `zahlungszielskonto` DECIMAL(10,2) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `gutschrift` CHANGE `zahlungszielskonto` `zahlungszielskonto` DECIMAL(10,2) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `bestellung` CHANGE `zahlungszielskonto` `zahlungszielskonto` DECIMAL(10,2) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `verbindlichkeit` CHANGE `skonto` `skonto` DECIMAL(10,2) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `auftrag` CHANGE `belegnr` `belegnr` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `angebot` CHANGE `belegnr` `belegnr` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `rechnung` CHANGE `belegnr` `belegnr` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `lieferschein` CHANGE `belegnr` `belegnr` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `gutschrift` CHANGE `belegnr` `belegnr` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `bestellung` CHANGE `belegnr` `belegnr` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `reisekosten` CHANGE `belegnr` `belegnr` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `anfrage` CHANGE `belegnr` `belegnr` VARCHAR(255) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `adresse` CHANGE `kundennummer` `kundennummer` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `adresse` CHANGE `lieferantennummer` `lieferantennummer` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `adresse` CHANGE `mitarbeiternummer` `mitarbeiternummer` VARCHAR(255) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `beschreibung` `beschreibung` TEXT NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE kostenstellen DROP PRIMARY KEY, ADD PRIMARY KEY ( `id` )"); - $this->CheckAlterTable("ALTER TABLE verrechnungsart DROP PRIMARY KEY, ADD PRIMARY KEY ( `id` )"); - - $this->CheckAlterTable("ALTER TABLE `angebot_position` CHANGE `angebot` `angebot` INT(11) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `gutschrift_position` CHANGE `gutschrift` `gutschrift` INT(11) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `rechnung_position` CHANGE `rechnung` `rechnung` INT(11) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `reisekosten_position` CHANGE `reisekosten` `reisekosten` INT(11) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `lager_reserviert` CHANGE `reserviertdatum` `reserviertdatum` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP"); - $this->CheckAlterTable("ALTER TABLE `shopimport_auftraege` CHANGE `warenkorb` `warenkorb` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;"); - $this->CheckAlterTable("ALTER TABLE `shopimport_auftraege` CHANGE `extid` `extid` VARCHAR(255) NOT NULL DEFAULT '';"); - - $this->CheckAlterTable("ALTER TABLE `einkaufspreise` CHANGE `preis` `preis` DECIMAL(18,8) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `verkaufspreise` CHANGE `preis` `preis` DECIMAL(18,8) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `auftrag_position` CHANGE `preis` `preis` DECIMAL(18,8) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `rechnung_position` CHANGE `preis` `preis` DECIMAL(18,8) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `angebot_position` CHANGE `preis` `preis` DECIMAL(18,8) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `gutschrift_position` CHANGE `preis` `preis` DECIMAL(18,8) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `bestellung_position` CHANGE `preis` `preis` DECIMAL(18,8) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `sammelrechnung_position` CHANGE `preis` `preis` DECIMAL(18,8) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `reisekosten_position` CHANGE `betrag` `betrag` DECIMAL(18,8) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `produktion_position` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL;"); - $this->CheckAlterTable("ALTER TABLE `produktion_charge` CHANGE `ausgelagert` `ausgelagert` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0';"); - $this->CheckAlterTable("ALTER TABLE `rechnung` CHANGE `ist` `ist` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `rechnung` CHANGE `soll` `soll` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `rechnung` CHANGE `umsatz_netto` `umsatz_netto` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `rechnung` CHANGE `erloes_netto` `erloes_netto` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - - $this->CheckAlterTable("ALTER TABLE `gutschrift` CHANGE `ist` `ist` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `gutschrift` CHANGE `soll` `soll` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `gutschrift` CHANGE `umsatz_netto` `umsatz_netto` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `gutschrift` CHANGE `erloes_netto` `erloes_netto` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - - $this->CheckAlterTable("ALTER TABLE `auftrag` CHANGE `gesamtsumme` `gesamtsumme` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `auftrag` CHANGE `stornobetrag` `stornobetrag` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - - $this->CheckAlterTable("ALTER TABLE `produktion` CHANGE `gesamtsumme` `gesamtsumme` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `produktion` CHANGE `stornobetrag` `stornobetrag` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - - $this->CheckAlterTable("ALTER TABLE `bestellung` CHANGE `gesamtsumme` `gesamtsumme` DECIMAL(18,4) DEFAULT '0' NOT NULL"); - - $this->CheckAlterTable("ALTER TABLE `angebot` CHANGE `gesamtsumme` `gesamtsumme` DECIMAL(18,4) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `angebot` CHANGE `provision_summe` `provision_summe` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `angebot` CHANGE `umsatz_netto` `umsatz_netto` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `angebot` CHANGE `erloes_netto` `erloes_netto` DECIMAL(18,2) DEFAULT '0' NOT NULL"); - - $this->app->DB->Update("UPDATE zeiterfassung SET status = 'abgeschlossen' WHERE (isnull(status) || status = '') AND abrechnen = 0 || abgerechnet = 1"); - $this->app->DB->Update("UPDATE zeiterfassung SET status = 'offen' WHERE (isnull(status) || status = '') AND abrechnen = 1 AND abgerechnet = 0"); - - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `aktiv` `aktiv` VARCHAR(10) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `farbe` `farbe` VARCHAR(16) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `checkname` `checkname` VARCHAR(64) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `name` `name` VARCHAR(128) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `abkuerzung` `abkuerzung` VARCHAR(128) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `dpdkundennr` `dpdkundennr` VARCHAR(128) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `dhlkundennr` `dhlkundennr` VARCHAR(128) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `kommissionierverfahren` `kommissionierverfahren` VARCHAR(128) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `abrechnungsart` `abrechnungsart` VARCHAR(128) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `kasse_bon_zeile2` `kasse_bon_zeile2` TEXT NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `kasse_bon_zeile3` `kasse_bon_zeile3` TEXT NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `absendegrussformel` `absendegrussformel` TEXT NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `next_proformarechnung` `next_proformarechnung` VARCHAR(128) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `next_preisanfrage` `next_preisanfrage` VARCHAR(128) NOT NULL "); - $this->CheckAlterTable("ALTER TABLE `projekt` CHANGE `next_kalkulation` `next_kalkulation` VARCHAR(128) NOT NULL "); - - $this->CheckAlterTable("ALTER TABLE `lager_reserviert` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0' "); - $this->CheckAlterTable("ALTER TABLE `lager_charge` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0'"); - $this->CheckAlterTable("ALTER TABLE `lager_platz_inhalt` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0'"); - $this->CheckAlterTable("ALTER TABLE `objekt_lager_platz` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0.00'"); - $this->CheckAlterTable("ALTER TABLE `lager_mindesthaltbarkeitsdatum` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0'"); - $this->CheckAlterTable("ALTER TABLE `lagermindestmengen` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0'"); - $this->CheckAlterTable("ALTER TABLE `rma_artikel` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0'"); - $this->CheckAlterTable("ALTER TABLE `stueckliste` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0'"); - $this->CheckAlterTable("ALTER TABLE `lager_bewegung` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0'"); - $this->CheckAlterTable("ALTER TABLE `lager_bewegung` CHANGE `bestand` `bestand` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0'"); - - $this->CheckAlterTable("ALTER TABLE `einkaufspreise` CHANGE `ab_menge` `ab_menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '1'"); - $this->CheckAlterTable("ALTER TABLE `verkaufspreise` CHANGE `ab_menge` `ab_menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '1'"); - - $this->CheckAlterTable("ALTER TABLE `verkaufspreise` CHANGE `vpe_menge` `vpe_menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0'"); - $this->CheckAlterTable("ALTER TABLE `bestellung_position` CHANGE `auswahlmenge` `auswahlmenge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NULL DEFAULT NULL"); - $this->CheckAlterTable("ALTER TABLE `bestellung_position` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `bestellung_position` CHANGE `geliefert` `geliefert` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `chargenverwaltung` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `projekt_inventar` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `produktionslager` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `artikel_permanenteinventur` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL DEFAULT '0'"); - $this->CheckAlterTable("ALTER TABLE `inventur_position` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - $this->CheckAlterTable("ALTER TABLE `paketdistribution` CHANGE `menge` `menge` DECIMAL(".(10+$this->GetLagerNachkommastellen()).",".$this->GetLagerNachkommastellen().") NOT NULL"); - - $this->CheckAlterTable("ALTER TABLE `artikel` CHANGE `metadescription_de` `metadescription_de` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ''"); - $this->CheckAlterTable("ALTER TABLE `artikel` CHANGE `metadescription_en` `metadescription_en` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ''"); - $this->CheckAlterTable("ALTER TABLE `artikel` CHANGE `metakeywords_de` `metakeywords_de` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ''"); - $this->CheckAlterTable("ALTER TABLE `artikel` CHANGE `metakeywords_en` `metakeywords_en` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ''"); - - $this->FirmenDatenStandard(); - - $this->GenerateMenuHook('artikel', 1, true); - $this->GenerateMenuHook('provisionenartikel', 1, true); - - $this->CheckIndex("mitarbeiterzeiterfassung_sollstunden", "adresse"); - $this->CheckIndex("mitarbeiterzeiterfassung_sollstunden", "datum"); - $this->CheckIndex("mitarbeiterzeiterfassung_einstellungen", "erstellt"); - $this->CheckIndex("stechuhr", "datum"); - $this->CheckIndex("arbeitsfreietage", "datum"); - $this->CheckIndex('artikel_onlineshops', ['artikel','shop']); - $this->CheckIndex('shopexport_artikel',['shopid', 'artikel']); - - $this->CheckIndex('projekt','abkuerzung'); - $this->CheckIndex('projekt','kunde'); - $this->CheckIndex('zeiterfassung', 'adresse_abrechnung'); - $this->CheckIndex('zeiterfassung', 'abrechnen'); - - $this->dropIndex('adresse', ['vertrieb']); - $this->dropIndex('adresse', ['sponsor']); - $this->dropIndex('adresse', ['innendienst']); - $this->dropIndex('auftrag', ['gruppe']); - $this->dropIndex('auftrag', ['usereditid']); - $this->dropIndex('bestellung', ['usereditid']); - $this->dropIndex('angebot', ['usereditid']); - $this->dropIndex('angebot', ['gruppe']); - $this->dropIndex('gutschrift', ['usereditid']); - $this->dropIndex('gutschrift', ['gruppe']); - $this->dropIndex('lieferschein', ['usereditid']); - $this->dropIndex('lieferschein', ['vertriebid']); - $this->dropIndex('rechnung', ['usereditid']); - $this->dropIndex('rechnung', ['vertriebid']); - $this->dropIndex('rechnung', ['gruppe']); - $this->dropIndex('artikel', ['usereditid']); - $this->dropIndex('versand', ['adresse']); - } - if($stufe == 0 || $stufe == 9){ - $this->InstallModul('prozessstarter'); - if(!$this->GetKonfiguration('cronjob_fix_time')) { - $cronjobs = [ - 'lagerzahlen' => 15, - 'produktion_berechnen' => 60, - 'tickets' => 15, - 'kalender' => 15, - 'wiedervorlage' => 15, - 'artikelcache' => 30, - 'getarticles' => 15, - 'bestellungabschliessen' => 60, - 'autoversand_berechnung' => 60, - 'auftraglagercheck' => 15, - 'chat' => 15, - 'amazon' => 5, - 'shopimport' => 15, - 'doppeltenummerncheck' => 240, - 'api_uebertragungen' => 10, - 'mahnwesencheck' => 120, - 'openstreetmap' => 60, - 'pdfarchiv_app' => 15, - ]; - foreach($cronjobs as $parameter => $periode) { - $this->app->DB->Update( - sprintf( - "UPDATE `prozessstarter` - SET `periode` = '%d' WHERE `periode` < %d AND `parameter` = '%s' AND `art` IN ('periodisch','periode')", - $periode, $periode, $parameter - ) - ); - } - $this->SetKonfigurationValue('cronjob_fix_time', 1); - } - $this->app->DB->Update("UPDATE prozessstarter SET art = 'periodisch' WHERE art = 'periode'"); - $this->CheckProzessstarter("Kalender Erinnerung", "periodisch", "15", "", "cronjob", "kalender", 1); - $this->CheckProzessstarter("Shopimport unbezahlte Aufträge prüfen", "periodisch", "15", "", "cronjob", "shopimport_checkorder", 1); - $this->CheckProzessstarter("Onlineshops Hintergrundtask", "periodisch", "1", "", "cronjob", "onlineshops_tasks", 1); - $this->CheckProzessstarter("Wiedervorlage Erinnerung", "periodisch", "15", "", "cronjob", "wiedervorlage", 1); - $this->CheckProzessstarter("Zahlungseingang", "periodisch", "720", "", "cronjob", "zahlungseingang", 1); - $this->CheckProzessstarter("Chat Benachrichtigung", "periodisch", "15", "", "cronjob", "chat", 1); - $this->CheckProzessstarter("PDF Archiv", "periodisch", "15", "", "cronjob", "pdfarchiv_app", 1); - $this->CheckProzessstarter('Bereiniger', 'uhrzeit', '1440', '2017-01-01 00:00:00', 'cronjob', 'cleaner', 1); - $this->CheckProzessstarter("Autoversand Manuell", "periodisch", "5", "2017-01-01 00:00:00", "cronjob", "autoversand_manuell", 0); - //$this->CheckProzessstarter("Autoversand Plus","uhrzeit","5","2017-01-01 00:00:00","cronjob","autoversand_plus",0); - $this->CheckProzessstarter("Openstreetmap", "periodisch", "60", "2017-01-01 00:00:00", "cronjob", "openstreetmap", 0); - $this->CheckProzessstarter("Versandmails und Rückmeldung", "periodisch", "5", "2017-01-01 00:00:00", "cronjob", "versandmailsundrueckmeldung", 0); - $this->CheckProzessstarter("Mahnwesen-Check", "periodisch", "120", "2017-01-01 00:00:00", "cronjob", "mahnwesencheck", 1); - $this->CheckProzessstarter("Artikelimport", "periodisch", "15", "2017-01-01 00:00:00", "cronjob", "getarticles", 0); - $this->CheckProzessstarter('Artikel Übertragen', 'periodisch', '5', '2017-01-01 00:00:00', 'cronjob', 'artikeluebertragen', 1); - $this->CheckProzessstarter("Autoversand Berechnen", "periodisch", "60", "2017-01-01 00:00:00", "cronjob", "autoversand_berechnung", 0); - $this->CheckProzessstarter("Shop-Rückmeldungen", "periodisch", "60", "2017-01-01 00:00:00", "cronjob", "shop_rueckmeldungen", 1); - $this->CheckProzessstarter("Berichte FTP Übertragung", "periodisch", "1", "2017-01-01 00:00:00", "cronjob", "berichte_ftp_uebertragen", 0); - $this->CheckProzessstarter("Artikel Cache", "periodisch", "30", "2017-01-01 00:00:00", "cronjob", "artikelcache", 1); - $this->CheckProzessstarter("Bestellung automatisch abschliessen", "periodisch", "60", "", "cronjob", "bestellungabschliessen", 1); - $this->CheckProzessstarter("Internetmarke Produktliste aktualisieren", "periodisch", "1440", "", "cronjob", "internetmarke", 1); - - $this->CheckProzessstarter('Doppelte Nummern prüfen','periodisch','240','','cronjob','doppeltenummerncheck',1); - - $this->CheckTable("laender"); - $this->CheckColumn("id", "int(11)", "laender", "NOT NULL AUTO_INCREMENT"); - $this->CheckColumn("iso", "varchar(3)", "laender", "NOT NULL DEFAULT ''"); - $this->CheckColumn("iso3", "varchar(3)", "laender", "NOT NULL DEFAULT ''"); - $this->CheckColumn("num_code", "varchar(3)", "laender", "NOT NULL DEFAULT ''"); - $this->CheckColumn("bezeichnung_de", "varchar(255)", "laender", "NOT NULL DEFAULT ''"); - $this->CheckColumn("bezeichnung_en", "varchar(255)", "laender", "NOT NULL DEFAULT ''"); - $this->CheckColumn("eu", "tinyint(1)", "laender", "DEFAULT '0' NOT NULL"); - - $this->CheckColumn("preis", "DECIMAL(" . (10 + $this->GetLagerNachkommastellen()) . "," . $this->GetLagerNachkommastellen() . ")", "verbindlichkeit_position", "DEFAULT '0' NOT NULL"); - $this->CheckColumn("menge", "DECIMAL(" . (10 + $this->GetLagerNachkommastellen()) . "," . $this->GetLagerNachkommastellen() . ")", "verbindlichkeit_position", "DEFAULT '0' NOT NULL"); - - $this->CheckGeschaeftsbriefvorlagen('EinladungKalender', 'deutsch', 'Einladung: {BEZEICHNUNG} @ {VON}', 'Ort: {ORT}
Von: {VON}
Bis: {BIS}'); - $this->CheckGeschaeftsbriefvorlagen('Folgebestaetigung', 'deutsch', 'Folgebestätigung für offene Aufträge', 'Lieber Kunde,

- anbei übersenden wir Ihnen eine Liste mit den aktuell offenen Aufträgen (Rückstand und Aufträge mit Liefertermin):

{ARTIKELTABELLE}'); - - // mahnwesen als Geschaeftsbriefvorlage - - $mahnstufen = array('z'=>'Zahlungserinnerung','m1'=>'Mahnung1','m2'=>'Mahnung2','m3'=>'Mahnung3','i'=>'Inkasso'); - foreach($mahnstufen as $kurz=>$label) - { - $checktext = $this->GetKonfiguration("text".$kurz); - $checktext_en = $this->GetKonfiguration("text".$kurz."_en"); - if($checktext!="") { - $this->CheckGeschaeftsbriefvorlagen('Mahnwesen'.$label, 'deutsch','Buchhaltung: Ihre offene Rechnung {BELEGNR}',$checktext); - $this->SetKonfigurationValue("text".$kurz,""); - } - if($checktext_en!="") { - $this->CheckGeschaeftsbriefvorlagen('Mahnwesen'.$label, 'englisch','Account: Open Invoice {BELEGNR}',$checktext_en); - $this->SetKonfigurationValue("text".$kurz."_en",""); - } - } - - $this->CheckGeschaeftsbriefvorlagen('MahnwesenZahlungserinnerung','deutsch','Zahlungserinnerung: Ihre offene Rechnung {BELEGNR}','Sehr geehrte Damen und Herren,

-vielen Dank für Ihren Auftrag, den wir gerne für Sie ausgeführt haben.
-Leider konnten wir Ihrer Rechnung {RECHNUNG} bislang noch keinen Zahlungseingang verzeichnen.
-Kann es sein, dass der unten aufgeführte Betrag übersehen wurde?

-Falls der Betrag bereits überwiesen wurde, bitten wir Sie, dieses Schreiben als gegenstandslos anzusehen und uns bei der Zuordnung Ihrer Zahlung behilflich zu sein. Bitte senden Sie uns dazu eine E-Mail an buchhaltung@unseredomain.de.

Andernfalls freuen wir uns auf die Begleichung des offenen Forderungsbetrages in Höhe von {OFFEN} EUR bis zum {DATUM}. Bitte geben Sie im Betreff die Rechnungsnummer {RECHNUNG} an.'); - - $this->CheckGeschaeftsbriefvorlagen('MahnwesenMahnung1','deutsch','Mahnung 1: Ihre offene Rechnung {BELEGNR}','Sehr geehrte Damen und Herren,

-sicher haben Sie unsere Zahlungserinnerung übersehen.
Deshalb erhalten Sie mit diesem Schreiben nochmals eine Aufstellung der offenen Positionen.

-Sollten Sie die Zahlung noch nicht vorgenommen haben, bitten wir Sie, den Betrag in Höhe von {OFFEN} EUR bis zum {DATUM} auf unser Konto zu überweisen, um weitere Mahnschreiben und Gebühren zu vermeiden. Bitte geben Sie im Betreff die Rechnungsnummer {RECHNUNG} an.

-Wurde der offene Betrag bereits beglichen, so sehen Sie dieses Schreiben als gegenstandslos an.'); - - $this->CheckGeschaeftsbriefvorlagen('MahnwesenMahnung2','deutsch','Mahnung 2: Ihre offene Rechnung {BELEGNR}','Sehr geehrte Damen und Herren,

-unsere Rechnung vom {DATUMRECHNUNG} war am {DATUMRECHNUNGZAHLUNGSZIEL} zur Zahlung fällig.
-Trotz Mahnung und Fristsetzung wurde der Betrag von {OFFEN} EUR noch immer nicht beglichen.
-Deshalb erhalten Sie mit diesem Schreiben erneut eine Aufstellung der offenen Positionen.

-Bitte überweisen Sie den Betrag von {OFFEN} EUR bis zum {DATUM} auf unser unten genanntes Konto. Wir erlauben uns Mahngebühren in Höhe von {MAHNGEBUEHR} EUR zu berechnen. Bitte geben Sie im Betreff die Rechnungsnummer {RECHNUNG} an.

-Wurde der offene Betrag bereits beglichen, so sehen Sie dieses Schreiben als gegenstandslos an.'); - - $this->CheckGeschaeftsbriefvorlagen('MahnwesenMahnung3','deutsch','Mahnung 3: Ihre offene Rechnung {BELEGNR}','Sehr geehrte Damen und Herren,

-unsere Rechnung vom {DATUMRECHNUNG} war am {DATUMRECHNUNGZAHLUNGSZIEL} zur Zahlung fällig.
-Trotz Mahnungen und Fristsetzung wurde der Betrag von {OFFEN} EUR noch immer nicht beglichen.
-Deshalb erhalten Sie mit diesem Schreiben eine letzte Aufstellung der offenen Positionen. Bitte geben Sie im Betreff die Rechnungsnummer {RECHNUNG} an.

-Sollte der Betrag in Höhe von {OFFEN} EUR bis zum {DATUM} noch nicht auf unserem Konto eingegangen sein, werden wir das gerichtliche Mahnverfahren einleiten.

-Bitte kontaktieren Sie uns und lassen Sie uns dies vermeiden: 0123/45678'); - - $this->CheckGeschaeftsbriefvorlagen('MahnwesenInkasso','deutsch','Inkasso: Ihre offene Rechnung {BELEGNR}','Sehr geehrte Damen und Herren,

-unsere Rechnung vom {DATUMRECHNUNG} war am {DATUMRECHNUNGZAHLUNGSZIEL} zur Zahlung fällig.
-Trotz Mahnungen und Fristsetzung wurde der Betrag von {OFFEN} EUR noch immer nicht beglichen.
-Deshalb erhalten Sie mit diesem Schreiben eine letzte Aufstellung der offenen Positionen. Bitte geben Sie im Betreff die Rechnungsnummer {RECHNUNG} an.

-Sollte der Betrag in Höhe von {OFFEN} EUR bis zum {DATUM} noch nicht auf unserem Konto eingegangen sein, werden wir das gerichtliche Mahnverfahren einleiten.

-Bitte kontaktieren Sie uns und lassen Sie uns dies vermeiden: 0123/45678'); - - $checklaender = $this->app->DB->Select("SELECT COUNT(id) FROM laender"); - if($checklaender <= 0){ - $laender = $this->GetSelectLaenderliste(); - $laender_en = $this->GetSelectLaenderlisteEN(); - - $laender_eu = $this->GetUSTEU(); - - foreach ($laender as $iso => $bezeichnung) { - $bezeichnung_en = $laender_en[$iso]; - $bezeichnung = html_entity_decode($bezeichnung); - if(in_array($iso, $laender_eu)) $eu = 1;else $eu = 0; - - $bezeichnung = mysqli_real_escape_string($this->app->DB->connection,$bezeichnung); - $bezeichnung_en = mysqli_real_escape_string($this->app->DB->connection,$bezeichnung_en); - - $this->app->DB->Insert("INSERT INTO laender (id,iso,bezeichnung_de,bezeichnung_en,eu) VALUES ('','$iso','$bezeichnung','$bezeichnung_en','$eu')"); - } - } - - $checksprachen = $this->app->DB->Select("SELECT COUNT(id) FROM sprachen"); - if($checksprachen <= 0){ - $sprachen = $this->GetSelectSprachenListe(); - $sprachen_en = $this->GetSelectSprachenListeEN(); - - foreach ($sprachen as $iso => $bezeichnung) { - $bezeichnung_en = $sprachen_en[$iso]; - $bezeichnung = html_entity_decode($bezeichnung); - $this->app->DB->Insert("INSERT INTO sprachen (iso, bezeichnung_de, bezeichnung_en) VALUES ('$iso', '$bezeichnung', '$bezeichnung_en')"); - } - } - - $checkstaaten = $this->app->DB->Select("SELECT COUNT(id) FROM bundesstaaten"); - if($checkstaaten <= 0){ - $staaten = $this->GetSelectStaatenliste('DE'); - - foreach ($staaten as $iso => $bezeichnung) { - $bezeichnung = html_entity_decode($bezeichnung); - $this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('DE', '$iso', '$bezeichnung', 1)"); - } - - $staaten = $this->GetSelectStaatenliste('CA'); - - foreach ($staaten as $iso => $bezeichnung) { - $bezeichnung = html_entity_decode($bezeichnung); - $this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('CA', '$iso', '$bezeichnung', 1)"); - } - - $staaten = $this->GetSelectStaatenliste('US'); - - foreach ($staaten as $iso => $bezeichnung) { - $bezeichnung = html_entity_decode($bezeichnung); - $this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('US', '$iso', '$bezeichnung', 1)"); - } - - $staaten = $this->GetSelectStaatenliste('AT'); - - foreach ($staaten as $iso => $bezeichnung) { - $bezeichnung = html_entity_decode($bezeichnung); - $this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('AT', '$iso', '$bezeichnung', 1)"); - } - - $staaten = $this->GetSelectStaatenliste('CH'); - - foreach ($staaten as $iso => $bezeichnung) { - $bezeichnung = html_entity_decode($bezeichnung); - $this->app->DB->Insert("INSERT INTO bundesstaaten (land, iso, bundesstaat, aktiv) VALUES ('CH', '$iso', '$bezeichnung', 1)"); - } - } - $this->InstallModul('report'); - $this->InstallModul('kalender'); - $this->InstallModul('anfrage'); - } - - - if($stufe == 0 || substr((String)$stufe,0,2) === '10') { - $modules = [ - 'kommissionierlauf', - 'provisionenartikelvertreter', - 'matrixprodukt', - 'vorlage', - 'konditionen', - 'adressefilter', - 'artikelarbeitsanweisung', - 'artikelfunktionsprotokoll', - 'abschlagsrechnung', - 'multiorderpicking', - 'auftragautoversand', - 'auftragoffenepositionen', - 'auftragoffenepositionendienstleistung', - 'multilabelprint', - 'pos', - 'lager', - 'preisliste', - 'artikel_texte', - 'projektlogbuch', - 'sprachen', - 'dokumentation', - 'bundesstaaten', - 'belegpositionberechnung', - 'proformarechnung', - 'rechnungzuverbindlichkeit', - 'adresssucheerweitert', - 'iaaplus', - 'alkoholsteuerrechner', - 'retailpricetemplate', - 'documenttoproject', - 'singleshipment', - 'triggerapp', - 'supportapp', - 'dsgvo', - 'verpackungen', - 'verbindlichkeit', - 'rma_vorlagen', - 'stuecklistendetails', - 'versandarten', - 'gruppen', - 'artikel', - 'preisanfrage', - 'gefahrgut', - 'paymentslip_swiss', - 'adressabhaengigesetikett', - 'ups', - 'elo', - 'dekodinexus', - 'filelink', - 'prozess_monitor', - 'auftragsampel', - 'ticket', - 'pos_kassierer', - 'layouttemplateattachment', - 'frameagreement', - 'inventur', - 'maximumdiscount', - 'zeiterfassungvorlage', - 'serviceauftrag', - 'freearticle', - 'receiptprotocolitems', - 'itemtemplate', - 'mandatoryfields', - 'xcs', - 'gls', - 'standardpackages', - 'extendedapproval', - 'eangenerator', - 'internalsupport', - 'collectivedebitors', - 'wiki' - ]; - - $onlyInstallFromKey = 0; - if($stufe != 0 && (string)$stufe !== '10') { - $onlyInstallFromKey = (int)substr($stufe, 3); - $lastModuleUpdate = (int)$this->GetKonfiguration('moduleupdatelasttime'); - if($lastModuleUpdate < time() - 600) { - $lastModuleUpdate = time(); - $this->app->erp->SetKonfigurationValue('moduleupdatelasttime', $lastModuleUpdate); - $nextKeyIfUpgradeFail = $onlyInstallFromKey + 1; - $this->app->erp->SetKonfigurationValue('moduleupdatenextkey', $nextKeyIfUpgradeFail); - } - else { - $nextKeyIfUpgradeFail = (int)$this->GetKonfiguration('moduleupdatenextkey'); - if($nextKeyIfUpgradeFail < $onlyInstallFromKey + 1) { - $nextKeyIfUpgradeFail = $onlyInstallFromKey + 1; - } - else { - $onlyInstallFromKey = $nextKeyIfUpgradeFail - 1; - } - } - } - foreach($modules as $key => $module) { - if($onlyInstallFromKey > 0 && $key <= $onlyInstallFromKey) { - continue; - } - $this->InstallModul($module); - if($onlyInstallFromKey > 0) { - $this->app->erp->SetKonfigurationValue('moduleupdatenextkey', $onlyInstallFromKey + 1); - $onlyInstallFromKey++; - } - } - $cModules = (!empty($modules)?count($modules):0); - $actIndex = $cModules; - $apps = $this->getAppList(); - foreach($apps as $module => $app) { - if(!empty($app['install'])) { - $actIndex++; - if($onlyInstallFromKey > 0 && $actIndex <= $onlyInstallFromKey) { - continue; - } - $this->InstallModul($module); - if($onlyInstallFromKey > 0) { - $this->app->erp->SetKonfigurationValue('moduleupdatenextkey', $onlyInstallFromKey + 1); - $onlyInstallFromKey++; - } - } - } - if($onlyInstallFromKey > 0) { - $this->app->erp->SetKonfigurationValue('moduleupdatelasttime', ''); - $this->app->erp->SetKonfigurationValue('moduleupdatenextkey', ''); - return 11; - } - } - - if($stufe == 0 || $stufe == 11) - { - $modulesToCrons = [ - 'pipedrive' => ['pipedrive_process'], - 'hubspot' => [ - 'hubspot_process', - 'hubspot_pull_contacts', - 'hubspot_pull_deals', - ], - 'amainvoice' => ['amainvoice'], - 'batches' => ['batches'], - - ]; - foreach($modulesToCrons as $module => $cronjobs) { - if($this->ModulVorhanden($module, true)){ - continue; - } - $this->app->DB->Update( - sprintf( - "UPDATE `prozessstarter` SET `aktiv` = 0 WHERE `parameter` IN ('%s')", - implode("','", $cronjobs) - ) - ); - } - - $this->CheckIndex('artikel', 'variante_von'); - $this->CheckIndex('userkonfiguration', 'user'); - $this->CheckIndex('userkonfiguration', 'name'); - $this->CheckIndex('adresse_rolle', 'adresse'); - $this->CheckIndex('adresse_kontakte', 'adresse'); - $this->CheckIndex('adresse_kontakhistorie', 'adresse'); - $this->CheckIndex('adresse_accounts', 'adresse'); - - $this->CheckIndex('emailbackup_mails','webmail'); - $this->CheckIndex('emailbackup_mails','gelesen'); - $this->CheckIndex('emailbackup_mails','spam'); - $this->CheckIndex('emailbackup_mails','geloescht'); - $this->CheckIndex('emailbackup_mails','antworten'); - $this->CheckIndex('emailbackup_mails','warteschlange'); - $this->CheckIndex('emailbackup_mails','adresse'); - $this->CheckIndex('emailbackup_mails','checksum'); - - $this->CheckIndex('kalender_event','adresse'); - - $this->CheckIndex('api_mapping', 'api'); - $this->CheckIndex('api_request', 'uebertragung_account'); - - $this->CheckIndex('abrechnungsartikel', ['adresse','artikel']); - - $this->CheckIndex('drucker_spooler', 'drucker'); - - $this->CheckIndex('dokumente', 'adresse_to'); - $this->CheckIndex('wiedervorlage', 'adresse'); - $this->CheckIndex('wiedervorlage', 'adresse_mitarbeiter'); - $this->CheckIndex('verkaufspreise', 'artikel'); - $this->CheckIndex('einkaufspreise', 'artikel'); - $this->CheckIndex('verkaufspreise', 'kundenartikelnummer'); - $this->CheckIndex('einkaufspreise', 'bestellnummer'); - - $this->CheckIndex('stueckliste', 'stuecklistevonartikel'); - $this->CheckIndex('adresse_filter_positionen', 'filter'); - $this->CheckIndex('adresse_filter_positionen', 'gruppe'); - $this->CheckIndex('adresse_filter_gruppen', 'filter'); - - $this->CheckIndex('angebot_position', 'angebot'); - $this->CheckIndex('auftrag_position', 'auftrag'); - $this->CheckIndex('auftrag_position', 'explodiert_parent'); - $this->CheckIndex('rechnung_position', 'rechnung'); - $this->CheckIndex('gutschrift_position', 'gutschrift'); - $this->CheckIndex('anfrage_position', 'anfrage'); - $this->CheckIndex('bestellung_position', 'bestellung'); - $this->CheckIndex('lieferschein_position', 'lieferschein'); - $this->CheckIndex('lieferschein_position', 'auftrag_position_id'); - $this->CheckIndex('rechnung_position', 'auftrag_position_id'); - - $this->CheckIndex('preisanfrage_position', 'preisanfrage'); - $this->CheckIndex('layoutvorlagen_positionen','layoutvorlage'); - $this->CheckIndex('proformarechnung_position','proformarechnung'); - - $this->CheckIndex('datei_version', 'datei'); - $this->CheckIndex('datei_stichwoerter', 'datei'); - $this->CheckIndex('datei_stichwoerter', 'parameter'); - $this->CheckIndex('kontoauszuege', 'konto'); - $this->CheckIndex('kontoauszuege', 'parent'); - $this->CheckIndex('kontoauszuege', 'gegenkonto'); - $this->CheckIndex('konten', 'projekt'); - - $this->CheckIndex('lager_platz', 'lager'); - $this->CheckIndex('lager_platz_inhalt', 'lager_platz'); - $this->CheckIndex('lager_platz_inhalt', 'artikel'); - - $this->CheckIndex('lager_mindesthaltbarkeitsdatum', 'lager_platz'); - $this->CheckIndex('lager_mindesthaltbarkeitsdatum', 'artikel'); - - $this->CheckIndex('lager_charge', 'lager_platz'); - $this->CheckIndex('lager_charge', 'artikel'); - - $this->CheckIndex('objekt_lager_platz', 'lager_platz'); - $this->CheckIndex('objekt_lager_platz', 'parameter'); - $this->CheckIndex('objekt_lager_platz', 'artikel'); - - $this->CheckIndex('artikel_arbeitsanweisung', 'artikel'); - - $this->CheckIndex('provision_regeln', 'gruppe'); - $this->CheckIndex('provision_regeln', 'artikel'); - $this->CheckIndex('provision_regeln', 'adresse'); - $this->CheckIndex('gruppenmapping', 'gruppe'); - $this->CheckIndex('provisionenartikel_abrechnungen', 'userid'); - - $this->CheckIndex('kalender_user', 'userid'); - $this->CheckIndex('kalender_user', 'event'); - $this->CheckIndex('user', 'adresse'); - $this->CheckIndex('aufgabe', 'adresse'); - - $this->CheckIndex('auftrag_protokoll', 'auftrag'); - $this->CheckIndex('anfrage_protokoll', 'anfrage'); - $this->CheckIndex('angebot_protokoll', 'angebot'); - $this->CheckIndex('bestellung_protokoll', 'bestellung'); - $this->CheckIndex('gutschrift_protokoll', 'gutschrift'); - $this->CheckIndex('lieferschein_protokoll', 'lieferschein'); - $this->CheckIndex('rechnung_protokoll', 'rechnung'); - $this->CheckIndex('produktion_protokoll', 'produktion'); - - $this->CheckIndex('wiedervorlage_protokoll', 'wiedervorlageid'); - - $this->CheckIndex('arbeitspaket','projekt'); - - $this->CheckIndex('emailbackup_mails','webmail'); - $this->CheckIndex('emailbackup_mails','gelesen'); - $this->CheckIndex('emailbackup_mails','spam'); - $this->CheckIndex('emailbackup_mails','geloescht'); -} -if($stufe == 0 || $stufe == 12) -{ - $this->CheckIndex('artikel_permanenteinventur', 'lager_platz'); - $this->CheckIndex('artikel_permanenteinventur', 'artikel'); - $this->CheckIndex('bestellung', 'adresse'); - $this->CheckIndex('auftrag', 'adresse'); - $this->CheckIndex('auftrag', 'teillieferungvon'); - $this->CheckIndex('rechnung', 'adresse'); - $this->CheckIndex('gutschrift', 'adresse'); - $this->CheckIndex('lieferschein', 'adresse'); - $this->CheckIndex('versand', 'lieferschein'); - $this->CheckIndex('versand', 'cronjob'); - $this->CheckIndex('lieferschein', 'auftragid'); - $this->CheckIndex('lieferschein', 'keinerechnung'); - $this->CheckIndex('lieferschein', 'rechnungid'); - $this->CheckIndex('rechnung', 'auftragid'); - $this->CheckIndex('rechnung', 'lieferschein'); - $this->CheckIndex('gutschrift', 'rechnungid'); - - $this->CheckIndex('gruppenrechnung_auswahl', 'lieferschein'); - $this->CheckIndex('gruppenrechnung_auswahl', 'auftrag'); - $this->CheckIndex('gruppenrechnung_auswahl', 'user'); - - if($this->ModulVorhanden('matrixprodukt')) - { - $this->CheckIndex('matrixprodukt_eigenschaftenoptionen_artikel', 'gruppe'); - $this->CheckIndex('matrixprodukt_optionen_zu_artikel', 'option_id'); - $this->CheckIndex('matrixprodukt_optionen_zu_artikel', 'artikel'); - $this->CheckIndex('matrixprodukt_eigenschaftengruppen_artikel', 'artikel'); - } - $this->CheckIndex('sammelrechnung_position', 'lieferschein_position_id'); - $this->CheckIndex('sammelrechnung_position', 'auftrag_position_id'); - $this->CheckIndex('sammelrechnung_position', 'rechnung'); - - $this->CheckIndex('artikeleigenschaftenwerte', 'artikeleigenschaften'); - $this->CheckIndex('artikeleigenschaftenwerte', 'artikel'); - - $this->CheckIndex('artikel', 'herstellernummer'); - $this->CheckIndex('artikel', 'geloescht'); - $this->CheckIndex('kasse', 'datum'); - $this->CheckIndex('pos_tagesabschluss', 'datum'); - $this->CheckIndex('pos_tagesabschluss', 'projekt'); - $this->CheckIndex('pos_order', 'projekt'); - - $this->CheckIndex('beleg_chargesnmhd', 'doctypeid'); - $this->CheckIndex('beleg_chargesnmhd', 'pos'); - $this->CheckIndex('beleg_chargesnmhd', 'type'); - $this->CheckIndex('beleg_chargesnmhd', 'type2'); - $this->CheckIndex('beleg_zwischenpositionen', 'doctypeid'); - - $this->CheckIndex('ticket', 'schluessel'); - $this->CheckIndex('ticket', 'service'); - $this->CheckIndex('ticket', 'adresse'); - - $this->CheckIndex('ticket_nachricht', 'ticket'); - $this->CheckIndex('api_request', 'parameter1int'); - $this->CheckIndex('artikelnummer_fremdnummern','artikel'); - $this->CheckIndex('artikelnummer_fremdnummern','shopid'); - $this->CheckIndex('artikelnummer_fremdnummern','nummer'); - $this->CheckIndex('pdfarchiv','table_id'); - $this->CheckIndex('pdfarchiv','schreibschutz'); - $this->CheckIndex('lager_reserviert','objekt'); - - $this->CheckIndex('lager_reserviert','artikel'); - $this->CheckIndex('kontoauszuege_zahlungseingang','kontoauszuege'); - $this->CheckIndex('kontoauszuege_zahlungsausgang','kontoauszuege'); - $this->app->DB->Query("DELETE FROM device_jobs WHERE art = 'metratecrfid' AND zeitstempel < DATE_SUB(now(), INTERVAL 8 HOUR)"); - $this->app->DB->Query("DELETE d1 FROM device_jobs d1 LEFT JOIN device_jobs d2 ON d1.request_id = d2.id WHERE isnull(d2.id) AND d1.request_id > 0"); - - $this->CheckIndex('shopexport_getarticles','shop'); - - $this->CheckIndex('verbindlichkeit','adresse'); - $this->CheckIndex('verbindlichkeit','bestellung'); - $this->CheckIndex('verbindlichkeit','auftrag'); - $this->CheckIndex('uebersetzung','sprache'); - $this->CheckIndex('uebersetzung','label'); - $this->CheckIndex('chargen_log','doctypeid'); - $this->CheckIndex('chargen_log','doctype'); - $this->CheckIndex('mhd_log','doctypeid'); - $this->CheckIndex('mhd_log','doctype'); - - $this->CheckIndex('pinwand_user',['pinwand','user']); - $this->CheckIndex('wiki', 'name'); - $this->CheckIndex('offenevorgaenge', 'adresse'); - - $this->CheckIndex('kontoauszuege_zahlungsausgang', 'parameter'); - $this->CheckIndex('kontoauszuege_zahlungseingang', 'parameter'); - - $this->app->erp->RegisterHook('AARLGPositionen_aktion', 'auftrag', 'AuftragAARLGPositionen_aktion'); - - $this->app->DB->Update("UPDATE artikel art INNER JOIN stueckliste s ON art.id = s.stuecklistevonartikel SET art.lagerartikel = 0 WHERE art.lagerartikel = 1 AND art.juststueckliste = 1"); - $this->app->DB->Update("UPDATE artikel art LEFT JOIN stueckliste s ON art.id = s.stuecklistevonartikel SET art.juststueckliste = 0 WHERE art.lagerartikel = 1 AND art.juststueckliste = 1 AND isnull(s.id)"); - - // ab 18.3 Wiki statt parameter muss da die ID stehen - $tmpstich = $this->app->DB->SelectArr("SELECT id,parameter FROM datei_stichwoerter WHERE objekt='Wiki' AND concat('',parameter * 1) != parameter"); - $ctmpstich = !empty($tmpstich)?count($tmpstich):0; - for($tmpstichi=0;$tmpstichi < $ctmpstich;$tmpstichi++) - { - $wikiid = $this->app->DB->Select("SELECT id FROM wiki WHERE name='".$tmpstich[$tmpstichi]['parameter']."' AND name!='' LIMIT 1"); - if($wikiid > 0) - { - $this->app->DB->Update("UPDATE datei_stichwoerter SET parameter='$wikiid' WHERE id='".$tmpstich[$tmpstichi]['id']."' AND objekt='Wiki' LIMIT 1"); - } - } - - $ohneVerbindlichkeitsbelegnr = $this->app->DB->Select("SELECT COUNT(v.id) FROM verbindlichkeit v WHERE v.belegnr = '' AND status_beleg!='angelegt'"); - $anzahlverbindlichkeit = $this->app->DB->Select("SELECT COUNT(v.id) FROM verbindlichkeit v"); - if($ohneVerbindlichkeitsbelegnr > 0 && $anzahlverbindlichkeit > 0){ - $this->app->DB->Update("UPDATE verbindlichkeit v SET v.belegnr = v.id, v.status_beleg = 'freigegeben' WHERE v.belegnr = ''"); - $maxVerbindlichkeitId = $this->app->DB->Select("SELECT MAX(v.id)+1 FROM verbindlichkeit v"); - $this->app->DB->Update("UPDATE firmendaten_werte SET wert = '$maxVerbindlichkeitId' WHERE name = 'next_verbindlichkeit' LIMIT 1"); - } - - $anzahlAlternativArtikel = $this->app->DB->Select("SELECT COUNT(id) FROM parts_list_alternative"); - if($anzahlAlternativArtikel == 0){ - $stuecklistenAlternativen = $this->app->DB->SelectArr("SELECT id, alternative FROM stueckliste WHERE alternative > 0"); - if(is_array($stuecklistenAlternativen) && !empty($stuecklistenAlternativen)){ - foreach($stuecklistenAlternativen as $alternativen=>$alternativdetails) { - $this->app->DB->Insert("INSERT INTO parts_list_alternative (parts_list_id, alternative_article_id) VALUES ('".$alternativdetails['id']."', '".$alternativdetails['alternative']."')"); - } - } - } - - $this->CheckIndex('drucker_spooler','user'); - $this->CheckIndex('warteschlangen','adresse'); - $this->CheckIndex('ticket', 'warteschlange'); - $this->app->DB->Update("UPDATE ticket AS t - INNER JOIN ( - SELECT count(id) as co, ticket - FROM ticket_nachricht - GROUP BY ticket - ) AS tn ON t.schluessel = tn.ticket - SET t.nachrichten_anz = tn.co - WHERE ISNULL(t.nachrichten_anz)"); - $this->CheckIndex('shopexport_log',['shopid','typ','parameter3','parameter4']); - $this->app->DB->Delete('DELETE FROM lager_platz_inhalt WHERE artikel = 0 OR lager_platz = 0'); - $this->app->DB->Delete('DELETE FROM lager_seriennummern WHERE artikel = 0 OR (lager_platz = 0 AND zwischenlagerid = 0)'); - $this->app->DB->Delete('DELETE FROM lager_charge WHERE artikel = 0 OR (lager_platz = 0 AND zwischenlagerid = 0)'); - $this->app->DB->Delete('DELETE FROM lager_mindesthaltbarkeitsdatum WHERE artikel = 0 OR (lager_platz = 0 AND zwischenlagerid = 0)'); - - $this->app->erp->CheckIndex('rechnung', 'zahlungsstatus'); - $this->app->erp->CheckIndex('auftrag', 'versandart'); - $this->app->erp->CheckIndex('angebot', 'versandart'); - $this->app->erp->CheckIndex('lieferschein', 'versandart'); - $this->app->erp->CheckIndex('rechnung', 'versandart'); - $this->app->erp->CheckIndex('gutschrift', 'versandart'); - $this->app->erp->CheckIndex('bestellung', 'versandart'); - $this->app->erp->CheckIndex('retoure', 'versandart'); - } - if($stufe > 0 && $stufe < 12){ - return ($stufe+1); - } - if((int)$stufe === 0) { - $this->migrateIfFirstInstall(); - } -} - - // @refactor Installer Komponente function CheckFirmendaten() { @@ -14411,41 +9107,43 @@ function CheckGeschaeftsbriefvorlagen($subjekt,$sprache,$betreff,$text) } } +// START deprecated database upgrade functions + public function ensureDatabaseUpgradeProperty() { - if ($this->app->DatabaseUpgrade === null) { +/* if ($this->app->DatabaseUpgrade === null) { $this->app->DatabaseUpgrade = new DatabaseUpgrade($this->app); - } + }*/ } function CheckTable($table, $pk = 'id') { - $this->ensureDatabaseUpgradeProperty(); - $this->app->DatabaseUpgrade->CheckTable($table, $pk); +/* $this->ensureDatabaseUpgradeProperty(); + $this->app->DatabaseUpgrade->CheckTable($table, $pk);*/ } function UpdateColumn($column,$type,$table,$default="NOT NULL") { - $this->ensureDatabaseUpgradeProperty(); - $this->app->DatabaseUpgrade->UpdateColumn($column,$type,$table,$default); +/* $this->ensureDatabaseUpgradeProperty(); + $this->app->DatabaseUpgrade->UpdateColumn($column,$type,$table,$default);*/ } public function emptyTableCache() { - $this->ensureDatabaseUpgradeProperty(); - $this->app->DatabaseUpgrade->emptyTableCache(); +/* $this->ensureDatabaseUpgradeProperty(); + $this->app->DatabaseUpgrade->emptyTableCache();*/ } public function DeleteColumn($column,$table) { - $this->ensureDatabaseUpgradeProperty(); - $this->app->DatabaseUpgrade->DeleteColumn($column,$table); +/* $this->ensureDatabaseUpgradeProperty(); + $this->app->DatabaseUpgrade->DeleteColumn($column,$table);*/ } public function CheckColumn($column,$type,$table,$default="") { - $this->ensureDatabaseUpgradeProperty(); - $this->app->DatabaseUpgrade->CheckColumn($column,$type,$table,$default); +/* $this->ensureDatabaseUpgradeProperty(); + $this->app->DatabaseUpgrade->CheckColumn($column,$type,$table,$default);*/ } /** @@ -14454,16 +9152,43 @@ function CheckGeschaeftsbriefvorlagen($subjekt,$sprache,$betreff,$text) */ public function dropIndex($table, $columns) { - $this->ensureDatabaseUpgradeProperty(); - $this->app->DatabaseUpgrade->dropIndex($table, $columns); +/* $this->ensureDatabaseUpgradeProperty(); + $this->app->DatabaseUpgrade->dropIndex($table, $columns);*/ } protected function ChangeFirmendatenToMyIsam() { - $this->ensureDatabaseUpgradeProperty(); - $this->app->DatabaseUpgrade->ChangeFirmendatenToMyIsam(); +/* $this->ensureDatabaseUpgradeProperty(); + $this->app->DatabaseUpgrade->ChangeFirmendatenToMyIsam();*/ } + + public function CheckDoubleIndex($table, $indexe) + { +/* $this->ensureDatabaseUpgradeProperty(); + return $this->app->DatabaseUpgrade->CheckDoubleIndex($table,$indexe);*/ + } + + public function CheckFulltextIndex($table, $column) + { +/* $this->ensureDatabaseUpgradeProperty(); + return $this->app->DatabaseUpgrade->CheckFulltextIndex($table,$column);*/ + } + + public function CheckIndex($table, $column, $unique = false) + { +/* $this->ensureDatabaseUpgradeProperty(); + return $this->app->DatabaseUpgrade->CheckIndex($table,$column,$unique);*/ + } + + public function CheckAlterTable($sql, $force = false) + { +/* $this->ensureDatabaseUpgradeProperty(); + return $this->app->DatabaseUpgrade->CheckAlterTable($sql,$force);*/ + } + +// END deprecated database upgrade functions + // @refactor Welcome Modul function CheckFav($bezeichnung, $url) { @@ -14610,30 +9335,6 @@ function CheckGeschaeftsbriefvorlagen($subjekt,$sprache,$betreff,$text) return $this->app->DB->GetInsertID(); } - public function CheckDoubleIndex($table, $indexe) - { - $this->ensureDatabaseUpgradeProperty(); - return $this->app->DatabaseUpgrade->CheckDoubleIndex($table,$indexe); - } - - public function CheckFulltextIndex($table, $column) - { - $this->ensureDatabaseUpgradeProperty(); - return $this->app->DatabaseUpgrade->CheckFulltextIndex($table,$column); - } - - public function CheckIndex($table, $column, $unique = false) - { - $this->ensureDatabaseUpgradeProperty(); - return $this->app->DatabaseUpgrade->CheckIndex($table,$column,$unique); - } - - public function CheckAlterTable($sql, $force = false) - { - $this->ensureDatabaseUpgradeProperty(); - return $this->app->DatabaseUpgrade->CheckAlterTable($sql,$force); - } - // @refactor Firmendaten Modul function ArtikelFreifeldBezeichnungen() { diff --git a/www/pages/welcome.php b/www/pages/welcome.php index d77e42df..e51eb61c 100644 --- a/www/pages/welcome.php +++ b/www/pages/welcome.php @@ -90,8 +90,6 @@ class Welcome $this->app->ActionHandler("mobileapps","WelcomeMobileApps"); $this->app->ActionHandler("spooler","WelcomeSpooler"); $this->app->ActionHandler("redirect","WelcomeRedirect"); - $this->app->ActionHandler("upgrade","WelcomeUpgrade"); - $this->app->ActionHandler("upgradedb","WelcomeUpgradeDB"); $this->app->ActionHandler("startseite","WelcomeStartseite"); $this->app->ActionHandler("addnote","WelcomeAddNote"); @@ -886,8 +884,6 @@ $this->app->Tpl->Add('TODOFORUSER',"".$tmp[$i]['aufgabe']. $this->app->Tpl->Parse('AUFGABENPOPUP','aufgaben_popup.tpl'); // ENDE:Aufgabe-Bearbeiten-Popup - $this->XentralUpgradeFeed(); - $this->app->erp->RunHook('welcome_start', 1 , $this); // Xentral 20 database compatibility @@ -1113,97 +1109,6 @@ $this->app->Tpl->Add('TODOFORUSER',"".$tmp[$i]['aufgabe']. $this->app->erp->ExitWawi(); } - protected function XentralUpgradeFeed($max=3) - { - if(!$this->app->Conf->WFoffline) - { - $version = $this->app->erp->Version(); - $revision = $this->app->erp->Revision(); -/* - $tmp = explode('.',$revision); - $branch = strtolower($version).'_'.$tmp[0].'.'.$tmp[1]; - - $BLOGURL = "https://{$this->app->Conf->updateHost}/wawision_2016.php?branch=".$branch; - $CACHEFILE = $this->app->erp->GetTMP().md5($BLOGURL); - $CACHEFILE2 = $this->app->erp->GetTMP().md5($BLOGURL).'2'; - if(!file_exists($CACHEFILE2)) - { - if(file_exists($CACHEFILE)){ - @unlink($CACHEFILE); - } - }else{ - if(trim(file_get_contents($CACHEFILE2)) != $version.$revision){ - @unlink($CACHEFILE); - } - } - $CACHETIME = 4; # hours - - if(!file_exists($CACHEFILE) || ((time() - filemtime($CACHEFILE)) > 3600 * $CACHETIME)) { - if($feed_contents = @file_get_contents($BLOGURL)) { - $fp = fopen($CACHEFILE, 'w'); - fwrite($fp, $feed_contents); - fclose($fp); - @file_put_contents($CACHEFILE2, $version.$revision); - } - } - $feed_contents = file_get_contents($CACHEFILE); - - $xml = simplexml_load_string($feed_contents); - $json = json_encode($xml); - $array = json_decode($json,TRUE); - $found = false; - $version_revision = null; - include dirname(dirname(__DIR__)) .'/version.php'; - if($version_revision != '') { - $ra = explode('.', $version_revision); - if(isset($ra[2]) && $ra[2] != '') { - $itemsCount = isset($array['channel']['item'])?count($array['channel']['item']):0; - for($i = 0; $i< $itemsCount; $i++) { - if($found !== false) { - unset($array['channel']['item'][$i]); - } - else{ - $rev = isset($array['channel']['item'][$i]['guid'])?(string)$array['channel']['item'][$i]['guid']:''; - if($rev === '') { - $rev = trim(trim($array['channel']['item'][$i]['title']),')'); - $rev = trim(substr($rev, strrpos($rev, '(')+4)); - } - if($rev == $ra[2]) { - $found = $i; - unset($array['channel']['item'][$i]); - } - } - } - } - } - if(!empty($array['channel']) && !empty($array['channel']['item']) && is_array($array['channel']['item'])) { - $itemsCount = isset($array['channel']['item'])?count($array['channel']['item']):0; - for($i = 0; $i < $itemsCount; $i++) { - $this->app->Tpl->Add('WAIWISONFEEDS',''.$array['channel']['item'][$i]['title'] - .''.$array['channel']['item'][$i]['description'].''); - } - } - elseif($found !== false){ - $this->app->Tpl->Add('WAIWISONFEEDS','
Ihre Version ist auf dem neusten Stand.'); - } - $version = $this->app->erp->Version(); - if($version==='OSS') { - $this->app->Tpl->Set('INFO', '
Sie verwenden die Open-Source Version.'); - $this->app->Tpl->Set('TESTBUTTON','
- 14 Tage Business testen -
'); - } - $this->app->Tpl->Set('RAND',md5(microtime(true))); - if(!$this->app->erp->RechteVorhanden('welcome','changelog')) { - $this->app->Tpl->Set('BEFORECHANGELOG', ''); - } - $this->app->erp->RunHook('welcome_news'); - $this->app->Tpl->Parse('WELCOMENEWS','welcome_news.tpl'); -*/ - } - } - public function WelcomeAddPinwand() { @@ -1668,156 +1573,6 @@ $this->app->Tpl->Add('TODOFORUSER',"".$tmp[$i]['aufgabe']. return $out; } - public function WelcomeUpgrade() - { - $this->app->erp->MenuEintrag('index.php?module=welcome&action=start','zurück zur Startseite'); - $this->app->erp->Headlines('Update für Xentral'); - - $this->app->Tpl->Set('STARTBUTTON',''); - - $lizenz = $this->app->erp->Firmendaten('lizenz'); - $schluessel = $this->app->erp->Firmendaten('schluessel'); - if($lizenz=='' || $schluessel=='') - { - if(is_file('../wawision.inc.php')) - { - include_once '../wawision.inc.php'; - $this->app->erp->FirmendatenSet('lizenz',$WAWISION['serial']); - $this->app->erp->FirmendatenSet('schluessel',$WAWISION['authkey']); - } - } - - $this->app->erp->MenuEintrag('index.php?module=welcome&action=upgrade','Update'); - $this->XentralUpgradeFeed(5); - $result = ''; - if($this->app->Secure->GetPOST('upgrade')) - { - ob_start(); - // dringend nacheinander, sonst wird das alte upgrade nur ausgefuehrt - if(!is_dir('.svn')) - { - echo "new update system\r\n"; - include '../upgradesystemclient2_include.php'; - } else { - echo "Update in Entwicklungsversion\r\n"; - } - - $result .= "\r\n>>>>>>Bitte klicken Sie jetzt auf \"Weiter mit Schritt 2\"<<<<<<\r\n\r\n"; - $result .= ob_get_contents(); - $result .= "\r\n>>>>>>Bitte klicken Sie jetzt auf \"Weiter mit Schritt 2\"<<<<<<\r\n\r\n"; - ob_end_clean(); - - if(is_dir('.svn')) - { - $version_revision = 'SVN'; - } else { - include '../version.php'; - } - - $result .="\r\nIhre Version: $version_revision\r\n"; - - } else { - $result .=">>>>>Bitte auf \"Dateien aktualisieren jetzt starten\" klicken<<<<<<\r\n"; - } - - if($this->app->erp->Firmendaten('version')==''){ - $this->app->erp->FirmendatenSet('version', $this->app->erp->RevisionPlain()); - } - - $doc_root = preg_replace("!{$_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']); # ex: /var/www - $path = preg_replace("!^{$doc_root}!", '', __DIR__); - -$this->app->Tpl->Add('TAB1',"

Schritt 1 von 2: Dateien aktualisieren

- -
  -   -
[WELCOMENEWS]
"); - - $this->app->Tpl->Parse('PAGE','tabview.tpl'); - } - - public function WelcomeUpgradeDB() - { - $this->app->erp->MenuEintrag('index.php?module=welcome&action=start','zurück zur Startseite'); - $this->app->erp->Headlines('Update für Xentral'); - - $lizenz = $this->app->erp->Firmendaten('lizenz'); - $schluessel = $this->app->erp->Firmendaten('schluessel'); - if($lizenz=='' || $schluessel=='') - { - if(is_file('../wawision.inc.php')) - { - include_once '../wawision.inc.php'; - $this->app->erp->FirmendatenSet('lizenz',$WAWISION['serial']); - $this->app->erp->FirmendatenSet('schluessel',$WAWISION['authkey']); - } - } - $this->app->erp->MenuEintrag('index.php?module=welcome&action=upgradedb','Update'); - $this->XentralUpgradeFeed(5); - $result = ''; - if($this->app->Secure->GetPOST('upgradedb')) - { - ob_start(); - // include("upgradesystemclient.php"); - $result .="Starte DB Update\r\n"; - $this->app->erp->UpgradeDatabase(); - $this->app->erp->check_column_missing_run = true; - $this->app->erp->UpgradeDatabase(); - - if((!empty($this->app->erp->check_column_missing)?count($this->app->erp->check_column_missing):0) > 0) - { - $result .= "\r\n**** INFORMATION DATENBANK ****\r\n"; - foreach($this->app->erp->check_column_missing as $tablename=>$columns) - { - $result .= "\r\n"; - foreach($columns as $key=>$columname) { - $result .= $tablename . ':' . $columname . "\r\n"; - } - } - $result .= "\r\n**** INFORMATION DATENBANK ****\r\n\r\n"; - } - if((!empty($this->app->erp->check_index_missing)?count($this->app->erp->check_index_missing):0) > 0) - { - $result .= "\r\n**** INFORMATION DATENBANK INDEXE ****\r\n"; - foreach($this->app->erp->check_index_missing as $tablename=>$columns) - { - $result .= "\r\n"; - foreach($columns as $key=>$columname) { - $result .= $tablename . ":" . $columname . "\r\n"; - } - } - $result .= "\r\n**** INFORMATION DATENBANK INDEXE ****\r\n\r\n"; - } - $result .="Fertig DB Update\r\n"; - $result .="\r\n\r\nDas Datenbank Update wurde durchgeführt\r\n"; - $result .="\r\n>>>>>Sie können nun mit Xentral weiterarbeiten.<<<<<<\r\n"; - $result .= ob_get_contents(); - ob_end_clean(); - } else { - $result .="\r\n>>>>>Bitte auf \"Datenbank Anpassungen jetzt durchführen\" klicken<<<<<<\r\n"; - } - - if($this->app->erp->Firmendaten('version')==''){ - $this->app->erp->FirmendatenSet('version', $this->app->erp->RevisionPlain()); - } - - $doc_root = preg_replace("!{$_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']); # ex: /var/www - $path = preg_replace("!^{$doc_root}!", '', __DIR__); - -$this->app->Tpl->Add('TAB1',"

Schritt 2 von 2: Datenbank anpassen

- -
  -   -   -
[WELCOMENEWS]
"); - - $this->app->Tpl->Parse('PAGE','tabview.tpl'); - } - - - - public function Termine($date) { $userid = $this->app->User->GetID(); diff --git a/www/update.php b/www/update.php deleted file mode 100644 index 1c9b87fc..00000000 --- a/www/update.php +++ /dev/null @@ -1,5420 +0,0 @@ -updateHost ?: 'removed.upgrade.host'; -}else{ - $updateHost = 'removed.upgrade.host'; -} -define('XENTRAL_UPDATE_HOST', $updateHost); - -class erpAPI_Update -{ - function __construct($app) - { - $this->app=$app; - } - - function Branch() - { - return ''; - } - - function Version() - { - return ''; - } - - - function RevisionPlain() - { - return ''; - } - - - function Revision() - { - return ''; - } - function Startseite() - { - if($this->app->User->GetID()!='') - { - $rand = md5(mt_rand()); - header('Location: update.php?rand='.$rand); - exit; - } - } - - function calledOnceAfterLogin() - { - - - } - - function Firmendaten($value) - { - $id = $this->app->DB->Select("SELECT max(id) FROM firmendaten"); - if($id) - { - return $this->app->DB->Select("SELECT $value FROM firmendaten WHERE id = '$id' LIMIT 1"); - } - return ''; - } - - /** - * @param $name - * - * @return mixed - */ - public function GetKonfiguration($name) { - return $this->app->DB->Select("SELECT wert FROM konfiguration WHERE name='$name' LIMIT 1"); - } - - /** - * @param string $name - * @param string $value - */ - public function SetKonfigurationValue($name, $value) { - $this->app->DB->Delete("DELETE FROM konfiguration WHERE name='$name' LIMIT 1"); - $this->app->DB->Insert("INSERT INTO konfiguration (name,wert,firma,adresse) VALUES ('$name','$value',1,0)"); - } - - /** - * @param bool $active - */ - public function setMaintainance($active = true, $mode = 'updatedb') { - $tags = json_encode('update'); - if(!$active) { - if($this->GetKonfiguration('update_maintenance') == '0') { - return; - } - $this->SetKonfigurationValue('update_maintenance', 0); - $this->SetKonfigurationValue('update_maintenance_mode', ''); - $this->app->DB->Delete("DELETE FROM notification_message WHERE tags = '$tags'"); - return; - } - if(true) { - return;//@todo remove in 20.1 - } - if($this->GetKonfiguration('update_maintenance') == '1') { - $this->SetKonfigurationValue('update_maintenance_time', time()); - return; - } - - $this->app->DB->Insert( - "INSERT INTO notification_message (user_id, type, title, message, tags, options_json, priority, created_at) - SELECT u.id, 'warning', 'laufender Updateprozess','Bitte schließen Sie Ihre Aufgaben','$tags','',1,NOW() - FROM `user` AS u - INNER JOIN useronline uo on u.id = uo.user_id AND uo.login = 1" - ); - - $this->SetKonfigurationValue('update_maintenance', 1); - $this->SetKonfigurationValue('update_maintenance_time', time()); - } - - function ClearDataBeforeOutput($text) - { - $text = str_replace('form action=""','form action="#"',$text); - $text = str_replace('NONBLOCKINGZERO','',$text); - $text = str_replace("'","'",$text); - return $text; - } - - function convertToHtml($str) { - if (version_compare(PHP_VERSION, '5.3.4') >= 0) { - $trans_tbl = array_flip(get_html_translation_table(HTML_ENTITIES, ENT_COMPAT, 'UTF-8')); - } else { - $trans_tbl = array_flip(get_html_translation_table(HTML_ENTITIES, ENT_COMPAT)); - if (!empty($trans_tbl)) { - foreach ($trans_tbl as $key => $entry) { - $trans_tbl[$key] = utf8_encode($entry); - } - } - } - - // MS Word strangeness.. - // smart single/ double quotes: - $trans_tbl[chr(39)] = '''; - $trans_tbl[chr(145)] = '\''; - $trans_tbl[chr(146)] = '\''; - //$trans_tbl[chr(147)] = '"'; - $trans_tbl[chr(148)] = '"'; - $trans_tbl[chr(142)] = 'é'; - // - //$trans_tbl[$this->unicode_chr(65279)] = "BENE"; - //$str = str_replace("\xFF\xFE", "BENE", $str); - - - return strtr ($str, $trans_tbl); - } - - function superentities( $str ){ - // get rid of existing entities else double-escape - - $str = html_entity_decode(stripslashes($str),ENT_QUOTES| ENT_HTML5,'UTF-8'); - // $str = str_replace("'","'",$str); - // return $str; - $ar = preg_split('/(? 1) || /* multi-byte [unicode] */ - ($o <32 || $o > 126) || /* <- control / latin weirdos -> */ - ($o >33 && $o < 35) ||/* quotes + ambersand */ - ($o >35 && $o < 40) ||/* quotes + ambersand */ - ($o >59 && $o < 63) /* html */ - ) { - // convert to numeric entity - //$c = @mb_encode_numericentity($c,array (0x0, 0xffff, 0, 0xffff), 'UTF-8'); - $c = $this->convertToHtml($c); - } - if(!isset($str2))$str2 = ''; - $str2 .= $c; - } - return $str2; - } - -} -class UpdateerpooSystem extends UpdateApplication -{ - public $obj; - public $starttime; - public $endtime; - - public function __construct($config,$group="") - { - parent::__construct($config,$group); - if(isset($_GET['action']) && $_GET['action'] == 'ajax' && isset($_GET['cmd']) && 'upgradedb' == $_GET['cmd']) - { - $className = 'erpAPI'; - //$methodName = 'UpgradeDatabase'; - if(file_exists(__DIR__.'/lib/class.erpapi.php')) - { - include_once(__DIR__.'/lib/class.erpapi.php'); - } - if(file_exists(__DIR__.'/lib/class.erpapi_custom.php')) - { - include_once(__DIR__.'/lib/class.erpapi_custom.php'); - $className = 'erpAPICustom'; - } - //$r = new ReflectionMethod($className, $methodName); - //$params = $r->getParameters(); - //$anzargs = count($params); - $this->erp = new $className($this); - }else{ - $this->erp = new erpAPI_Update($this); - } - } -} - - class Md5Dateien - { - var $Dateien; - function __construct($quellverzeichnis) - { - $this->getVerzeichnis($quellverzeichnis, '', 0, ''); - } - - function getVerzeichnis($quellverzeichnis, $zielverzeichnis, $lvl, $relativ){ - //echo "Verzeichnis: ".$quellverzeichnis." ".$zielverzeichnis. "\r\n"; - - $quelllast = $quellverzeichnis; - if($quellverzeichnis[strlen($quellverzeichnis) - 1] === '/') { - $quelllast = substr($quellverzeichnis, 0, strlen($quellverzeichnis) - 1); - } - - $path_parts = pathinfo($quelllast); - - $quelllast = $path_parts['basename']; - - if(file_exists($quellverzeichnis)) - { - if(($quelllast !== 'importer' && $quelllast !== 'userdata') || $lvl != 1){ - if ($handle = opendir($quellverzeichnis)) { - while (false !== ($entry = readdir($handle))) { - - if($entry !== '.' && $entry !== '..' && $entry !== '.git' && $entry !== '.svn' && $entry != 'user.inc.php' && $entry != 'user_db_version.php' && $entry != 'pygen') - { - if(is_dir($quellverzeichnis.'/'.$entry)) - { - if(!($lvl == 1 && $entry === 'vorlagen' && strpos($quellverzeichnis,'www'))) - { - $this->getVerzeichnis($quellverzeichnis.(strrpos($quellverzeichnis,'/')!==strlen($quellverzeichnis)-1?'/':'').$entry,$zielverzeichnis .(strrpos($zielverzeichnis,'/')!==strlen($zielverzeichnis)-1?'/':'').$entry, $lvl + 1,$relativ.'/'.$entry); - } - } else { - if(!($lvl == 0 && ($entry === 'INSTALL' || $entry === 'LICENSE_LIST' || $entry == 'LICENSE' || $entry == 'README' || $entry == 'gitlog.txt'))) - { - //$this->getFile($quellverzeichnis.(strrpos($quellverzeichnis,'/')!==strlen($quellverzeichnis)-1?'/':'').$entry,$zielverzeichnis .(strrpos($zielverzeichnis,'/')!==strlen($zielverzeichnis)-1?'/':'').$entry,$relativ.'/'.$entry); - if(strtolower(substr($entry,-4)) === '.php') { - $this->Dateien[$relativ.'/'.$entry] = md5_file($quellverzeichnis.(strrpos($quellverzeichnis,'/')!==strlen($quellverzeichnis)-1?'/':'').$entry); - } - } - } - } - } - @closedir($handle); - } - } - } - return true; - } - } - -class UpdateDB{ - - var $dbname; - var $connection; - - function __construct($dbhost,$dbname,$dbuser,$dbpass,&$app="",$dbport=3306) - { - $this->app = &$app; - $this->dbname=$dbname; - - $this->connection = mysqli_connect($dbhost, $dbuser, $dbpass, '', $dbport); - mysqli_select_db($this->connection,$dbname); - - mysqli_query($this->connection,"SET NAMES 'utf8'"); - mysqli_query($this->connection,"SET SESSION SQL_MODE := ''"); - mysqli_query($this->connection,"SET CHARACTER SET 'utf8'"); - mysqli_query($this->connection,'SET lc_time_names = "de_DE" '); - - } - - /** - * @return string - */ - public function GetVersion() - { - if(empty($this->connection)) { - return ''; - } - $version_string = mysqli_get_server_info($this->connection); - $version_string = substr($version_string,0,3); - $version_string = str_replace('.','',$version_string); - if($version_string < 57) { - $version = $this->Select('SELECT VERSION()'); - if(strripos($version, 'maria') !== false && $version[0] === '1' && str_replace('.','', substr($version,0,4)) >= 102) { - return '57'; - } - } - return $version_string; - } - - function Close() - { - mysqli_close($this->connection); - } - - function SelectDB($database) - { - mysqli_select_db($database); - } - - function Fetch_Assoc($sql) { - return mysqli_fetch_assoc($sql); - } - - function free($query = null){ - // Speicher freimachen - if(is_null($query))return mysqli_free_result($this->_result); - return mysqli_free_result($query); - } - - function ColumnExists($table, $column) - { - if($table=='' || $column=='') - return false; - - $exists = $this->Select("SELECT COUNT(*) - FROM information_schema.columns - WHERE table_schema = '{$this->dbname}' - AND table_name = '$table' AND column_name = '$column'"); - return $exists; - } - - function Select($sql){ - if(mysqli_query($this->connection,$sql)){ - $this->results = mysqli_query($this->connection,$sql); - /** - * Abbrechen query mit SET beginnt - */ - if (substr(strtolower($sql),0,3) === 'set') { - return ""; - } - $count = 0; - $data = array(); - while( $row = @mysqli_fetch_array($this->results)){ - $data[$count] = $row; - $count++; - } - @mysqli_free_result($this->results); - } else return false; - if(is_array($data)) - { - if(count($data) === 1) { - return $data[0][0]; - } - if(count($data) < 1) { - $data=''; - } - } else { - $data=''; - } - return $data; - } - - public function SelectRow($sql) - { - if(empty($sql) || empty($this->connection)) - { - return null; - } - $this->results = @mysqli_query($this->connection,$sql); - if(!$this->results) - { - return null; - } - - $count = 0; - $data = null; - if( $row = @mysqli_fetch_array($this->results)){ - unset($ArrData); - // erstelle datensatz array - foreach($row as $key=>$value){ - if(!is_numeric($key)) - { - $ArrData[$key]=$value; - } - } - if(!empty($ArrData)){ - $data = $ArrData; - } - $count++; - } - @mysqli_free_result($this->results); - return $data; - } - - function SelectArr($sql){ - //if(mysqli_query($this->connection,$sql)){ - if(1){ - $this->results = mysqli_query($this->connection,$sql); - $count = 0; - $data = array(); - while( $row = @mysqli_fetch_array($this->results)){ - unset($ArrData); - // erstelle datensatz array - foreach($row as $key=>$value){ - if(!is_numeric($key)) { - $ArrData[$key]=$value; - } - } - $data[$count] = $ArrData; - $count++; - } - @mysqli_free_result($this->results); - } - return $data; - } - - function Result($sql){ return mysqli_result(mysqli_query($this->connection,$sql), 0);} - - function GetInsertID(){ return mysqli_insert_id($this->connection);} - - function GetArray($sql){ - $i=0; - $result = mysqli_query($this->connection,$sql); - while($row = mysqli_fetch_assoc($result)) { - foreach ($row as $key=>$value){ - $tmp[$i][$key]=$value; - } - $i++; - } - return $tmp; - } - - function Insert($sql){ $this->LogSQL($sql,"insert"); return mysqli_query($this->connection,$sql); } - function InsertWithoutLog($sql){ return mysqli_query($this->connection,$sql); } - function Update($sql){$this->LogSQL($sql,"update"); return mysqli_query($this->connection,$sql); } - function UpdateWithoutLog($sql){ return mysqli_query($this->connection,$sql); } - function Delete($sql){$this->LogSQL($sql,"delete"); return mysqli_query($this->connection,$sql); } - - function LogSQL($sql,$befehl) - { - - } - - function Count($sql){ - if(mysqli_query($this->connection,$sql)){ - return mysqli_num_rows(mysqli_query($this->connection,$sql)); - } - return 0; - } - - function CheckTableExistence($table){ - $result = mysqli_query($this->connection,"SELECT * FROM $table LIMIT 1"); - if (!$result) { - return false; - } - return true; - } - - - function CheckColExistence($table,$col) - { - if($this->CheckTableExistence($table)){ - $result = mysqli_query($this->connection,"SHOW COLUMNS FROM $table"); - if (!$result) { - echo 'Could not run query: ' . mysqli_error(); - exit; - } - if (mysqli_num_rows($result) > 0) { - while ($row = mysqli_fetch_assoc($result)) { - if($row['Field']==$col) - return true; - } - } - } - return false; - } - - - - function GetColArray($table) - { - if($this->CheckTableExistence($table)){ - $result = mysqli_query($this->connection,"SHOW COLUMNS FROM $table"); - if (!$result) { - echo 'Could not run query: ' . mysqli_error(); - exit; - } - if (mysqli_num_rows($result) > 0) { - while ($row = mysqli_fetch_assoc($result)) { - $ret[]=$row['Field']; - } - return $ret; - } - } - } - - - function GetColAssocArray($table) - { - if($this->CheckTableExistence($table)){ - $result = mysqli_query($this->connection,"SHOW COLUMNS FROM $table"); - if (!$result) { - echo 'Could not run query: ' . mysqli_error(); - exit; - } - if (mysqli_num_rows($result) > 0) { - while ($row = mysqli_fetch_assoc($result)) { - $ret[$row['Field']]=""; - } - return $ret; - } - } - } - - function UpdateArr($tablename,$pk,$pkname,$ArrCols, $escape = false) - { - if(count($ArrCols)>0){ - - $zielspalten = $this->SelectArr("show columns from `$tablename`"); - if($zielspalten) - { - foreach($zielspalten as $val)$ziel[$val['Field']] = true; - } - $sql = "UPDATE `$tablename` SET "; - foreach($ArrCols as $key=>$value) - { - if($key!=$pkname && (isset($ziel[$key]) || !$zielspalten)) - { - $sqla[] = $key." = '".($escape?$this->real_escape_string($value):$value)."' "; - } - } - - $sql .= implode(', ',$sqla)." WHERE `$pkname`='$pk' LIMIT 1"; - $this->Update($sql); - - if(mysqli_error($this->connection)) - { - foreach($ArrCols as $key=>$value){ - if($key!=$pkname) { - $this->Query("UPDATE `$tablename` SET `$key`='$value' - WHERE `$pkname`='$pk' LIMIT 1"); - } - } - } - } - } - - function InsertArr($tablename,$pkname,$ArrCols) - { - // save primary than update - $this->Query("INSERT INTO `$tablename` (id) VALUES ('')"); - - $pk = $this->GetInsertID(); - $this->UpdateArr($tablename,$pk,$pkname,$ArrCols); - } - - /// get table content with specified cols - function SelectTable($tablename,$cols){ - - $firstcol = true; - if(count($cols)==0) - $selection = '*'; - else - { - $selection = ''; - foreach($cols as $value) - { - if(!$firstcol) - $selection .= ','; - - $selection .= $value; - - $firstcol=false; - } - } - - $sql = "SELECT $selection FROM $tablename"; - return $this->SelectArr($sql); - } - - - - function Query($query){ - $ret = mysqli_query($this->connection,$query); - if(mysqli_errno($this->connection) == 1118) { - mysqli_query($this->connection, 'SET innodb_strict_mode = OFF'); - $ret = mysqli_query($this->connection, $query); - } - return $ret; - } - - function Fetch_Array($sql) { - return mysqli_fetch_array($sql); - } - - - function MysqlCopyRow($TableName, $IDFieldName, $IDToDuplicate) - { - if ($TableName AND $IDFieldName AND $IDToDuplicate > 0) { - $sql = "SELECT * FROM $TableName WHERE $IDFieldName = $IDToDuplicate"; - $result = @mysqli_query($this->connection,$sql); - if ($result) { - $sql = "INSERT INTO $TableName SET "; - $row = mysqli_fetch_array($result); - $RowKeys = array_keys($row); - $RowValues = array_values($row); - $cKey = count($RowKeys); - for ($i=3;$i<$cKey;$i+=2) { - if ($i!=3) { $sql .= ", "; } - $sql .= $RowKeys[$i] . " = '" . $RowValues[$i] . "'"; - } - @mysqli_query($this->connection,$sql); - return $this->GetInsertID(); - } - } - } - - function real_escape_string($value) - { - return mysqli_real_escape_string($this->connection, $value); - } - - function affected_rows() - { - return mysqli_affected_rows($this->connection); - } - - function error() - { - return mysqli_error($this->connection); - } -} - -class UpgradeClient -{ - var $localmd5sums; - var $erp; - var $http_code; - public $errormsg; - - function __construct($conf, $app) - { - $this->app = $app; - $this->erp = $app->erp; - $this->conf = $conf; - - } - - - function Connect() - { - // check connection then stop - - } - - - function CheckCRT() - { - $updateHost = XENTRAL_UPDATE_HOST; - $cert = shell_exec("openssl s_client -connect {$updateHost}:443 < /dev/null 2>/dev/null | openssl x509 -in /dev/stdin"); - if($cert==$this->conf['cert']."\n") { - return 1; - } - echo "wrong\n"; - exit; - } - - function TestModul($modul) - { - $parameter['version']=@$this->conf['version']; - $parameter['module'] = $modul; - - return $this->Request('settestmodul',$parameter); - } - - function CheckVersionen($funktionen = null, $returnfirst = false) - { - $phpversion = PHP_VERSION; - $ioncube_loader_version = ''; - $this->app->Tpl->Set('PHPVERSION',$phpversion); - $this->app->Tpl->Set('IONCUBEVERSION',''); - if(!is_dir(dirname(__DIR__).'/download')){ - if(!@mkdir(dirname(__DIR__) . '/download') && !is_dir(dirname(__DIR__) . '/download')){ - $message = 'Im Hauptordner von xentral kann der Ordner "download" Verzeichnis nicht angelegt werden, Prüfen Sie die Rechte'; - if($returnfirst) { - return ['error'=>$message,'version'=>'']; - } - return $message; - } - } - if(function_exists('ioncube_loader_version')) - { - $ioncube_loader_version = (String)ioncube_loader_version(); - $this->app->Tpl->Set('IONCUBEVERSION',$ioncube_loader_version); - } - if($funktionen) { - $parameter['funktionen'] = $funktionen; - } - $parameter['version']=@$this->conf['version']; - $parameter['phpversion'] = $phpversion; - $parameter['mysqlversion'] = $this->app->DB->GetVersion(); - if(property_exists($this->app, 'multidb')){ - $parameter['multidb'] = !empty($this->app->multidb); - } - $result = $this->Request('versionen',$parameter); - if($result == ''){ - $result = $this->Request('versionen',$parameter); - } - if($result == ''){ - $message = 'Der Updateserver scheint nicht erreichbar zu sein Bitte prüfen Sie die Netzwerkeinstellungen'; - if($returnfirst) { - return ['error'=>$message,'version'=>'']; - } - return $message; - } - $ret = ''; - $aktvers = ''; - $masterkey1erlaubt = $ioncube_loader_version?true:false; - $masterkey2erlaubt = $ioncube_loader_version?true:false; - $masterkey3erlaubt = $ioncube_loader_version?true:false; - $masterkey4erlaubt = $ioncube_loader_version?true:false; - $isPhp72 = (float)substr($phpversion,0,3) >= 7.2; - $isPhp73 = (float)substr($phpversion,0,3) >= 7.3; - $php73Warning = false; - $isMysql57 = $this->app->DB->GetVersion() >= 57; - $allow201 = $isPhp72 && $isMysql57; - if(!$allow201) { - $masterkey4erlaubt = false; - } - if(strlen($phpversion) > 2 && $phpversion[0] == '5' && $phpversion[2] < 6) { - $masterkey2erlaubt = false; - $masterkey3erlaubt = false; - $masterkey4erlaubt = false; - } - if((int)$phpversion[0] < 7) { - $masterkey3erlaubt = false; - $masterkey4erlaubt = false; - } - if($phpversion && $phpversion[0] === '8') { - $masterkey1erlaubt = false; - $masterkey2erlaubt = false; - } - if($phpversion && $phpversion[0] === '7') { - $masterkey1erlaubt = false; - } - if(strlen($phpversion) > 2 && $phpversion[0] === '7' && $phpversion[2] !== '0') { - $masterkey1erlaubt = false; - $masterkey2erlaubt = false; - } - if(strlen($phpversion) > 2 && $phpversion[0] === '7' && $phpversion[2] === '0') { - $masterkey1erlaubt = false; - $masterkey3erlaubt = false; - $masterkey4erlaubt = false; - } - if(strlen($ioncube_loader_version) > 2 && $ioncube_loader_version[0]< 5 && $ioncube_loader_version[1] === '.') { - $masterkey1erlaubt = false; - $masterkey2erlaubt = false; - } - $return = []; - if(strpos($result, 'ERROR') === false) { - $resulta = explode(';',$result); - - if($masterkey1erlaubt && $masterkey2erlaubt && $masterkey3erlaubt) //Pruefung der PHP-Version ist fehlgeschlagen => nehme aktuelle Version als Basis - { - $versa = explode(':',$resulta[0],2); - $aktvers = $versa[0]; - $revision = explode('_', $aktvers); - $revision = $revision[count($revision)-1]; - if(strpos($aktvers, 'masterkey1') !== false) { - $aktmasterkey = 'masterkey1'; - } - elseif(strpos($aktvers, 'masterkey2') !== false) { - $aktmasterkey = 'masterkey2'; - } - elseif(strpos($aktvers, 'masterkey3') !== false) { - $aktmasterkey = 'masterkey3'; - } - elseif(strpos($aktvers, 'masterkey3') !== false) { - $aktmasterkey = 'masterkey3'; - } - elseif(strpos($aktvers, 'masterkey4') !== false) { - $aktmasterkey = 'masterkey4'; - } - else { - $aktmasterkey = ''; - } - if($aktmasterkey === 'masterkey3' && $revision >= 20.2 && !$allow201) { - $aktvers = ''; - } - elseif($aktmasterkey === 'masterkey4' && $revision >= 20.3 && !$allow201) { - $aktvers = ''; - } - else{ - if($aktmasterkey === 'masterkey1') { - $masterkey2erlaubt = false; - $masterkey3erlaubt = false; - $masterkey4erlaubt = false; - } - elseif($aktmasterkey === 'masterkey2') { - $masterkey1erlaubt = false; - $masterkey3erlaubt = false; - $masterkey4erlaubt = false; - } - elseif($aktmasterkey === 'masterkey3') { - $masterkey1erlaubt = false; - $masterkey2erlaubt = false; - } - elseif($aktmasterkey === 'masterkey4') { - $masterkey1erlaubt = false; - $masterkey2erlaubt = false; - } - } - } - - foreach($resulta as $k => $v) { - $versa = explode(':',$resulta[$k],2); - $revision = explode('_', $versa[0]); - $revision = $revision[count($revision)-1]; - - if($returnfirst && empty($return)){ - $return['current_version'] = $versa[0]; - } - - if(!$masterkey1erlaubt && strpos($versa[0], 'masterkey1')!== false) { - unset($resulta[$k]); - } - elseif(!$masterkey2erlaubt && strpos($versa[0], 'masterkey2')!== false) { - unset($resulta[$k]); - } - elseif(!$masterkey3erlaubt && strpos($versa[0], 'masterkey3')!== false) { - unset($resulta[$k]); - } - elseif(!$masterkey4erlaubt && strpos($versa[0], 'masterkey4')!== false) { - unset($resulta[$k]); - } - elseif($revision >= 20.2 && !$allow201 && strpos($versa[0], 'masterkey3')!== false) { - unset($resulta[$k]); - } - elseif($revision >= 20.3 && !$allow201 && strpos($versa[0], 'masterkey4')!== false) { - unset($resulta[$k]); - } - elseif($revision >= 21.1 && !$isPhp73 && strpos($versa[0], 'masterkey4')!== false) { - $php73Warning = true; - unset($resulta[$k]); - } - elseif($aktvers == '') { - $aktvers = $versa[0]; - if(strpos($aktvers, 'masterkey1') !== false) { - $aktmasterkey = 'masterkey1'; - } - elseif(strpos($aktvers, 'masterkey2') !== false) { - $aktmasterkey = 'masterkey2'; - } - elseif(strpos($aktvers, 'masterkey3') !== false) { - $aktmasterkey = 'masterkey3'; - } - elseif(strpos($aktvers, 'masterkey3') !== false) { - $aktmasterkey = 'masterkey3'; - } - elseif(strpos($aktvers, 'masterkey4') !== false) { - $aktmasterkey = 'masterkey4'; - } - else { - $aktmasterkey = ''; - } - } - } - - foreach($resulta as $k => $v) { - $versa = explode(':',$resulta[$k],2); - if(!$aktvers) { - $aktvers = $versa[0]; - if(strpos($aktvers, 'masterkey1') !== false) { - $aktmasterkey = 'masterkey1'; - } - elseif(strpos($aktvers, 'masterkey2') !== false) { - $aktmasterkey = 'masterkey2'; - } - elseif(strpos($aktvers, 'masterkey3') !== false) { - $aktmasterkey = 'masterkey3'; - } - elseif(strpos($aktvers, 'masterkey3') !== false) { - $aktmasterkey = 'masterkey3'; - } - elseif(strpos($aktvers, 'masterkey4') !== false) { - $aktmasterkey = 'masterkey4'; - } - else { - $aktmasterkey = ''; - } - if($aktmasterkey === 'masterkey1' && !$masterkey1erlaubt) { - $aktmasterkey = ''; - } - if($aktmasterkey === 'masterkey2' && !$masterkey2erlaubt) { - $aktmasterkey = ''; - } - if($aktmasterkey === 'masterkey3' && !$masterkey3erlaubt) { - $aktmasterkey = ''; - } - if($aktmasterkey === 'masterkey4' && !$masterkey4erlaubt) { - $aktmasterkey = ''; - } - } - if(strpos($versa[0],'masterkey')!== false) { - if(!$ioncube_loader_version) - { - unset($resulta[$k]); - }else{ - if(strpos($versa[0],'masterkey2')!== false) - { - if($phpversion && $phpversion[0] == '5' && $phpversion[2] < 6) - { - unset($resulta[$k]); - if(in_array($aktmasterkey, ['masterkey2','masterkey3','masterkey4'])) { - $aktmasterkey = ''; - } - }else{ - if(in_array($aktmasterkey, ['masterkey3','masterkey4']) && (int)$phpversion[0] < 7) { - $aktmasterkey = ''; - } - if(in_array($aktmasterkey, ['masterkey3','masterkey4']) && ($phpversion[0] == '7' && $phpversion[2] == '0')) { - $aktmasterkey = ''; - } - if($ioncube_loader_version[0]< 5 && $ioncube_loader_version[1] === '.') - { - unset($resulta[$k]); - if(in_array($aktmasterkey, ['masterkey2','masterkey3','masterkey4'])) { - $aktmasterkey = ""; - } - - }elseif($phpversion && $phpversion[0] == '7' && (int)$phpversion[2] > 0) - { - unset($resulta[$k]); - if($aktmasterkey === 'masterkey2')$aktmasterkey = ""; - } - } - } - elseif(strpos($versa[0],'masterkey1')!== false) - { - if($phpversion && (int)$phpversion[0] >= '7') - { - unset($resulta[$k]); - if($aktmasterkey === 'masterkey1')$aktmasterkey = ""; - } - } - elseif(strpos($versa[0],'masterkey3')!== false) - { - if($phpversion && $phpversion[0] == '5' && $phpversion[2] < 6) - { - unset($resulta[$k]); - if(in_array($aktmasterkey, ['masterkey2','masterkey3','masterkey4'])) { - $aktmasterkey = ''; - } - }else{ - if((int)$phpversion[0] < 7) - { - unset($resulta[$k]); - if($aktmasterkey === 'masterkey3')$aktmasterkey = ""; - } - if($phpversion[0] === '7' && $phpversion[2] === '0') - { - if(in_array($aktmasterkey, ['masterkey3','masterkey4'])) { - $aktmasterkey = ''; - } - unset($resulta[$k]); - } - if($ioncube_loader_version[0]< 5 && $ioncube_loader_version[1] === '.') - { - unset($resulta[$k]); - if(in_array($aktmasterkey, ['masterkey2','masterkey3','masterkey4'])) { - $aktmasterkey = ''; - } - } - } - } - elseif(strpos($versa[0],'masterkey4') !== false) { - if(!$masterkey4erlaubt) { - unset($resulta[$k]); - } - } - } - if(isset($resulta[$k])) { - if($masterkey1erlaubt && strpos($versa[0],'masterkey1')!== false && $aktmasterkey == '') - { - $aktmasterkey = 'masterkey1'; - } - elseif($masterkey2erlaubt && strpos($versa[0],'masterkey2')!== false && $aktmasterkey == '') { - $aktmasterkey = 'masterkey2'; - } - elseif($masterkey3erlaubt && strpos($versa[0],'masterkey3')!== false && $aktmasterkey == '') { - $aktmasterkey = 'masterkey3'; - } - elseif($masterkey4erlaubt && strpos($versa[0],'masterkey4')!== false && $aktmasterkey == '') { - $aktmasterkey = 'masterkey4'; - } - $nochioncubes[$versa[0]] = $k; - } - } - } - - if(count($resulta) > 1) { - foreach($resulta as $k => $v) { - $versa = explode(':',$resulta[$k],2); - if(strpos($versa[0], 'masterkey') !== false) { - if(!isset($nochioncubes[$versa[0]])) { - unset($resulta[$k]); - } - else{ - $key1 = str_replace(['masterkey2','masterkey3','masterkey4',],'masterkey1', $versa[0]); - $key2 = str_replace(['masterkey1','masterkey3','masterkey4',],'masterkey2', $versa[0]); - $key3 = str_replace(['masterkey1','masterkey2','masterkey4',],'masterkey3', $versa[0]); - $key4 = str_replace(['masterkey1','masterkey2','masterkey3',],'masterkey4', $versa[0]); - switch($aktmasterkey) { - case 'masterkey1': - if(isset($nochioncubes[$key1]) && isset($nochioncubes[$key2])) - { - unset($nochioncubes[$key2]); - } - if(isset($nochioncubes[$key1]) && isset($nochioncubes[$key3])) { - unset($nochioncubes[$key3]); - } - if(isset($nochioncubes[$key1]) && isset($nochioncubes[$key4])) { - unset($nochioncubes[$key4]); - } - if(isset($nochioncubes[$key2]) && isset($nochioncubes[$key3])) - { - unset($nochioncubes[$key3]); - } - break; - case 'masterkey2': - if(isset($nochioncubes[$key2]) && isset($nochioncubes[$key1])) { - unset($nochioncubes[$key1]); - } - if(isset($nochioncubes[$key2]) && isset($nochioncubes[$key3])) { - unset($nochioncubes[$key3]); - } - if(isset($nochioncubes[$key2]) && isset($nochioncubes[$key4])) { - unset($nochioncubes[$key4]); - } - if(isset($nochioncubes[$key1]) && isset($nochioncubes[$key3])) { - unset($nochioncubes[$key3]); - } - break; - case 'masterkey3': - if(isset($nochioncubes[$key3]) && isset($nochioncubes[$key1])) - { - unset($nochioncubes[$key1]); - } - if(isset($nochioncubes[$key3]) && isset($nochioncubes[$key2])) - { - unset($nochioncubes[$key2]); - } - if(isset($nochioncubes[$key1]) && isset($nochioncubes[$key2])) - { - unset($nochioncubes[$key1]); - } - break; - case 'masterkey4': - if(isset($nochioncubes[$key4]) && isset($nochioncubes[$key1])) { - unset($nochioncubes[$key1]); - } - if(isset($nochioncubes[$key4]) && isset($nochioncubes[$key2])) { - unset($nochioncubes[$key2]); - } - if(isset($nochioncubes[$key4]) && isset($nochioncubes[$key3])) { - unset($nochioncubes[$key3]); - } - if(isset($nochioncubes[$key1]) && isset($nochioncubes[$key2])) { - unset($nochioncubes[$key1]); - } - break; - } - if(!isset($nochioncubes[$versa[0]])) { - unset($resulta[$k]); - } - } - } - } - } - - if(count($resulta) > 1) - { - $ret = ''; - $ret .= ''; - if($isVersion211Exists){ - $ret .= '
- - Um beim Versand von Versandbestätigungen (Trackingmails) an Ihre Kunden mehr Flexibilität zu bieten,
- kann der Versand sowohl pro Projekt als auch pro Versandart aktiviert werden.
- Einstellungen in einer einzelnen Versandart stechen die aus dem Projekt.
- Es empfiehlt sich daher, die Einstellungen gemäß der eigenen Anforderungen zu überprüfen.
- Für jede Versandart, für die Versandbestätigungen per E-Mail an die Kunden gesendet werden sollen,
- ist die Einstellung in der Versandart zu setzen.
- Eine genaue Erläuterung über das aktuelle Verhalten findet sich - - hier -
-
'; - } - } - elseif(count($resulta) == 1) { - $resu = reset($resulta); - //foreach($resulta as $resu) - //{ - $versa = explode(':',$resu,2); - if($returnfirst) { - $return['version'] = $versa[0]; - return $return; - } - $this->app->Tpl->Set('AKTVERSION', $versa[0]); - $ret .= ''; - //} - }else{ - if($ioncube_loader_version !== '' && !$masterkey1erlaubt && !$masterkey2erlaubt && !$masterkey3erlaubt) - { - $message = 'Die Ioncubeversion ist zu alt'; - $ret .= $message; - }else{ - $message = 'Ioncube nicht verfügbar'; - $ret .= $message; - } - if($returnfirst) { - return ['error' => $message, 'version' => '']; - } - } - if($php73Warning && count($resulta) > 0) { - $ret .= '
'.' - Fehler: Ihre PHP-Version ' - . $phpversion - . ' ist nicht kompatibel mit xentral 21.1 (Es wird mindestens PHP 7.3 benötigt) - '; - } - } - else{ - $this->errormsg = substr($result, 6); - if($returnfirst) { - return ['error'=>$this->errormsg,'version'=>'']; - } - return $result; - } - - return $ret; - } - - function CheckMd5() - { - $parameter['version']=@$this->conf['version']; - $parameter['withsize'] = 1; - - return $this->Request('md5list',$parameter); - } - - function CopyFile($files, $maxtime = 10) - { - $parameter['versionname']=@$this->conf['versionname']; - $startzeit = microtime(true); - if(empty($files)) { - return array('tocopy'=>null); - } - foreach($files as $k => $file) { - $file = json_decode(json_encode($file),true); - if(isset($file['typ'])) { - switch($file['typ']) { - case 'getfile': - case 'getfilecustom': - case 'getfilemodules': - - break; - default: - $file['typ'] = ''; - break; - } - } - else { - $file['typ'] = ''; - } - if(!isset($file['file']) || !isset($file['md5sum']) || !$file['file'] || $file['typ'] === '') { - unset($files[$k]); - } - else{ - $parameter['file']=$file['file']; - $parameter['md5sum']=$file['md5sum']; - $ffile = $file['file']; - $_file = dirname(__DIR__).'/download/'.$ffile; - $_fileto = dirname(__DIR__).'/'.$ffile; - - $ffa = explode('/',$ffile); - $_f = ''; - $cffa = count($ffa)-1; - for($i = 0; $i < $cffa; $i++) { - $_f .= $ffa[$i]; - if(is_file(dirname(__DIR__).'/'.$_f)) { - $this->removeEmptyFile(dirname(__DIR__).'/'.$_f); - } - if(!is_dir(dirname(__DIR__).'/'.$_f) && - !@mkdir(dirname(__DIR__).'/'.$_f) && - !is_dir(dirname(__DIR__).'/'.$_f) - ) { - continue; - } - $_f .= '/'; - } - - if(file_exists($_file)) { - if(substr($file['md5sum'],0,3)=== 'DEL') { - if($this->CheckVersandZahlungsweise($_file)) { - @unlink($_file); - } - } - elseif(md5_file($_file)==$file['md5sum']) { - if(is_dir($_fileto) && is_file($_file)){ - $this->removeEmptyFolder($_fileto); - } - - if(@copy($_file,$_fileto)) { - if(md5_file($_fileto)==$file['md5sum']){ - unset($files[$k]); - } - } - } - } - if(substr($file['md5sum'],0,3)=== 'DEL') { - unset($files[$k]); - } - } - if($maxtime > 0 && microtime(true) - $startzeit > $maxtime) { - break; - } - } - if(empty($files)) { - return array('tocopy'=>null); - } - foreach($files as $k => $file) { - $data[] = $file; - } - - return array('tocopy'=>$data); - } - - function CheckVersandZahlungsweise($datei){ - if(strpos($datei, 'versandart') !== false) { - $dateia = pathinfo($datei); - $versandart = $dateia['filename']; - if(strpos($versandart, 'versandarten_')) { - $versandart = str_replace('versandarten_', '', $versandart); - } - if($this->app->DB->Select( - "SELECT id - FROM versandarten - WHERE modul = '".$this->app->DB->real_escape_string($versandart)."' AND ifnull(geloescht,0) = 0 AND aktiv = 1 - LIMIT 1" - )) { - return false; - } - return true; - } - if(strpos($datei, 'zahlungsweise') !== false) { - $dateia = pathinfo($datei); - $zahlungsweise = $dateia['filename']; - if($this->app->DB->Select( - "SELECT id - FROM `zahlungsweisen` - WHERE modul = '".$this->app->DB->real_escape_string($zahlungsweise)."' AND ifnull(geloescht,0) = 0 AND aktiv = 1 - LIMIT 1" - )) { - return false; - } - return true; - } - if(strpos($datei, 'cronjobs') !== false) { - $dateia = pathinfo($datei); - $cronjob = $dateia['filename']; - if($this->app->DB->Select( - "SELECT id - FROM `prozessstarter` - WHERE parameter = '".$this->app->DB->real_escape_string($cronjob)."' AND aktiv = 1 - LIMIT 1" - )) { - return false; - } - } - return true; - } - - function ChangeVersion() - { - $parameter['version']=@$this->conf['version']; - $parameter['versionname']=@$this->conf['versionname']; - if($parameter['versionname'] && $parameter['versionname'] != $parameter['version']) { - $changeversion = $this->Request('changeversion',$parameter); - } - return $changeversion; - } - - function removeEmptyFile($file) { - if(is_file($file) && filesize($file) === 0) { - @unlink($file); - } - } - - function removeEmptyFolder($folder) - { - if(empty($folder) || !is_dir($folder)){ - return; - } - if(!($handle = opendir($folder))) { - return; - } - - while (false !== ($entry = readdir($handle))) { - if($entry !== '.' && $entry !== '..') { - closedir($handle); - return; - } - } - closedir($handle); - rmdir($folder); - } - - function DownloadFile($files, $maxtime = 15, $echo = false) - { - $startzeit = microtime(true); - $parameter['version']=@$this->conf['version']; - $parameter['versionname']=@$this->conf['versionname']; - - $parameter['version']=@$this->conf['version']; - $parameter['versionname']=@$this->conf['versionname']; - if($parameter['versionname'] && $parameter['versionname'] != $parameter['version']) { - $changeversion = $this->Request('changeversion',$parameter); - } - if(empty($files)) { - return array('todownload'=>null); - } - $countFiles = count($files); - $batches = []; - $batch = []; - $keyToBatch = []; - foreach($files as $k => $file) { - $file = json_decode(json_encode($file), true); - if(isset($file['typ'])){ - switch ($file['typ']) { - case 'getfile': - case 'getfilecustom': - case 'getfilemodules': - - break; - default: - $file['typ'] = ''; - break; - } - - }else{ - $file['typ'] = ''; - } - if(!isset($file['file']) || !isset($file['md5sum']) || !$file['file'] || $file['typ'] === ''){ - $files[$k]['error'] = $file['file']; - unset($files[$k]); - }else{ - if(substr($file['md5sum'], 0, 3) === 'DEL'){ - continue; - } - $parameter['file'] = $file['file']; - $parameter['md5sum'] = $file['md5sum']; - $ffile = $file['file']; - $_file = dirname(__DIR__) . '/download/' . $ffile; - $ffa = explode('/', $ffile); - $_f = ''; - for ($i = 0; $i < count($ffa) - 1; $i++) { - $_f .= $ffa[$i]; - if(is_file(dirname(__DIR__) . '/download/' . $_f)){ - @unlink(dirname(__DIR__) . '/download/' . $_f); - } - if(!is_dir(dirname(__DIR__) . '/download/' . $_f) && - !@mkdir(dirname(__DIR__) . '/download/' . $_f) && - !is_dir(dirname(__DIR__) . '/download/' . $_f)){ - continue; - } - $_f .= '/'; - } - } - switch($file['typ']) { - case 'getfile': - $batch[] = $k; - $keyToBatch[$k] = count($batches); - if(count($batch) >= 10) { - $batches[] = $batch; - $batch = []; - } - break; - } - } - if(!empty($batch)) { - $batches[] = $batch; - } - - foreach($files as $k => $file) { - $file = json_decode(json_encode($file),true); - if(isset($file['typ'])) { - switch($file['typ']) { - case 'getfile': - case 'getfilecustom': - case 'getfilemodules': - - break; - default: - $file['typ'] = ''; - break; - } - - } - else { - $file['typ'] = ''; - } - if(!isset($file['file']) || !isset($file['md5sum']) || !$file['file'] || $file['typ'] === '') { - $files[$k]['error'] = $file['file']; - unset($files[$k]); - } - else{ - if(substr($file['md5sum'],0,3) === 'DEL') { - continue; - } - $parameter['file']=$file['file']; - $parameter['md5sum']=$file['md5sum']; - $ffile = $file['file']; - $_file = dirname(__DIR__).'/download/'.$ffile; - $ffa = explode('/',$ffile); - $_f = ''; - for($i = 0; $i < count($ffa)-1; $i++) { - $_f .= $ffa[$i]; - if(is_file(dirname(__DIR__).'/download/'.$_f)) { - @unlink(dirname(__DIR__).'/download/'.$_f); - } - if(!is_dir(dirname(__DIR__).'/download/'.$_f) && - !@mkdir(dirname(__DIR__).'/download/'.$_f) && - !is_dir(dirname(__DIR__).'/download/'.$_f)) { - continue; - } - $_f .= '/'; - } - if($echo) { - echo "\rDownload Files: ".($k < $countFiles?$k+1:$countFiles).' / '.$countFiles."... "; - } - if(isset($keyToBatch[$k]) && isset($batches[$keyToBatch[$k]])) { - $batch = $batches[$keyToBatch[$k]]; - if(count($batch) > 1) { - $parameter2 = $parameter; - $parameter2['parameters'] = []; - foreach ($batch as $key2) { - $file2 = $files[$key2]; - $parameter2['parameters'][] = $parameter; - $parameter2['parameters'][count($parameter2['parameters']) - 1]['file'] = $file2['file']; - $parameter2['parameters'][count($parameter2['parameters']) - 1]['md5sum'] = $file2['md5sum']; - } - $result2 = explode('|', $this->Request('getfiles', $parameter2)); - if(count($result2) === count($batch)) { - foreach ($batch as $bachKey => $key2) { - $file2 = $files[$key2]; - if( - @file_put_contents(dirname(__DIR__).'/download/'.$file2['file'], @base64_decode($result2[$bachKey])) - ) { - if(dirname(__DIR__).'/download/'.$file2['file'] === $file2['md5sum']){ - unset($files[$key2]); - } - } - } - } - unset($result2); - } - unset($batches[$keyToBatch[$k]]); - } - if(is_file($_file) && md5_file($_file)==$file['md5sum']) { - unset($files[$k]); - continue; - } - $result = $this->Request($file['typ'],$parameter); - $output = @base64_decode($result); - if(strlen($output) > 0 && is_dir($_file)) { - $this->removeEmptyFolder($_file); - } - if(@file_put_contents($_file, $output)) { - if(md5_file($_file)==$file['md5sum']) { - unset($files[$k]); - } - else { - $files[$k]['error'] = 'md5 failed'; - } - } - else{ - $files[$k]['error'] = 'file_put_contents ' .$_file. ' failed '.$file['typ'].' ' .json_encode($parameter); - } - } - if($maxtime > 0 && microtime(true) - $startzeit > $maxtime) { - break; - } - } - if(empty($files)) { - return array('todownload'=>null); - } - foreach($files as $k => $file) { - if(substr($file['md5sum'],0,3) !== 'DEL'){ - $data[] = $file; - } - } - return array('todownload'=>$data); - } - - /** - * @return int[]|string|string[] - */ - public function downloadZips() - { - @clearstatcache(); - if(!function_exists('system')) { - return ['zip' => 'system not found']; - } - $this->app->erp->setMaintainance(true); - $parameter['version']=@$this->conf['version']; - $parameter['versionname']=@$this->conf['versionname']; - - if($parameter['versionname'] !== 'ent_masterkey4_20.3') { - return ['zip' => 'not ent_masterkey4_20.3']; - } - $parameter['withsize'] = 1; - if(!is_dir(dirname(__DIR__).'/download/')) { - if(!@mkdir(dirname(__DIR__).'/download/') && !is_dir(dirname(__DIR__).'/download/')) { - $this->app->erp->setMaintainance(false); - return 'ERROR: Downloadverzeichnis konnte nicht erstellt werden'; - } - } - $ret = ['zip' => 0]; - foreach([ - 'ent_masterkey4_20.3_4_wo_userdata.zip' => '', - 'ent_masterkey4_20.3_4_vendor.zip' => '/vendor', - 'ent_masterkey4_20.3_4_www.zip' => '/zip', - ] as $file => $subfolder - ) { - $parameter['file'] = $file; - if(file_put_contents( - dirname(__DIR__) . '/download/' . $file, - $this->Request('getversionzip', $parameter) - )) { - if( - !is_dir(dirname(__DIR__).'/download' . $subfolder) - && !@mkdir(dirname(__DIR__).'/download/' . $subfolder) - && !is_dir(dirname(__DIR__).'/download/' . $subfolder) - ) { - continue; - } - system( - 'cd '.dirname(__DIR__).'/download' - .' && unzip '.$file.' -d ' - .dirname(__DIR__).'/download'.$subfolder - ); - unlink(dirname(__DIR__).'/download/' . $subfolder); - $ret['zip']++; - } - else { - $ret['zip_error'][] = 'coudl not save '.$file; - } - } - - return $ret; - } - - /** - * @param bool $updatefiles - * - * @return array|mixed|string - */ - public function CheckFiles($updatefiles = false) - { - @clearstatcache(); - $this->app->erp->setMaintainance(true); - $parameter['version']=@$this->conf['version']; - $parameter['versionname']=@$this->conf['versionname']; - $parameter['withsize'] = 1; - - if(!is_dir(dirname(__DIR__).'/download/')) { - if(!@mkdir(dirname(__DIR__).'/download/') && !is_dir(dirname(__DIR__).'/download/')) { - $this->app->erp->setMaintainance(false); - return 'ERROR: Downloadverzeichnis konnte nicht erstellt werden'; - } - } - $tmpfile = md5(microtime(true)); - if(!($fh = fopen(dirname(__DIR__).'/download/'.$tmpfile,'w'))) { - $this->app->erp->setMaintainance(false); - return 'ERROR: Downloadverzeichnis hat keine Schreibrechte'; - } - fclose($fh); - $eigenguser = fileowner(dirname(__DIR__).'/download/'.$tmpfile); - $eigengroup = filegroup(dirname(__DIR__).'/download/'.$tmpfile); - @unlink(dirname(__DIR__).'/download/'.$tmpfile); - $_result = $this->Request('md5list', $parameter); - $maxRetries = 5; - while(empty($_result) && $maxRetries > 0) { - $maxRetries--; - usleep(2000000); - $_result = $this->Request('md5list', $parameter); - } - if(isset($this->errormsg) && $this->errormsg) { - $this->app->erp->setMaintainance(false); - return 'ERROR: '.$this->errormsg; - } - if($_result==='ERROR') { - $this->app->erp->setMaintainance(false); - return 'ERROR FROM SERVER (Perhaps a wrong license?)'; - } - $_result2 = ''; - $_result3 = ''; - if(!$updatefiles){ - $_result2 = $this->Request('md5listmodules', $parameter); - if(empty($_result2) && (!empty($this->http_code) && strpos($this->http_code,'5') === 0)){ - usleep(1000000); - $_result2 = $this->Request('md5listmodules', $parameter); - } - if($_result2 === 'ERROR'){ - $this->app->erp->setMaintainance(false); - return "ERROR FROM SERVER (Perhaps a wrong license?)"; - } - $_result3 = $this->Request('md5listcustom', $parameter); - if(empty($_result3)){ - usleep(2000000); - $_result3 = $this->Request('md5listcustom', $parameter); - } - if($_result3 === 'ERROR'){ - $this->app->erp->setMaintainance(false); - return "ERROR FROM SERVER (Perhaps a wrong license?)"; - } - } - $result = ''; - $result2 = ''; - $result3 = ''; - $resulta = explode(';',$_result); - $resulta2 = explode(';',$_result2); - $resulta3 = explode(';',$_result3); - unset($_result, $_result2, $_result3); - - if($resulta3) { - foreach($resulta3 as $r) { - if($r) - { - $result3.= 'getfilecustom:'.$r.';'; - $ra = explode(':',$r); - $dats[] = $ra[0]; - } - } - unset($resulta3); - } - if($resulta2){ - foreach($resulta2 as $r) { - if($r) { - $ra = explode(':',$r); - if(!isset($dats) || !in_array($ra[0], $dats)) { - $result2.= 'getfilemodules:'.$r.';'; - $dats[] = $ra[0]; - } - } - } - unset($resulta2); - } - if($resulta) { - foreach($resulta as $r) { - if($r) { - $ra = explode(':',$r); - if(!isset($dats) || !in_array($ra[0], $dats)) { - $result.= 'getfile:'.$r.';'; - } - } - } - unset($resulta); - } - - $result .= $result2.$result3; - unset($result2, $result3, $dats); - - //$rows = explode(";",$result); - $rows = explode(';',$result); - $res['result'] = $result; - $res['parameter'] = $parameter; - $downloadind = 0; - $copyind = 0; - if(count($rows)>0) { - foreach($rows as $value) { - unset($single_row); - $single_row = explode(':',$value); - if(!(count($single_row)>=3 && strlen($single_row[0])>4 && strlen($single_row[2])>3)) { - continue; - } - $typ = $single_row[0]; - $file = $single_row[1]; - $file_lokal = dirname(__DIR__).'/'.($file); - $md5sum = $single_row[2]; - $size = isset($single_row[3])?$single_row[3]:false; - - $parameter['file']=$file; - $parameter['md5sum']=$md5sum; - - if($file==='./upgradesystemclient.php') { - continue; - } - if( - (!$updatefiles && ($file==="./www/update.php" || - $file==="./www/update.tpl" || - $file==="./www/updatelogin.tpl" || - $file === './www/jquery-update.js' || - $file === './www/jquery-ui-update.js' || - $file === 'jquery-ui.min.css')) - || ($updatefiles && ($file!=="./www/update.php" && - $file!=="./www/update.tpl" && - $file!=="./www/updatelogin.tpl" && - $file !== './www/jquery-update.js' && - $file !== './www/jquery-ui-update.js' && - $file !== 'jquery-ui.min.css')) - - ){ - continue; - } - - $bla[] = $file_lokal; - if(is_file($file_lokal)){ - if(substr($md5sum,0,3) === 'DEL'){ - if($this->CheckVersandZahlungsweise($file_lokal)) { - @unlink($file_lokal); - } - continue; - } - if(md5_file($file_lokal)==$md5sum){ - continue; - } - - $fileowner = fileowner($file_lokal); - $filegroup = filegroup($file_lokal); - $perms = fileperms($file_lokal); - $o = ($perms & 0x0080); - $g = ($perms & 0x0010); - $a = ($perms & 0x0002); - // pruefe ob datei angelegt werden kann, wenn das passt ist eh alles gut - if(touch(dirname(__DIR__).'/download/chkrights') && file_exists(dirname(__DIR__).'/download/chkrights')) { - @unlink(dirname(__DIR__).'/download/chkrights'); - } - else if($eigenguser && $eigengroup){ - if($fileowner != $eigenguser){ - if($filegroup != $eigengroup){ - if(!$a){ - return array('error'=>'ERROR Fehlende Schreibrechte in '.$file_lokal); - } - } - else{ - if(!$g) { - return array('error'=>'ERROR Fehlende Schreibrechte in '.$file_lokal); - } - } - } - else { - if(!$o) { - return array('error'=>'ERROR Fehlende Schreibrechte in '.$file_lokal); - } - } - } - $bla[] = array( - 'fileowner'=>$fileowner, - 'filegroup'=>$filegroup, - 'perms'=>$perms, - 'o'=>$o, - 'g'=>$g, - 'a'=>$a, - ); - if(is_file(dirname(__DIR__).'/download/'.$file)){ - if(md5_file(dirname(__DIR__).'/download/'.$file)!=$md5sum){ - $res['download'][$downloadind] = array('typ'=>$typ,'file'=>$file,'md5sum'=>$md5sum,'size'=>$size); - $downloadexists[$typ][$file] = $downloadind; - $downloadind++; - } - else{ - $res['copy'][$copyind] = array('typ'=>$typ,'file'=>$file,'md5sum'=>$md5sum,'size'=>$size); - $copyexists[$typ][$file] = $copyind; - $copyind++; - } - } - else{ - $res['download'][$downloadind] = array('typ'=>$typ,'file'=>$file,'md5sum'=>$md5sum,'size'=>$size); - $downloadexists[$typ][$file] = $downloadind; - $downloadind++; - } - } - else if($file!='') { - if(substr($md5sum,0,3) === 'DEL') { - continue; - } - if(is_file(dirname(__DIR__).'/download/'.$file)) { - if(md5_file(dirname(__DIR__).'/download/'.$file)!=$md5sum) { - $fileowner = fileowner(dirname(__DIR__).'/download/'.ltrim($file,'.')); - $filegroup = filegroup(dirname(__DIR__).'/download/'.ltrim($file,'.')); - $perms = fileperms(dirname(__DIR__).'/download/'.ltrim($file,'.')); - $o = ($perms & 0x0080); - $g = ($perms & 0x0010); - $a = ($perms & 0x0002); - - // pruefe ob datei angelegt werden kann, wenn das passt ist eh alles gut - if(touch(dirname(__DIR__).'/download/chkrights')) { - unlink(dirname(__DIR__).'/download/chkrights'); - } - else if($eigenguser && $eigengroup) { - if($fileowner != $eigenguser) { - if($filegroup != $eigengroup) { - if(!$a) { - return array('error'=>'ERROR Fehlende Schreibrechte im Downloadordner'); - } - } - else{ - if(!$g) { - return array('error'=>'ERROR Fehlende Schreibrechte im Downloadordner'); - } - } - } - else{ - if(!$o) { - return array('error'=>'ERROR Fehlende Schreibrechte im Downloadordner'); - } - } - } - - $res['download'][$downloadind] = array('typ'=>$typ,'file'=>$file,'md5sum'=>$md5sum,'size'=>$size); - $downloadexists[$typ][$file] = $downloadind; - $downloadind++; - } - else{ - $res['copy'][$copyind] = array('typ'=>$typ,'file'=>$file,'md5sum'=>$md5sum,'size'=>$size); - $copyexists[$typ][$file] = $copyind; - $copyind++; - } - } - else { - $res['download'][$downloadind] = array('typ'=>$typ,'file'=>$file,'md5sum'=>$md5sum,'size'=>$size); - $downloadexists[$typ][$file] = $downloadind; - $downloadind++; - } - } - } - } - if(!empty($res['download']) && count($res['download']) > 0) { - foreach($res['download'] as $key => $val) { - if(isset($val['md5sum']) && substr($val['md5sum'],0,3) === 'DEL') { - unset($res['download'][$key]); - } - } - } - - return $this->CheckRights($res, $eigenguser, $eigengroup); - } - - protected function CheckFileFolder($file, $eigenguser, $eigengroup) - { - if(is_file($file)) { - if($handle = @fopen($file,'a+')) { - fclose($handle); - return false; - } - $fileowner = fileowner($file); - if($fileowner !== $eigenguser) { - if(@chown($file,$eigenguser) && ($handle = @fopen($file,'a+'))) { - fclose($handle); - return false; - } - } - $perms = fileperms($file); - $filegroup = filegroup($file); - if($fileowner === $eigenguser) { - if(@chmod($file, $perms | 0600)) { - return false; - } - } - if($filegroup === $eigengroup) { - if(@chmod($file, $perms | 0060)) { - return false; - } - } - if(@chown($file,$perms | 0006)) { - return false; - } - return true; - } - if(!is_dir($file)) { - return false; - } - - if(is_file($file.'/chkrights')) { - @unlink($file.'/chkrights'); - } - if(!is_file($file.'/chkrights') && @touch($file.'/chkrights')){ - if(is_file($file.'/chkrights')){ - @unlink($file . '/chkrights'); - return false; - } - return true; - } - $fileowner = fileowner($file); - if($fileowner !== $eigenguser) { - if(chown($file,$eigenguser) && @touch($file.'/chkrights')) { - @unlink($file.'/chkrights'); - return false; - } - } - $perms = fileperms($file); - $filegroup = filegroup($file); - if($fileowner === $eigenguser) { - if(@chmod($file, $perms | 0700) && @touch($file.'/chkrights')) { - @unlink($file.'/chkrights'); - return false; - } - } - if($filegroup === $eigengroup) { - if(@chmod($file, $perms | 0070) && @touch($file.'/chkrights')) { - @unlink($file.'/chkrights'); - return false; - } - } - if(@chown($file,$perms | 0007) && @touch($file.'/chkrights')) { - @unlink($file.'/chkrights'); - return false; - } - return true; - } - - protected function CheckRights($res, $eigenguser, $eigengroup) - { - $foldertocheck = []; - if(!empty($res['download'])) { - foreach($res['download'] as $k => $v) { - $file = ltrim(ltrim($v['file'],'.'),'/'); - if($file === '.') { - continue; - } - if($this->CheckFileFolder(dirname(__DIR__).'/'.$file, $eigenguser, $eigengroup)) { - $res['FileError'][] = dirname(__DIR__).'/'.$file; - } - if($this->CheckFileFolder(dirname(__DIR__).'/download/'.$file, $eigenguser, $eigengroup)) { - $res['FileError'][] = dirname(__DIR__).'/download/'.$file; - } - $dfile = dirname($file); - if($dfile === '.') { - $folder = dirname(__DIR__); - } - else{ - $folder = dirname(__DIR__) . '/' . $dfile; - } - $foldertocheck[substr_count($folder,'/')][$folder] = true; - if($dfile === '.') { - $folder = dirname(__DIR__). '/download'; - } - else{ - $folder = dirname(__DIR__) . '/download/' . $dfile; - } - $foldertocheck[substr_count($folder,'/')][$folder] = true; - } - } - if(!empty($res['copy'])) { - foreach($res['copy'] as $k => $v) { - $file = ltrim(ltrim($v['file'],'.'),'/'); - if($file === '.') { - continue; - } - if($this->CheckFileFolder(dirname(__DIR__).'/'.$file, $eigenguser, $eigengroup)) { - $res['FileError'][] = dirname(__DIR__).'/'.$file; - } - $dfile = dirname($file); - if($dfile === '.') { - $folder = dirname(__DIR__); - } - else { - $folder = dirname(__DIR__) . '/' . $dfile; - } - $foldertocheck[substr_count($folder,'/')][$folder] = true; - } - } - if(!empty($foldertocheck)) { - foreach($foldertocheck as $lvl => $folderarr) { - foreach($folderarr as $k => $v) { - if($this->CheckFileFolder($k, $eigenguser, $eigengroup)) { - $res['FolderError'][] = $k; - } - } - } - } - return $res; - } - - function CheckUpdate() - { - $parameter['version']=@$this->conf['version']; - $result = $this->Request('md5list',$parameter); - - if($result==='ERROR') { - echo "Updates: ERROR FROM SERVER (Perhaps a wrong license?)\n"; - return; - } - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - $file = $single_row[0]; - $md5sum = $single_row[1]; - if(substr($md5sum,0,3) === 'DEL')continue; - $parameter['file']=$file; - $parameter['md5sum']=$md5sum; - - if($file==='./upgradesystemclient.php') - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update <- $file\n"; - $result = $this->Request("getfile",$parameter); - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!="") { - echo "datei <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfile",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei ok $file\n"; - rename($file."NEW",$file); - } - } - } - } - } - } - - - function CheckUpdateModules() - { - //$this->dir_rekursiv("./"); - //$parameter['md5sums'] = $this->localmd5sums; - //shell_exec('find ./ -exec md5sum "{}" \;'); - - - $parameter['version']=@$this->conf['version']; - $result = $this->Request('md5listmodules',$parameter); - - if($result==='ERROR') { - echo "Modules: ERROR FROM SERVER (Perhaps a wrong license?)\n"; return; - } - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - - $file = $single_row[0]; - $md5sum = $single_row[1]; - if(substr($md5sum,0,3) === 'DEL') { - continue; - } - $parameter['file']=$file; - $parameter['md5sum']=$md5sum; - - if($file==="./upgradesystemclient.php") - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update (M) <- $file\n"; - $result = $this->Request("getfilemodules",$parameter); - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update (M) ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!='') { - echo "datei (M) <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis (M) <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfilemodules",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei (M) ok $file\n"; - rename($file."NEW",$file); - } - } - } - } - } - - } - - function CheckUpdateCustom() - { - $parameter['version']=@$this->conf['version']; - $result = $this->Request("md5listcustom",$parameter); - - if($result==='ERROR') { - echo "Custom: ERROR FROM SERVER (Perhaps a wrong license?)\n"; return; - } - - $rows = explode(";",$result); - - if(count($rows)>0) - { - foreach($rows as $value) - { - unset($single_row); - $single_row = explode(":",$value); - - if(count($single_row)>=2 && strlen($single_row[0])>3 && strlen($single_row[1])>3) - { - - $file = $single_row[0]; - $md5sum = $single_row[1]; - - $parameter['file']=$file; - $parameter['md5sum']=$md5sum; - if(substr($md5sum,0,3) === 'DEL') { - continue; - } - if($file==='./upgradesystemclient.php') - { - - } - else if(is_file($file)) - { - // pruefe md5sum - if(md5_file($file)!=$md5sum) - { - // wenn update dann UPD_ - echo "update (C) <- $file\n"; - $result = $this->Request("getfilecustom",$parameter); - - $output = (base64_decode($result)); - //$output = preg_replace('/[^(\x22-\x7F)\x0A]*/','', $output); - file_put_contents($file."UPD", $output); - /* - $fp = fopen($file."UPD","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - // pruefsuemme neu berechnen wenn passt umbenennen und ins archiv - echo md5_file($file."UPD"); - echo "-".$md5sum."\n"; - if(md5_file($file."UPD")==$md5sum) - { - echo "update (C) ok $file\n"; - rename($file."UPD",$file); - } - } - } else if($file!="") { - echo "datei (C) <- $file\n"; - // pruefe ob es verzeichnis gibt - $verzeichnis = dirname($file); - if(!is_dir($verzeichnis)) - { - echo "verzeichnis (C) <- $verzeichnis\n"; - mkdir($verzeichnis,0777,true); - } - $result = $this->Request("getfilecustom",$parameter); - $output = base64_decode($result); - //$output = iconv("UTF-8","ISO-8859-1//IGNORE",$output); - //$output = iconv("ISO-8859-1","UTF-8",$output); - //$output = preg_replace('/[^(\x20-\x7F)\x0A]*/','', $output); - file_put_contents($file."NEW", $output); - /*$fp = fopen($file."NEW","wb+"); - fwrite($fp,base64_decode($result)); - fclose($fp); - */ - if(md5_file($file."NEW")==$md5sum) - { - echo "datei (C) ok $file\n"; - rename($file."NEW",$file); - } - } - } - } - } - } - - - function DownloadUpdate() - { - - - } - - function CheckDownloadedUpdate() - { - - - } - - function ExecuteUpdate() - { - - } - - - function Request($command,$parameter) - { - $erp = $this->erp; - - $auth['serial']=trim($erp->Firmendaten('lizenz'));//$this->conf['serial']; - $auth['authkey']=trim($erp->Firmendaten('schluessel'));//$this->conf['authkey']; - if(empty($auth['serial']) || empty($auth['authkey'])) - { - $this->errormsg = 'Bitte tragen Sie die Lizenzdaten in den Grundeinstellungen ein.'; - return ''; - } - if(!empty($_SERVER['SERVER_NAME']) && $_SERVER['SERVER_NAME'] !== '') { - $auth['SERVER_NAME'] = $_SERVER['SERVER_NAME']; - } - elseif(!empty($_SERVER['HTTP_HOST'])) { - $auth['SERVER_NAME'] = $_SERVER['HTTP_HOST']; - } - else { - $auth['SERVER_NAME'] = ''; - } - $auth = base64_encode(json_encode($auth)); - - $parameter = base64_encode(json_encode($parameter)); - - $client = new UpdateHttpClient($this->conf['host'],$this->conf['port']); - $client->post('/upgradesystem.php', [ - 'authjson' => $auth, - 'parameterjson'=>$parameter, - 'command'=>(String)$command , - 'withdel' => 1 - ] - ); - $pageContents = $client->getContent(); - if(!empty($client->errormsg)){ - $this->errormsg = $client->errormsg; - } - $this->http_code = (string)$client->getStatus(); - - return $pageContents; - } - - function dir_rekursiv($verzeichnis) - { - $handle = opendir($verzeichnis); - - while ($datei = readdir($handle)) - { - if ($datei !== '.' && $datei !== '..') - { - if (is_dir($verzeichnis.$datei)) // Wenn Verzeichniseintrag ein Verzeichnis ist - { - // Erneuter Funktionsaufruf, um das aktuelle Verzeichnis auszulesen - $this->dir_rekursiv($verzeichnis.$datei.'/'); - } - else - { - // Wenn Verzeichnis-Eintrag eine Datei ist, diese ausgeben - $this->localmd5sums[$verzeichnis.$datei] = md5_file($verzeichnis.$datei); - } - } - } - closedir($handle); - } -} - - -/* Version 0.9, 6th April 2003 - Simon Willison ( http://simon.incutio.com/ ) - Manual: http://scripts.incutio.com/httpclient/ -*/ - -class UpdateHttpClient { - // Request vars - var $host; - var $port; - var $path; - var $method; - var $postdata = ''; - var $cookies = array(); - var $referer; - var $accept = 'text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,image/jpeg,image/gif,*/*'; - var $accept_encoding = 'gzip'; - var $accept_language = 'en-us'; - var $user_agent = 'Incutio HttpClient v0.9'; - // Options - var $timeout = 20; - var $use_gzip = true; - var $persist_cookies = true; // If true, received cookies are placed in the $this->cookies array ready for the next request - // Note: This currently ignores the cookie path (and time) completely. Time is not important, - // but path could possibly lead to security problems. - var $persist_referers = true; // For each request, sends path of last request as referer - var $debug = false; - var $handle_redirects = true; // Auaomtically redirect if Location or URI header is found - var $max_redirects = 5; - var $headers_only = false; // If true, stops receiving once headers have been read. - // Basic authorization variables - var $username; - var $password; - // Response vars - var $status; - var $headers = array(); - var $content = ''; - var $errormsg; - // Tracker variables - var $redirect_count = 0; - var $cookie_host = ''; - function __construct($host, $port=80) { - $this->host = $host; - $this->port = $port; - } - function get($path, $data = false) { - $this->path = $path; - $this->method = 'GET'; - if ($data) { - $this->path .= '?'.$this->buildQueryString($data); - } - return $this->doRequest(); - } - function post($path, $data) { - $this->path = $path; - $this->method = 'POST'; - $this->postdata = $this->buildQueryString($data); - return $this->doRequest(); - } - function buildQueryString($data) { - $querystring = ''; - if (is_array($data)) { - // Change data in to postable data - foreach ($data as $key => $val) { - if (is_array($val)) { - foreach ($val as $val2) { - $querystring .= urlencode($key).'='.urlencode($val2).'&'; - } - } else { - $querystring .= urlencode($key).'='.urlencode($val).'&'; - } - } - $querystring = substr($querystring, 0, -1); // Eliminate unnecessary & - } else { - $querystring = $data; - } - return $querystring; - } - function doRequest() { - // Performs the actual HTTP request, returning true or false depending on outcome - - if(!@fsockopen('ssl://'.$this->host, $this->port, $errno, $errstr, $this->timeout) && $this->port==443) - { - $this->port=80; - } - - if($this->port==443){ - $url = 'ssl://' . $this->host; - } - else{ - $url = $this->host; - } - - if (!$fp = @fsockopen($url, $this->port, $errno, $errstr, $this->timeout)) { - // Set error message - switch($errno) { - case -3: - $this->errormsg = 'Socket creation failed (-3)'; - $this->errormsg .= ' '.$errstr; - $this->debug($this->errormsg); - break; - case -4: - $this->errormsg = 'DNS lookup failure (-4)'; - $this->errormsg .= ' '.$errstr; - $this->debug($this->errormsg); - break; - case -5: - $this->errormsg = 'Connection refused or timed out (-5)'; - $this->errormsg .= ' '.$errstr; - $this->debug($this->errormsg); - break; - default: - $this->errormsg = 'Connection failed ('.$errno.')'; - $this->errormsg .= ' '.$errstr; - $this->debug($this->errormsg); - } - return false; - } - stream_set_timeout($fp, $this->timeout); - $request = $this->buildRequest(); - $this->debug('Request', $request); - fwrite($fp, $request); - // Reset all the variables that should not persist between requests - $this->headers = array(); - $this->content = ''; - $this->errormsg = ''; - // Set a couple of flags - $inHeaders = true; - $atStart = true; - // Now start reading back the response - while (!feof($fp)) { - $line = fgets($fp, 4096); - if ($atStart) { - // Deal with first line of returned data - $atStart = false; - if (!preg_match('/HTTP\/(\\d\\.\\d)\\s*(\\d+)\\s*(.*)/', $line, $m)) { - $this->errormsg = "Status code line invalid: ".htmlentities($line); - $this->debug($this->errormsg); - //return false; - } - $http_version = $m[1]; // not used - $this->status = $m[2]; - $status_string = $m[3]; // not used - $this->debug(trim($line)); - continue; - } - if ($inHeaders) { - if (trim($line) == '') { - $inHeaders = false; - $this->debug('Received Headers', $this->headers); - if ($this->headers_only) { - break; // Skip the rest of the input - } - continue; - } - if (!preg_match('/([^:]+):\\s*(.*)/', $line, $m)) { - // Skip to the next header - continue; - } - $key = strtolower(trim($m[1])); - $val = trim($m[2]); - // Deal with the possibility of multiple headers of same name - if (isset($this->headers[$key])) { - if (is_array($this->headers[$key])) { - $this->headers[$key][] = $val; - } else { - $this->headers[$key] = array($this->headers[$key], $val); - } - } else { - $this->headers[$key] = $val; - } - continue; - } - // We're not in the headers, so append the line to the contents - $this->content .= $line; - } - fclose($fp); - - // If data is compressed, uncompress it - if (isset($this->headers['content-encoding']) && $this->headers['content-encoding'] == 'gzip') { - $this->debug('Content is gzip encoded, unzipping it'); - $this->content = substr($this->content, 10); // See http://www.php.net/manual/en/function.gzencode.php - $this->content = gzinflate($this->content); - } - // If $persist_cookies, deal with any cookies - if ($this->persist_cookies && isset($this->headers['set-cookie']) && $this->host == $this->cookie_host) { - $cookies = $this->headers['set-cookie']; - if (!is_array($cookies)) { - $cookies = array($cookies); - } - foreach ($cookies as $cookie) { - if (preg_match('/([^=]+)=([^;]+);/', $cookie, $m)) { - $this->cookies[$m[1]] = $m[2]; - } - } - // Record domain of cookies for security reasons - $this->cookie_host = $this->host; - } - // If $persist_referers, set the referer ready for the next request - if ($this->persist_referers) { - $this->debug('Persisting referer: '.$this->getRequestURL()); - $this->referer = $this->getRequestURL(); - } - // Finally, if handle_redirects and a redirect is sent, do that - if ($this->handle_redirects) { - if (++$this->redirect_count >= $this->max_redirects) { - $this->errormsg = 'Verbindung konnte nicht aufgebaut werden. Bitte wenden Sie sich an Ihre IT. Eventuell sind SSL-Zertifikate nicht vorhanden bzw. abgelaufen'; - $this->debug($this->errormsg); - $this->redirect_count = 0; - return false; - } - $location = isset($this->headers['location']) ? $this->headers['location'] : ''; - $uri = isset($this->headers['uri']) ? $this->headers['uri'] : ''; - if ($location || $uri) { - $url = parse_url($location.$uri); - // This will FAIL if redirect is to a different site - return $this->get($url['path']); - } - } - return true; - } - function buildRequest() { - $headers = array(); - $headers[] = "{$this->method} {$this->path} HTTP/1.0"; // Using 1.1 leads to all manner of problems, such as "chunked" encoding - $headers[] = "Host: {$this->host}"; - $headers[] = "User-Agent: {$this->user_agent}"; - $headers[] = "Accept: {$this->accept}"; - if ($this->use_gzip) { - $headers[] = "Accept-encoding: {$this->accept_encoding}"; - } - $headers[] = "Accept-language: {$this->accept_language}"; - if ($this->referer) { - $headers[] = "Referer: {$this->referer}"; - } - // Cookies - if ($this->cookies) { - $cookie = 'Cookie: '; - foreach ($this->cookies as $key => $value) { - $cookie .= "$key=$value; "; - } - $headers[] = $cookie; - } - // Basic authentication - if ($this->username && $this->password) { - $headers[] = 'Authorization: BASIC '.base64_encode($this->username.':'.$this->password); - } - // If this is a POST, set the content type and length - if ($this->postdata) { - $headers[] = 'Content-Type: application/x-www-form-urlencoded'; - $headers[] = 'Content-Length: '.strlen($this->postdata); - } - $request = implode("\r\n", $headers)."\r\n\r\n".$this->postdata; - return $request; - } - function getStatus() { - return $this->status; - } - function getContent() { - return $this->content; - } - function getHeaders() { - return $this->headers; - } - function getHeader($header) { - $header = strtolower($header); - if (isset($this->headers[$header])) { - return $this->headers[$header]; - } - return false; - } - function getError() { - return $this->errormsg; - } - function getCookies() { - return $this->cookies; - } - function getRequestURL() { - $url = 'http://'.$this->host; - if ($this->port != 80) { - $url .= ':'.$this->port; - } - $url .= $this->path; - return $url; - } - // Setter methods - function setUserAgent($string) { - $this->user_agent = $string; - } - function setAuthorization($username, $password) { - $this->username = $username; - $this->password = $password; - } - function setCookies($array) { - $this->cookies = $array; - } - // Option setting methods - function useGzip($boolean) { - $this->use_gzip = $boolean; - } - function setPersistCookies($boolean) { - $this->persist_cookies = $boolean; - } - function setPersistReferers($boolean) { - $this->persist_referers = $boolean; - } - function setHandleRedirects($boolean) { - $this->handle_redirects = $boolean; - } - function setMaxRedirects($num) { - $this->max_redirects = $num; - } - function setHeadersOnly($boolean) { - $this->headers_only = $boolean; - } - function setDebug($boolean) { - $this->debug = $boolean; - } - // "Quick" static methods - function quickGet($url) { - $bits = parse_url($url); - $host = $bits['host']; - $port = isset($bits['port']) ? $bits['port'] : 80; - $path = isset($bits['path']) ? $bits['path'] : '/'; - if (isset($bits['query'])) { - $path .= '?'.$bits['query']; - } - $client = new UpdateHttpClient($host, $port); - if (!$client->get($path)) { - return false; - } - return $client->getContent(); - } - function quickPost($url, $data) { - $bits = parse_url($url); - $host = $bits['host']; - $port = isset($bits['port']) ? $bits['port'] : 80; - $path = isset($bits['path']) ? $bits['path'] : '/'; - $client = new UpdateHttpClient($host, $port); - if (!$client->post($path, $data)) { - return false; - } - return $client->getContent(); - - } - function debug($msg, $object = false) { - if ($this->debug) { - print '
HttpClient Debug: '.$msg; - if ($object) { - ob_start(); - print_r($object); - $content = htmlentities(ob_get_contents()); - ob_end_clean(); - print '
'.$content.'
'; - } - print '
'; - } - } -} - - - - -class UpdatePage -{ - var $engine; - function __construct(&$app) - { - $this->app = &$app; - //$this->engine = &$engine; - } - - /// load a themeset set - function LoadTheme($theme) - { - //$this->app->Tpl->ReadTemplatesFromPath("themes/$theme/templates/"); - $this->app->Tpl->ReadTemplatesFromPath("themes/$theme/templates/"); - } - - /// show complete page - function Show() - { - return $this->app->Tpl->FinalParse('update.tpl'); - } -} - -class UpdateSession { - - // set check to true when user have permissions - private $check = false; - - public $module; - public $action; - - // application object - public $app; - public $reason; - - - function __construct() - { - - - } - - - function Check($appObj) - { - $this->app = $appObj; - $this->check = true; - - if(!$this->app->acl->CheckTimeOut()){ - $this->check = false; - $this->reason = 'PLEASE_LOGIN'; - } else { - //benutzer ist schon mal erfolgreich angemeldet - if($this->app->User->GetType()==='admin'){ - $this->check = true; - } else { - $this->reason = 'NO_PERMISSIONS'; - $this->check = false; - } - } - } - - function GetCheck() { - return $this->check; - } - - function UserSessionCheck() - { - $this->check=false; - $this->reason='PLEASE_LOGIN'; - //$this->reason="SESSION_TIMEOUT"; - return true; - } - - -} - - -class UpdateWawiString -{ - - - function __construct() - { - } - - function Convert($value,$input,$output) - { - if($input==''){ - return $value; - } - - $array = $this->FindPercentValues($input); - $regexp = $this->BuildRegExp($array); - - $elements = - preg_split($regexp,$value,-1,PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); - - // input und elements stimmmen ueberein - - $newout = $output; - $i = 0; - foreach($array as $key=>$v) - { - $newout = str_replace($key,$elements[$i],$newout); - $i++; - } - return $newout; - } - - - function BuildRegExp($array) - { - - $regexp = '/^'; - foreach($array as $value) - { - $value = str_replace('.','\.',$value); - $value = str_replace('+','\+',$value); - $value = str_replace('*','\*',$value); - $value = str_replace('?','\?',$value); - $regexp .= '(\S+)'.$value; - } - $regexp .= '/'; - - return $regexp; - } - - function FindPercentValues($pattern) - { - $hash = ''; - $collect = ''; - preg_match_all('/(?:(%[0-9]+)|.)/i', $pattern, $matches); - $hash = ''; - $collect = ''; - - $start = true; - foreach($matches[1] as $key=>$value) - { - if($value==''){ - $collecting = true; - } - else - { - $collecting = false; - $oldhash = $hash; - $hash = $value; - } - - if(!$collecting) - { - if(!$start){ - $replace[$oldhash] = $collect; - } - $collect=''; - } - else{ - $collect .= $matches[0][$key]; - } - $start = false; - } - $replace[$hash] = $collect; - return $replace; - } - - function encodeText($string) - { - $string = str_replace("\\r\\n","#BR#",$string); - $string = str_replace("\n","#BR#",$string); - $encoded = htmlspecialchars(stripslashes($string), ENT_QUOTES); - - return $encoded; - } - - function decodeText($_str, $_form=true) - { - if ($_form) { - $_str = str_replace("#BR#", "\r\n", $_str); - } - else { - $_str = str_replace("#BR#", "
", $_str); - } - return($_str); - } - - function valid_utf8( $string ) - { - return !((bool)preg_match('~\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF\xC0\xC1~ms',$string)); - } - -} -class UpdatephpWFAPI -{ - function __construct(&$app) - { - $this->app=&$app; - } - - function ReBuildPageFrame() - { - $this->app->Tpl->ResetParser(); - $this->BuildPageFrame(); - } - - - function BuildPageFrame() - { - $this->app->Tpl->ReadTemplatesFromPath("phpwf/defaulttemplates/"); - - // build template tree - $this->app->Page->LoadTheme($this->app->WFconf[defaulttheme]); - - - // start acutally application instance - $this->app->Tpl->ReadTemplatesFromPath("pages/content/_gen"); - $this->app->Tpl->ReadTemplatesFromPath("pages/content/"); - } - - - function StartRequestedCommand() - { - $defaultpage = $this->app->WFconf['defaultpage']; - $defaultpageaction = $this->app->WFconf['defaultpageaction']; - - $module = $this->app->Secure->GetGET('module','alpha'); - $action = $this->app->Secure->GetGET('action','alpha'); - - if(!file_exists("pages/".$module.".php")) - $module = $defaultpage; - - if($action=='') { - $action = $defaultpageaction; - } - if(!$this->app->acl->Check($this->app->User->GetType(),$module,$action)) - return; - - - // start module - if(file_exists("pages/".$module.".php")) - { - include("pages/".$module.".php"); - //create dynamical an object - $constr=strtoupper($module[0]).substr($module, 1); - $myApp = new $constr($this->app); - } - else - { - echo $this->app->WFM->Error("Module $module doesn't exists in pages/"); - - } - $this->app->acl->CheckTimeOut(); - } - - /// mit dem "erstellen Formular" einfach bearbeiten liste + formular anzeigen - function EasyTableList($tablename,$cols,$parsetarget,$pkname,$delmsg,$delmsgcol) - { - // show list - - // create html table - $table = new HTMLTable("0","100%"); - $table->AddRowAsHeading($cols); - - $all = $this->app->DB->SelectTable($tablename,$cols); - - $table->AddField($all); - - $action = $this->app->Secure->GetGET("action","alpha"); - $module = $this->app->Secure->GetGET("module","alpha"); - - $table->AddCompleteCol(0, - "bearbeiten"); - - $table->AddCompleteCol(0, - " - loeschen",$delmsgcol); - - $table->ChangingRowColors('#ffffff','#dddddd'); - - $this->app->Tpl->Set($parsetarget,$table->Get()); - } - - function Message($msg,$parsetarget='MSGBOX') - { - $this->app->Tpl->Add('MSGBOXTEXT',$msg); - $this->app->Tpl->Parse($parsetarget,"messagebox.tpl"); - } - // emailvorlage aus db senden - - function EmailFromTemplate($template,$to,$values) - { - $betreff = $this->app->DB->Select("SELECT betreff - FROM emailvorlagen WHERE name='$template' LIMIT 1"); - - $nachricht = $this->app->DB->Select("SELECT nachricht - FROM emailvorlagen WHERE name='$template' LIMIT 1"); - - if(count($values) > 0) - { - foreach($values as $key=>$value) - { - $nachricht = str_replace("%".$key."%",$value,$nachricht); - $betreff = str_replace("%".$key."%",$value,$betreff); - } - } - - $nachricht = str_replace('#BR#',"\n",$nachricht); - mail($to,$betreff,$nachricht,"From: ActConnect Team "); - - } -} -class UpdateSecure -{ - var $GET; - var $POST; - - - function __construct(&$app){ - $this->app = &$app; - // clear global variables, that everybody have to go over secure layer - $this->GET = $_GET; - // $_GET=""; - $this->POST = $_POST; - // $_POST=""; - - $this->AddRule('notempty','reg','.'); // at least one sign - $this->AddRule('alpha','reg','[a-zA-Z]'); - $this->AddRule('digit','reg','[0-9]'); - $this->AddRule('space','reg','[ ]'); - $this->AddRule('specialchars','reg','[_-]'); - $this->AddRule('email','reg','^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$'); - $this->AddRule('datum','reg','([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})'); - - $this->AddRule('username','glue','alpha+digit'); - $this->AddRule('password','glue','alpha+digit+specialchars'); - } - - - function GetGET($name,$rule="",$maxlength="",$sqlcheckoff="") - { - return $this->Syntax(isset($this->GET[$name])?$this->GET[$name]:'',$rule,$maxlength,$sqlcheckoff); - } - - function GetPOST($name,$rule="",$maxlength="",$sqlcheckoff="") - { - return $this->Syntax(isset($this->POST[$name])?$this->POST[$name]:'',$rule,$maxlength,$sqlcheckoff); - } - - function GetPOSTForForms($name,$rule="",$maxlength="",$sqlcheckoff="") - { - return $this->SyntaxForForms($this->POST[$name],$rule,$maxlength,$sqlcheckoff); - } - - - - function GetPOSTArray() - { - if(count($this->POST)>0) - { - foreach($this->POST as $key=>$value) - { - $key = $this->GetPOST($key,"alpha+digit+specialchars",20); - $ret[$key]=$this->GetPOST($value); - } - } - if(isset($ret))return $ret; - } - - function GetGETArray() - { - if(count($this->GET)>0) - { - foreach($this->GET as $key=>$value) - { - $key = $this->GetGET($key,"alpha+digit+specialchars",20); - $ret[$key]=$this->GetGET($value); - } - } - if(isset($ret)) { - return $ret; - } - } - - function stripallslashes($string) { - - while(strstr($string,'\\')) { - $string = stripslashes($string); - } - return $string; - } - - function smartstripslashes($str) { - $cd1 = substr_count($str, "\""); - $cd2 = substr_count($str, "\\\""); - $cs1 = substr_count($str, "'"); - $cs2 = substr_count($str, "\\'"); - $tmp = strtr($str, array("\\\"" => "", "\\'" => "")); - $cb1 = substr_count($tmp, "\\"); - $cb2 = substr_count($tmp, "\\\\"); - if ($cd1 == $cd2 && $cs1 == $cs2 && $cb1 == 2 * $cb2) { - return strtr($str, array("\\\"" => "\"", "\\'" => "'", "\\\\" => "\\")); - } - return $str; - } - - function SyntaxForForms($value,$rule,$maxlength="",$sqlcheckoff="") - { - return $value;//mysqli_real_escape_string($this->app->DB->connection,$value);//mysqli_real_escape_string($value); - } - - // check actual value with given rule - function Syntax($value,$rule,$maxlength="",$sqlcheckoff="") - { - $value = str_replace("\xef\xbb\xbf","NONBLOCKINGZERO",$value); - if(is_array($value)) - { - return $value; - } - - $value = $this->stripallslashes($value); - $value = $this->smartstripslashes($value); - - $value = $this->app->erp->superentities($value); - - if($rule=='' && $sqlcheckoff == '') - { - return mysqli_real_escape_string($this->app->DB->connection,$value);//mysqli_real_escape_string($value); - } - if($rule=='' && $sqlcheckoff != '') - { - return $value; - } - - // build complete regexp - - // check if rule exists - - if($this->GetRegexp($rule)!=""){ - //$v = '/^['.$this->GetRegexp($rule).']+$/'; - $v = $this->GetRegexp($rule); - if (preg_match_all('/'.$v.'/i', $value, $teffer) ) - { - if($sqlcheckoff==""){ - return mysqli_real_escape_string($this->app->DB->connection, $value);//mysqli_real_escape_string($value); - } - return $value; - } - return ''; - } - - echo " -
Rule $rule doesn't exists!
"; - return ''; - } - - - function RuleCheck($value,$rule) - { - $v = $this->GetRegexp($rule); - if (preg_match_all('/'.$v.'/i', $value, $teffer) ){ - return true; - } - - return false; - } - - function AddRule($name,$type,$rule) - { - // type: reg = regular expression - // type: glue ( already exists rules copy to new e.g. number+digit) - $this->rules[$name]=array('type'=>$type,'rule'=>$rule); - } - - // get complete regexp by rule name - function GetRegexp($rule) - { - $rules = explode("+",$rule); - $ret = ''; - foreach($rules as $key) - { - // check if rule is last in glue string - if($this->rules[$key]['type']==="glue") - { - $subrules = explode("+",$this->rules[$key]['rule']); - if(count($subrules)>0) - { - foreach($subrules as $subkey) - { - $ret .= $this->GetRegexp($subkey); - } - } - } - elseif($this->rules[$key]['type']==="reg") - { - $ret .= $this->rules[$key]['rule']; - } - } - if($ret=="") - $ret = "none"; - return $ret; - } - -} -class UpdateAcl -{ - /** @var UpdateApplication */ - public $app; - public function __construct($app) - { - $this->app = $app; - if(!empty($_COOKIE['DBSELECTED'])) - { - $this->app->changeDbConf($_COOKIE['DBSELECTED']); - } - } - - - function CheckTimeOut() - { - $this->session_id = session_id(); - - if(isset($_COOKIE['CH42SESSION']) && $_COOKIE['CH42SESSION']!='') - { - $this->session_id = $_COOKIE["CH42SESSION"]; - $this->app->DB->Update("UPDATE useronline SET time=NOW(),login=1 WHERE sessionid='".$this->app->DB->real_escape_string($_COOKIE["CH42SESSION"])."' LIMIT 1"); - } - - // check if user is applied - // $this->app->DB->Delete("DELETE FROM useronline WHERE user_id='".$this->app->User->GetID()."' AND sessionid!='".$this->session_id."'"); - $sessid = $this->app->DB->Select("SELECT sessionid FROM useronline,user WHERE - login='1' AND sessionid='".$this->app->DB->real_escape_string($this->session_id)."' AND user.id=useronline.user_id AND user.activ='1' LIMIT 1"); - - if($this->session_id == $sessid) - { - // check if time is expired - $time = $this->app->DB->Select("SELECT UNIX_TIMESTAMP(time) FROM useronline,user WHERE - login='1' AND sessionid='".$this->app->DB->real_escape_string($this->session_id)."' AND user.id=useronline.user_id AND user.activ='1' LIMIT 1"); - - if((time()-$time) > $this->app->Conf->WFconf['logintimeout']) - { - if(!isset($_COOKIE['CH42SESSION']) || $_COOKIE['CH42SESSION']=='') - { - //$this->app->WF->ReBuildPageFrame(); - $this->Logout("Ihre Zeit ist abgelaufen, bitte melden Sie sich erneut an.",true); - return false; - } - } - else { - // update time - $this->app->DB->Update("UPDATE useronline,user SET useronline.time=NOW() WHERE - login='1' AND sessionid='".$this->app->DB->real_escape_string($this->session_id)."' AND user.id=useronline.user_id AND user.activ='1'"); - - session_write_close(); // Blockade wegnehmen - - return true; - } - } - - } - - function Check($usertype,$module='',$action='', $userid='') - { - return $usertype==='admin'; - } - - function Login() - { - $multidbs = $this->app->getDbs(); - if(count($multidbs) > 1) - { - $options = ''; - foreach($multidbs as $k => $v) - { - $options .= '