'vmblast-grp,'.ltrim($result['0']).',1', 'description' => $thisgrp['description'].' <'.ltrim($result['0']).'>'); } } if (isset($extens)) return $extens; else return null; } /* Generates dialplan for vmblast We call this with retrieve_conf */ function vmblast_get_config($engine) { global $ext; // is this the best way to pass this? switch($engine) { case "asterisk": $ext->addInclude('from-internal-additional','vmblast-grp'); $c = 'vmblast-grp'; $rl = vmblast_list(); if (is_array($rl)) { foreach($rl as $item) { $grpnum = ltrim($item['0']); $grp = vmblast_get($grpnum); $grplist = $grp['grplist']; $ext->add($c, $grpnum, '', new ext_macro('user-callerid')); $ext->add($c, $grpnum, '', new ext_voicemail('$grplist')); $ext->add($c, $grpnum, '', new ext_macro('hangupcall')); } } break; } } function vmblast_add($grpnum,$grplist,$description) { $sql = "INSERT INTO vmblast (grpnum, grplist, description) VALUES (".$grpnum.", '".str_replace("'", "''", $grplist)."', '".str_replace("'", "''", $description)."')"; $results = sql($sql); } function vmblast_del($grpnum) { $results = sql("DELETE FROM vmblast WHERE grpnum = $grpnum","query"); } function vmblast_list() { $results = sql("SELECT grpnum, description FROM vmblast ORDER BY grpnum","getAll",DB_FETCHMODE_ASSOC); foreach ($results as $result) { if (isset($result['grpnum']) && checkRange($result['grpnum'])) { $grps[] = array($result['grpnum'], $result['description']); } } if (isset($grps)) return $grps; else return null; } function vmblast_get($grpnum) { $results = sql("SELECT grpnum, grplist, description FROM vmblast WHERE grpnum = $grpnum","getRow",DB_FETCHMODE_ASSOC); return $results; } ?>