Changeset 5372
- Timestamp:
- 12/08/07 01:24:01 (1 year ago)
- Files:
-
- contributed_modules/modules/vmblast/functions.inc.php (modified) (3 diffs)
- contributed_modules/modules/vmblast/install.php (modified) (2 diffs)
- contributed_modules/modules/vmblast/install.sql (modified) (2 diffs)
- contributed_modules/modules/vmblast/page.vmblast.php (modified) (2 diffs)
- contributed_modules/modules/vmblast/uninstall.sql (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
contributed_modules/modules/vmblast/functions.inc.php
r5368 r5372 41 41 } 42 42 } 43 44 43 45 44 /* Generates dialplan for vmblast We call this with retrieve_conf … … 137 136 } 138 137 138 function vmblast_add($grpnum,$grplist,$description,$audio_label= -1, $password = '') { 139 global $db; 139 140 140 function vmblast_add($grpnum,$grplist,$description,$audio_label= -1, $password = '') { 141 $sql = "INSERT INTO vmblast (grpnum, grplist, description, audio_label, password) VALUES (".$grpnum.", '".str_replace("'", "''", $grplist)."', '".str_replace("'", "''", $description)."', '$audio_label', '".str_replace("'","''", $password)."')"; 141 $xtns = explode("&",$grplist); 142 foreach ($xtns as $key => $value) { 143 $xtns[$key] = addslashes(trim($value)); 144 } 145 // Sanity check input. 146 147 $compiled = $db->prepare("INSERT INTO vmblast_groups (grpnum, ext) values ('$grpnum',?)"); 148 $result = $db->executeMultiple($compiled,$xtns); 149 if(DB::IsError($result)) { 150 die_freepbx($result->getDebugInfo()."<br><br>".'error adding to vmblast_groups table'); 151 } 152 $sql = "INSERT INTO vmblast (grpnum, description, audio_label, password) VALUES (".$grpnum.", '".str_replace("'", "''", $description)."', '$audio_label', '".str_replace("'","''", $password)."')"; 142 153 $results = sql($sql); 143 154 } 144 155 145 156 function vmblast_del($grpnum) { 146 $results = sql("DELETE FROM vmblast WHERE grpnum = $grpnum","query"); 157 $results = sql("DELETE FROM vmblast WHERE grpnum = '$grpnum'","query"); 158 $results = sql("DELETE FROM vmblast_groups WHERE grpnum = '$grpnum'","query"); 147 159 } 148 160 … … 161 173 162 174 function vmblast_get($grpnum) { 163 $results = sql("SELECT grpnum, grplist, description, audio_label, password FROM vmblast WHERE grpnum = $grpnum","getRow",DB_FETCHMODE_ASSOC); 175 global $db; 176 177 $results = sql("SELECT grpnum, description, audio_label, password FROM vmblast WHERE grpnum = '$grpnum'","getRow",DB_FETCHMODE_ASSOC); 178 $grplist = $db->getCol("SELECT ext FROM vmblast_groups WHERE grpnum = '$grpnum'"); 179 if(DB::IsError($grplist)) { 180 die_freepbx($grplist->getDebugInfo()."<br><br>".'selecting from vmblast_groups table'); 181 } 182 $results['grplist'] = implode('&',$grplist); 183 164 184 return $results; 165 185 } contributed_modules/modules/vmblast/install.php
r5366 r5372 1 1 <?php 2 2 3 // TODO: 4 // TODO: MOVE TABLE CREATIONS INTO HERE 5 // TODO: 6 3 7 global $db; 4 5 $results = $db->query("ALTER TABLE `vmblast` CHANGE `grplist` `grplist` VARCHAR( 255 ) NOT NULL");6 if(DB::IsError($results)) {7 echo $results->getMessage();8 return false;9 }10 8 11 9 echo "Upgrading vmblast to add audio_label field.."; … … 37 35 } 38 36 39 echo "Converting grplist from varchar 255 to blob to handle large groups.."; 40 $sql = "ALTER TABLE `vmblast` CHANGE `grplist` `grplist` BLOB NOT NULL"; 41 $results = $db->query($sql); 42 if(DB::IsError($results)) { 43 echo "ERROR: failed to convert field<br />"; 37 // Drop grplist field but first pull it's data and put in new table 38 // 39 echo "Dropping grplist.."; 40 $sql = 'SELECT grpnum, grplist FROM vmblast'; 41 $confs = $db->getAll($sql, DB_FETCHMODE_ASSOC); 42 if (!DB::IsError($confs)) { 43 $list = array(); 44 foreach ($confs as $group) { 45 $grplist = explode('&',$group['grplist']); 46 foreach ($grplist as $exten) { 47 $list[] = array($group['grpnum'],addslashes(trim($exten))); 48 } 49 } 50 $compiled = $db->prepare("INSERT INTO vmblast_groups (grpnum, ext) values (?,?)"); 51 $result = $db->executeMultiple($compiled, $list); 52 if(DB::IsError($result)) { 53 echo "error populating vmblast_groups table<br />"; 54 return false; 55 } else { 56 echo "populated new table<br />Dropping old grplist field"; 57 $sql = "ALTER TABLE `vmblast` DROP `grplist`"; 58 $results = $db->query($sql); 59 if(DB::IsError($results)) { 60 echo "failed to drop field<br />"; 61 } else { 62 echo "OK<br />"; 63 } 64 } 44 65 } else { 45 echo " OK<br />";66 echo "Not Needed<br />"; 46 67 } 47 68 contributed_modules/modules/vmblast/install.sql
r5366 r5372 2 2 ( 3 3 `grpnum` INT( 11 ) NOT NULL , 4 `grplist` BLOB NOT NULL ,5 4 `description` VARCHAR( 35 ) NOT NULL , 6 5 `audio_label` INT( 11 ) NOT NULL DEFAULT -1 , … … 8 7 PRIMARY KEY (`grpnum`) 9 8 ); 9 10 CREATE TABLE IF NOT EXISTS vmblast_groups 11 ( 12 grpnum VARCHAR(50), 13 ext VARCHAR(25), 14 PRIMARY KEY (grpnum , ext) 15 ); contributed_modules/modules/vmblast/page.vmblast.php
r5368 r5372 25 25 26 26 if (!$grplist) { 27 $grplist = null;27 $grplist = array(); 28 28 } 29 29 … … 133 133 134 134 } else { 135 $grplist = explode("-", '');;135 $grplist = array(); 136 136 $strategy = ''; 137 137 $ringing = ''; contributed_modules/modules/vmblast/uninstall.sql
r5063 r5372 1 1 2 2 DROP TABLE IF EXISTS vmblast; 3 DROP TABLE IF EXISTS vmblast_groups;
