4 include_once(
"./Services/Database/classes/class.ilDBUpdate.php");
18 $a_db_handler, $tmp_flag, $a_db_prefix)
20 $this->db_prefix = $a_db_prefix;
25 $this->db =& $a_db_handler;
39 $this->db = $mySetup->db;
43 $this->ctype = $a_ctype;
44 $this->cname = $a_cname;
45 $this->slot_id = $a_slot_id;
46 $this->pname = $a_pname;
48 include_once(
"./Services/Component/classes/class.ilPluginSlot.php");
50 $this->cname, $this->slot_id);
57 $this->current_file = $updatefile;
58 $this->DB_UPDATE_FILE = $this->PATH.
60 $this->slot_name, $this->pname);
65 $this->LAST_UPDATE_FILE = $this->PATH.
67 $this->slot_name, $this->pname);
79 return "dbupdate.php";
98 $q =
"SELECT db_version FROM il_plugin ".
99 " WHERE component_type = ".$this->db->quote($this->ctype,
"text").
100 " AND component_name = ".$this->db->quote($this->cname,
"text").
101 " AND slot_id = ".$this->db->quote($this->slot_id,
"text").
102 " AND name = ".$this->db->quote($this->pname,
"text");
103 $set = $this->db->query(
$q);
104 $rec = $this->db->fetchAssoc($set);
106 $this->currentVersion = (int) $rec[
"db_version"];
116 $q =
"UPDATE il_plugin SET db_version = ".$this->db->quote((
int) $a_version,
"integer").
117 " WHERE component_type = ".$this->db->quote($this->ctype,
"text").
118 " AND component_name = ".$this->db->quote($this->cname,
"text").
119 " AND slot_id = ".$this->db->quote($this->slot_id,
"text").
120 " AND name = ".$this->db->quote($this->pname,
"text");
121 $this->db->manipulate(
$q);
122 $this->currentVersion = $a_version;
137 if ((is_int(stripos(
$q,
"create table")) || is_int(stripos(
$q,
"alter table")) ||
138 is_int(stripos(
$q,
"drop table")))
139 && !is_int(stripos(
$q, $this->db_prefix)))
141 return "Plugin may only create or alter tables that use prefix ".