All pastes #373164 Raw Edit

Something

public text v1 · immutable
#373164 ·published 2007-02-26 16:20 UTC
rendered paste body
<?php /* $Id: functions.inc.php 3396 2006-12-21 02:40:16Z p_lindheimer $ */

// The destinations this module provides
// returns a associative arrays with keys 'destination' and 'description'
function vmblast_destinations() {
	//get the list of vmblast
	$results = vmblast_list();
	
	// return an associative array with destination and description
	if (isset($results)) {
		foreach($results as $result){
				$thisgrp = vmblast_get(ltrim($result['0']));
				$extens[] = array('destination' => '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;
}
?>