From 5b3f2519464c373529b1fd932bab9aa2ea91ddff Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Wed, 13 Aug 2014 10:26:05 -0400
Subject: [PATCH] - Removed unused file form.inc.php - Added some cleanup code
---
/dev/null | 517 ---------------------------------------------------------
install/lib/installer_base.lib.php | 17 +
install/update.php | 3
3 files changed, 19 insertions(+), 518 deletions(-)
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index a82ac2e..83b6ffb 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -2152,7 +2152,7 @@
// Add symlink for patch tool
if(!is_link('/usr/local/bin/ispconfig_patch')) exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_patch /usr/local/bin/ispconfig_patch');
-
+
}
public function configure_dbserver() {
@@ -2241,6 +2241,21 @@
chmod($conf['ispconfig_log_dir'].'/cron.log', 0660);
}
+
+ // This function is called at the end of the update process and contains code to clean up parts of old ISPCONfig releases
+ public function cleanup_ispconfig() {
+ global $app,$conf;
+
+ // Remove directories recursively
+ if(is_dir('/usr/local/ispconfig/interface/web/designer')) exec('rm -rf /usr/local/ispconfig/interface/web/designer');
+
+ // Remove files
+ if(is_file('/usr/local/ispconfig/interface/lib/classes/db_firebird.inc.php')) unlink('/usr/local/ispconfig/interface/lib/classes/db_firebird.inc.php');
+ if(is_file('/usr/local/ispconfig/interface/lib/classes/form.inc.php')) unlink('/usr/local/ispconfig/interface/lib/classes/form.inc.php');
+
+
+
+ }
public function getinitcommand($servicename, $action, $init_script_directory = ''){
global $conf;
diff --git a/install/update.php b/install/update.php
index 36eb201..eec69ba 100644
--- a/install/update.php
+++ b/install/update.php
@@ -443,6 +443,9 @@
$inst->install_ispconfig();
+// Cleanup
+$inst->cleanup_ispconfig();
+
//** Configure Crontab
$update_crontab_answer = $inst->simple_query('Reconfigure Crontab?', array('yes', 'no'), 'yes','reconfigure_crontab');
if($update_crontab_answer == 'yes') {
diff --git a/interface/lib/classes/form.inc.php b/interface/lib/classes/form.inc.php
deleted file mode 100644
index e6948dd..0000000
--- a/interface/lib/classes/form.inc.php
+++ /dev/null
@@ -1,517 +0,0 @@
-<?php
-
-die('Deprecated file: form.inc.php');
-
-/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name of ISPConfig nor the names of its contributors
- may be used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/**
- * Formularbehandlung
- *
- * Funktionen zur Umwandlung von Formulardaten
- * sowie zum vorbereiten von HTML und SQL
- * Ausgaben
- *
- * Tabellendefinition
- *
- * Datentypen:
- * - INTEGER (Wandelt Ausdrücke in Int um)
- * - DOUBLE
- * - CURRENCY (Formatiert Zahlen nach Währungsnotation)
- * - VARCHAR (kein weiterer Format Check)
- * - DATE (Datumsformat, Timestamp Umwandlung)
- *
- * Formtype:
- * - TEXT (normales Textfeld)
- * - PASSWORD (Feldinhalt wird nicht angezeigt)
- * - SELECT (Gibt Werte als option Feld aus)
- * - MULTIPLE (Select-Feld mit nehreren Werten)
- *
- * VALUE:
- * - Wert oder Array
- *
- * SEPARATOR
- * - Trennzeichen für multiple Felder
- *
- * Hinweis:
- * Das ID-Feld ist nicht bei den Table Values einzufügen.
- *
- * @package form
- * @author Till Brehm
- * @version 1.1
- */
-
-
-class form {
-
-
-
- /**
- * Definition der Tabelle (array)
- * @var tableDef
- */
- var $tableDef;
-
-
-
- /**
- * Private
- * @var action
- */
- var $action;
-
-
-
- /**
- * Tabellenname (String)
- * @var table_name
- */
- var $table_name;
-
-
-
- /**
- * Debug Variable
- * @var debug
- */
- var $debug = 0;
-
-
-
- /**
- * name des primary Field der Tabelle (string)
- * @var table_index
- */
- var $table_index;
-
-
-
- /**
- * enthält die Fehlermeldung bei Überprüfung
- * der Variablen mit Regex
- * @var errorMessage
- */
- var $errorMessage;
-
- var $dateformat = "d.m.Y";
- var $formDef;
-
-
-
-
-
- /**
- * Laden der Tabellendefinition
- *
- * @param file: Pfad zur Tabellendefinition
- * @return true
- */
- function loadTableDef($file) {
- global $app, $conf;
-
- include_once $file;
- $this->tableDef = $table;
- $this->table_name = $table_name;
- $this->table_index = $table_index;
- return true;
- }
-
- function loadFormDef($file) {
- global $app, $conf;
-
- include_once $file;
- $this->formDef = $form;
- return true;
- }
-
-
-
-
-
-
-
-
- /**
- * Konvertiert die Daten des übergebenen assoziativen
- * Arrays in "menschenlesbare" Form.
- * Datentyp Konvertierung, z.B. für Ausgabe in Listen.
- *
- * @param record
- * @return record
- */
- function decode($record) {
- global $app;
- if(is_array($record)) {
- foreach($record as $key => $val) {
- switch ($this->tableDef[$key]['datatype']) {
- case 'VARCHAR':
- $new_record[$key] = stripslashes($val);
- break;
-
- case 'DATE':
- if($val > 0) {
- $new_record[$key] = date($this->dateformat, $val);
- }
- break;
-
- case 'INTEGER':
- $new_record[$key] = $app->functions->intval($val);
- break;
-
- case 'DOUBLE':
- $new_record[$key] = $val;
- break;
-
- case 'CURRENCY':
- $new_record[$key] = number_format($val, 2, ',', '');
- break;
-
- default:
- $new_record[$key] = stripslashes($val);
- }
- }
-
- }
- return $new_record;
- }
-
-
-
-
-
- /**
- * Record für Ausgabe in Formularen vorbereiten.
- *
- * @param record = Datensatz als Array
- * @param action = NEW oder EDIT
- * @return record
- */
- function getHTML($record, $action = 'NEW') {
-
- global $app;
-
- if(!is_array($this->tableDef)) $app->error("Keine Tabellendefinition vorhanden.");
-
- $new_record = array();
- if($action == 'EDIT') {
- $record = $this->decode($record);
- if(is_array($record)) {
- foreach($record as $key => $val) {
- switch ($this->tableDef[$key]['formtype']) {
- case 'SELECT':
- if(is_array($this->tableDef[$key]['value'])) {
- $out = '';
- foreach($this->tableDef[$key]['value'] as $k => $v) {
- $selected = ($k == $val)?' SELECTED':'';
- $out .= "<option value='$k'$selected>$v</option>\r\n";
- }
- }
- $new_record[$key] = $out;
- break;
- case 'MULTIPLE':
- if(is_array($this->tableDef[$key]['value'])) {
-
- // aufsplitten ergebnisse
- $vals = explode($this->tableDef[$key]['separator'], $val);
-
- // HTML schreiben
- $out = '';
- foreach($this->tableDef[$key]['value'] as $k => $v) {
-
- $selected = '';
- foreach($vals as $tvl) {
- if(trim($tvl) == trim($k)) $selected = ' SELECTED';
- }
-
- $out .= "<option value='$k'$selected>$v</option>\r\n";
- }
- }
- $new_record[$key] = $out;
- break;
-
- case 'PASSWORD':
- $new_record[$key] = '';
- break;
-
- default:
- $new_record[$key] = htmlspecialchars($val);
- }
- }
- }
- } else {
- foreach($this->tableDef as $key => $val) {
- switch ($this->tableDef[$key]['formtype']) {
- case 'SELECT':
- if(is_array($this->tableDef[$key]['value'])) {
- $out = '';
- foreach($this->tableDef[$key]['value'] as $k => $v) {
- $selected = ($k == $val)?' SELECTED':'';
- $out .= "<option value='$k'$selected>$v</option>\r\n";
- }
- }
- $new_record[$key] = $out;
- break;
- case 'MULTIPLE':
- if(is_array($this->tableDef[$key]['value'])) {
-
- // aufsplitten ergebnisse
- $vals = explode($this->tableDef[$key]['separator'], $val);
-
- // HTML schreiben
- $out = '';
- foreach($this->tableDef[$key]['value'] as $k => $v) {
-
- $out .= "<option value='$k'>$v</option>\r\n";
- }
- }
- $new_record[$key] = $out;
- break;
-
- case 'PASSWORD':
- $new_record[$key] = '';
- break;
-
- default:
- $new_record[$key] = htmlspecialchars($this->tableDef[$key]['value']);
- }
- }
-
- }
-
- if($this->debug == 1) $this->dbg($new_record);
-
- return $new_record;
- }
-
-
-
-
-
- /**
- * Record in "maschinen lesbares" Format überführen
- * und Werte gegen reguläre Ausdrücke prüfen.
- *
- * @param record = Datensatz als Array
- * @return record
- */
- function encode($record) {
- global $app;
- $this->errorMessage = '';
-
- if(is_array($record)) {
- foreach($record as $key => $val) {
- switch ($this->tableDef[$key]['datatype']) {
- case 'VARCHAR':
- if(!is_array($val)) {
- $new_record[$key] = $app->db->quote($val);
- } else {
- $new_record[$key] = implode($this->tableDef[$key]['separator'], $val);
- }
- break;
- case 'DATE':
- if($val > 0) {
- list($tag, $monat, $jahr) = explode('.', $val);
- $new_record[$key] = mktime(0, 0, 0, $monat, $tag, $jahr);
- }
- break;
- case 'INTEGER':
- $new_record[$key] = $app->functions->intval($val);
- break;
- case 'DOUBLE':
- $new_record[$key] = $app->db->quote($val);
- break;
- case 'CURRENCY':
- $new_record[$key] = str_replace(",", ".", $val);
- break;
- }
-
- if($this->tableDef[$key]['regex'] != '') {
- // Enable that "." matches also newlines
- $this->tableDef[$key]['regex'] .= 's';
- if(!preg_match($this->tableDef[$key]['regex'], $val)) {
- $this->errorMessage .= $this->tableDef[$key]['errmsg']."<br>\r\n";
- }
- }
- }
-
- }
- return $new_record;
- }
-
-
-
-
-
- /**
- * SQL Statement für Record erzeugen.
- *
- * @param record = Datensatz als Array
- * @param action = INSERT oder UPDATE
- * @param primary_id
- * @return record
- */
- function getSQL($record, $action = 'INSERT', $primary_id = 0, $sql_ext_where = '') {
-
- global $app;
-
- $record = $this->encode($record);
- $sql_insert_key = '';
- $sql_insert_val = '';
- $sql_update = '';
-
- if(!is_array($this->tableDef)) $app->error("Keine Tabellendefinition vorhanden.");
-
- // gehe durch alle Felder des Records
- if(is_array($record)) {
- foreach($record as $key => $val) {
- // Wenn es kein leeres Passwortfeld ist
- if (!($this->tableDef[$key]['formtype'] == 'PASSWORD' and $val == '')) {
- // gehe durch alle Felder der TableDef
- foreach($this->tableDef as $tk => $tv) {
- // Wenn Feld in TableDef enthalten ist
- if($tk == $key) {
- // Erzeuge Insert oder Update Quelltext
- if($action == "INSERT") {
-
- if($this->tableDef[$key]['formtype'] == 'PASSWORD') {
- $sql_insert_key .= "`$key`, ";
- $sql_insert_val .= "md5('$val'), ";
- //} elseif($this->tableDef[$key]['formtype'] == 'MULTIPLE') {
- // $val = implode($this->tableDef[$key]['separator'],$val);
- // $sql_insert_key .= "`$key`, ";
- // $sql_insert_val .= "'$val', ";
- } else {
- $sql_insert_key .= "`$key`, ";
- $sql_insert_val .= "'$val', ";
- }
-
- } else {
-
- if($this->tableDef[$key]['formtype'] == 'PASSWORD') {
- $sql_update .= "`$key` = md5('$val'), ";
- //} elseif($this->tableDef[$key]['formtype'] == 'MULTIPLE') {
- // $val = implode($this->tableDef[$key]['separator'],$val);
- // $sql_update .= "`$key` = '$val', ";
- } else {
- $sql_update .= "`$key` = '$val', ";
- }
-
- }
- }
- }
- }
- }
- }
-
- // Füge Backticks nur bei unvollständigen Tabellennamen ein
- if(stristr($this->table_name, '.')) {
- $escape = '';
- } else {
- $escape = '`';
- }
-
-
- if($action == "INSERT") {
- $sql_insert_key = substr($sql_insert_key, 0, -2);
- $sql_insert_val = substr($sql_insert_val, 0, -2);
- $sql = "INSERT INTO ".$escape.$this->table_name.$escape." ($sql_insert_key) VALUES ($sql_insert_val)";
- } else {
- if($primary_id != 0) {
- $sql_update = substr($sql_update, 0, -2);
- $sql = "UPDATE ".$escape.$this->table_name.$escape." SET ".$sql_update." WHERE ".$this->table_index ." = ".$primary_id;
- if($sql_ext_where != '') $sql .= " and ".$sql_ext_where;
- } else {
- $app->error("Primary ID fehlt!");
- }
- }
-
- return $sql;
- }
-
-
-
-
-
- /**
- * Debugging arrays.
- *
- * @param array_data
- */
- function dbg($array_data) {
-
- echo "<pre>";
- print_r($array_data);
- echo "</pre>";
-
- }
-
-
- function showForm() {
- global $app, $conf;
-
- if(!is_array($this->formDef)) die("Form Definition wurde nicht geladen.");
-
- if($this->errorMessage == '') {
- // wenn kein Fehler vorliegt
- if($_REQUEST["next_tab"] != '') {
- // wenn nächster Tab bekannt
- $active_tab = $_REQUEST["next_tab"];
- } else {
- // ansonsten ersten tab nehmen
- $active_tab = $this->formDef["tabs"][0]["name"];
- }
- } else {
- // bei Fehlern den gleichen Tab nochmal anzeigen
- $active_tab = $_SESSION["s"]["form"]["tab"];
- }
-
- // definiere Tabs
- foreach( $this->formDef["tabs"] as $tab) {
-
- if($tab["name"] == $active_tab) {
- $app->tpl->setInclude('content_tpl', $tab["template"]);
- $tab["active"] = 1;
- $_SESSION["s"]["form"]["tab"] = $tab["name"];
- } else {
- $tab["active"] = 0;
- }
-
- $frmTab[] = $tab;
- }
-
- // setze Loop
- $app->tpl->setLoop("formTab", $frmTab);
-
- // Formular action setzen
- $app->tpl->setVar('form_action', $this->formDef["action"]);
- }
-
-
-}
-
-?>
--
Gitblit v1.9.1