Changeset 3337
- Timestamp:
- 12/17/06 21:51:47 (5 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
freepbx/trunk/amp_conf/htdocs/admin/modules/core/functions.inc.php
r3335 r3337 191 191 // extensions_custom.conf 192 192 $ext->add($context, $exten, '', new ext_setvar('FROM_DID',$exten)); 193 194 if (!empty($item['mohclass']) && trim($item['mohclass']) != 'default') { 195 $ext->add($context, $exten, '', new ext_setmusiconhold($item['mohclass'])); 196 } 193 197 194 198 // If we require RINGING, signal it as soon as we enter. … … 299 303 $ext->add($context, $exten, '', new ext_setvar('FROM_DID',$exten)); 300 304 305 if (!empty($item['mohclass']) && trim($item['mohclass']) != 'default') { 306 $ext->add($context, $exten, '', new ext_setmusiconhold($item['mohclass'])); 307 } 301 308 302 309 if ($item['faxexten'] != "default") { … … 381 388 if(strpos($exten['args'],"INTRACOMPANYROUTE") !== false) 382 389 $ext->add($outrt['application'], $exten['extension'], '', new ext_setvar("INTRACOMPANYROUTE",substr($exten['args'],18))); 390 if(strpos($exten['args'],"MOHCLASS") !== false) 391 $ext->add($outrt['application'], $exten['extension'], '', new ext_setvar("MOHCLASS",substr($exten['args'],9))); 383 392 if(strpos($exten['args'],"dialout-trunk") !== false) 384 393 $ext->add($outrt['application'], $exten['extension'], '', new ext_macro($exten['args'])); … … 486 495 if (empty($existing)) { 487 496 $destination=${$goto_indicate0.'0'}; 488 $sql="INSERT INTO incoming (cidnum,extension,destination,faxexten,faxemail,answer,wait,privacyman,alertinfo, channel, ringing ) values ('$cidnum','$extension','$destination','$faxexten','$faxemail','$answer','$wait','$privacyman','$alertinfo', '$channel', '$ringing')";497 $sql="INSERT INTO incoming (cidnum,extension,destination,faxexten,faxemail,answer,wait,privacyman,alertinfo, channel, ringing, mohclass) values ('$cidnum','$extension','$destination','$faxexten','$faxemail','$answer','$wait','$privacyman','$alertinfo', '$channel', '$ringing', '$mohclass')"; 489 498 sql($sql); 490 499 } else { … … 1105 1114 1106 1115 //insert into users table 1107 $sql="INSERT INTO users (extension,password,name,voicemail,ringtimer,noanswer,recording,outboundcid,directdid,didalert,faxexten,faxemail,answer,wait,privacyman ) values (\"";1116 $sql="INSERT INTO users (extension,password,name,voicemail,ringtimer,noanswer,recording,outboundcid,directdid,didalert,faxexten,faxemail,answer,wait,privacyman,mohclass) values (\""; 1108 1117 $sql.= "$extension\", \""; 1109 1118 $sql.= isset($password)?$password:''; … … 1135 1144 $sql.= "\", \""; 1136 1145 $sql.= isset($privacyman)?$privacyman:''; 1137 1146 $sql.= "\", \""; 1147 $sql.= isset($mohclass)?$mohclass:''; 1138 1148 $sql.= "\")"; 1139 1149 sql($sql); … … 1244 1254 1245 1255 function core_directdid_list(){ 1246 $sql = "SELECT extension, directdid, didalert, faxexten, faxemail, answer, wait, privacyman FROM users WHERE directdid IS NOT NULL AND directdid != ''";1256 $sql = "SELECT extension, directdid, didalert, mohclass, faxexten, faxemail, answer, wait, privacyman FROM users WHERE directdid IS NOT NULL AND directdid != ''"; 1247 1257 return sql($sql,"getAll",DB_FETCHMODE_ASSOC); 1248 1258 } … … 1830 1840 1831 1841 1832 function core_routing_add($name, $patterns, $trunks, $method, $pass, $emergency = "", $intracompany = "") { 1842 function core_routing_add($name, $patterns, $trunks, $method, $pass, $emergency = "", $intracompany = "", $mohsilence = "") { 1843 1833 1844 global $db; 1834 1845 … … 1911 1922 } 1912 1923 1924 // Next Priority (either first, second or third depending on above) 1925 if(!empty($mohsilence) && trim($mohsilence) != 'default') { 1926 $startpriority += 1; 1927 $sql = "INSERT INTO extensions (context, extension, priority, application, args, descr) VALUES "; 1928 $sql .= "('outrt-".$name."', "; 1929 $sql .= "'".$pattern."', "; 1930 $sql .= "'".$startpriority."', "; 1931 $sql .= "'SetVar', "; 1932 $sql .= "'MOHCLASS=".$mohsilence."', "; 1933 $sql .= "'Do not play moh on this route')"; 1934 $result = $db->query($sql); 1935 if(DB::IsError($result)) { 1936 die($result->getMessage()); 1937 } 1938 } 1939 1913 1940 $first_trunk = 1; 1914 1941 foreach ($trunks as $priority => $trunk) { … … 1992 2019 } 1993 2020 1994 function core_routing_edit($name, $patterns, $trunks, $pass, $emergency="", $intracompany = "" ) {2021 function core_routing_edit($name, $patterns, $trunks, $pass, $emergency="", $intracompany = "", $mohsilence="") { 1995 2022 core_routing_del($name); 1996 core_routing_add($name, $patterns, $trunks,"edit", $pass, $emergency, $intracompany );2023 core_routing_add($name, $patterns, $trunks,"edit", $pass, $emergency, $intracompany, $mohsilence); 1997 2024 } 1998 2025 … … 2145 2172 } 2146 2173 return $intracompany; 2174 } 2175 2176 //get mohsilence routing status for this route 2177 function core_routing_getroutemohsilence($route) { 2178 2179 global $db; 2180 $sql = "SELECT DISTINCT args FROM extensions WHERE context = 'outrt-".$route."' AND (args LIKE 'MOHCLASS%') "; 2181 $results = $db->getOne($sql); 2182 if(DB::IsError($results)) { 2183 die($results->getMessage()); 2184 } 2185 if (preg_match('/^.*=(.*)/', $results, $matches)) { 2186 $mohsilence = $matches[1]; 2187 } else { 2188 $mohsilence = ""; 2189 } 2190 return $mohsilence; 2147 2191 } 2148 2192 … … 2239 2283 $currentcomponent->setoptlistopts('faxdestoptions', 'sort', false); 2240 2284 2285 if (function_exists('music_list')) { 2286 $tresults = music_list("/var/lib/asterisk/mohmp3"); 2287 if (isset($tresults[0])) { 2288 foreach ($tresults as $tresult) { 2289 $currentcomponent->addoptlistitem('mohclass', $tresult, $tresult); 2290 } 2291 $currentcomponent->setoptlistopts('mohclass', 'sort', false); 2292 } 2293 } 2294 2241 2295 //get unique devices to finishoff faxdestoptions list 2242 2296 $devices = core_devices_list(); … … 2262 2316 // Ensure variables possibly extracted later exist 2263 2317 $name = $directdid = $didalert = $outboundcid = $answer = null; 2264 $record_in = $record_out = $faxexten = $faxemail = null;2318 $record_in = $record_out = $faxexten = $faxemail = $mohclass = null; 2265 2319 2266 2320 // Init vars from $_REQUEST[] … … 2329 2383 $currentcomponent->addjsfunc('onsubmit()', "\treturn checkBlankUserPwd();\n", 9); 2330 2384 } 2331 $currentcomponent->addguielem($section, new gui_textbox('name', $name, 'Display Name', 'The caller id name for calls from this user will be set to this name. Only enter the name, NOT the number.', '!isCallerID()', $msgInvalid OutboundCID, false));2385 $currentcomponent->addguielem($section, new gui_textbox('name', $name, 'Display Name', 'The caller id name for calls from this user will be set to this name. Only enter the name, NOT the number.', '!isCallerID()', $msgInvalidDispName, false)); 2332 2386 2333 2387 $section = 'Extension Options'; 2334 2388 $currentcomponent->addguielem($section, new gui_textbox('directdid', $directdid, 'Direct DID', "The direct DID that is associated with this extension. The DID should be in the same format as provided by the provider (e.g. full number, 4 digits for 10x4, etc).<br><br>Format should be: <b>XXXXXXXXXX</b><br><br>Leave this field blank to disable the direct DID feature for this extension. All non-numeric characters will be stripped."), 3); 2335 2389 $currentcomponent->addguielem($section, new gui_textbox('didalert', $didalert, 'DID Alert Info', "Alert Info can be used for distinctive ring on SIP phones. Set this value to the desired Alert Info to be sent to the phone when this DID is called. Leave blank to use default values. Will have no effect if no Direct DID is set")); 2390 if (function_exists('music_list')) { 2391 $currentcomponent->addguielem($section, new gui_selectbox('mohclass', $currentcomponent->getoptlist('mohclass'), $mohclass, 'Music on Hold', "Set the MoH class that will be used for calls that come in on this Direct DID. For example, choose a type appropriate for a originating country which may have announcements in their language. Only effects MoH class when the call came in from the Direct DID.", false)); 2392 } 2336 2393 $currentcomponent->addguielem($section, new gui_textbox('outboundcid', $outboundcid, 'Outbound CID', "Overrides the caller id when dialing out a trunk. Any setting here will override the common outbound caller id set in the Trunks admin.<br><br>Format: <b>\"caller name\" <#######></b><br><br>Leave this field blank to disable the outbound callerid feature for this user.", '!isCallerID()', $msgInvalidOutboundCID, true)); 2337 2394 … … 2641 2698 core_devices_del($extdisplay); 2642 2699 needreload(); 2643 if ($deviceuser != 'new') { 2644 redirect_standard_continue(); 2645 } 2700 redirect_standard_continue(); 2646 2701 break; 2647 2702 case "edit": //just delete and re-add
