| | 2550 | /* Create a new did with values passed into $did_vars and defaults used otherwise |
|---|
| | 2551 | */ |
|---|
| | 2552 | function core_did_create_update($did_vars) { |
|---|
| | 2553 | $did_create['extension'] = isset($did_vars['extension']) ? $did_vars['extension'] : ''; |
|---|
| | 2554 | $did_create['cidnum'] = isset($did_vars['cidnum']) ? $did_vars['cidnum'] : ''; |
|---|
| | 2555 | |
|---|
| | 2556 | if (count(core_did_get($did_create['extension'], $did_create['$cidnum']))) { |
|---|
| | 2557 | return core_did_edit_properties($did_vars); //already exists so just edit properties |
|---|
| | 2558 | } else { |
|---|
| | 2559 | $did_create['faxexten'] = isset($did_vars['faxexten']) ? $did_vars['faxexten'] : ''; |
|---|
| | 2560 | $did_create['faxemail'] = isset($did_vars['faxemail']) ? $did_vars['faxemail'] : ''; |
|---|
| | 2561 | $did_create['answer'] = isset($did_vars['answer']) ? $did_vars['answer'] : '0'; |
|---|
| | 2562 | $did_create['wait'] = isset($did_vars['wait']) ? $did_vars['wait'] : '0'; |
|---|
| | 2563 | $did_create['privacyman'] = isset($did_vars['privacyman']) ? $did_vars['privacyman'] : ''; |
|---|
| | 2564 | $did_create['alertinfo'] = isset($did_vars['alertinfo']) ? $did_vars['alertinfo'] : ''; |
|---|
| | 2565 | $did_create['ringing'] = isset($did_vars['ringing']) ? $did_vars['ringing'] : ''; |
|---|
| | 2566 | $did_create['mohclass'] = isset($did_vars['mohclass']) ? $did_vars['mohclass'] : 'default'; |
|---|
| | 2567 | $did_create['description'] = isset($did_vars['description']) ? $did_vars['description'] : ''; |
|---|
| | 2568 | $did_create['grppre'] = isset($did_vars['grppre']) ? $did_vars['grppre'] : ''; |
|---|
| | 2569 | $did_create['delay_answer']= isset($did_vars['delay_answer'])? $did_vars['delay_answer']: '0'; |
|---|
| | 2570 | $did_create['pricid'] = isset($did_vars['pricid']) ? $did_vars['pricid'] : ''; |
|---|
| | 2571 | |
|---|
| | 2572 | $did_dest = isset($did_vars['destination']) ? $did_vars['destination'] : ''; |
|---|
| | 2573 | return core_did_add($did_vars, $did_dest); |
|---|
| | 2574 | } |
|---|
| | 2575 | } |
|---|
| | 2576 | |
|---|
| | 2577 | |
|---|
| | 2578 | /* Edits the poperties of a did, but not the did or cid nums since those could of course be |
|---|
| | 2579 | in conflict |
|---|
| | 2580 | */ |
|---|
| | 2581 | function core_did_edit_properties($did_vars) { |
|---|
| | 2582 | global $db; |
|---|
| | 2583 | |
|---|
| | 2584 | if (!is_array($did_vars)) { |
|---|
| | 2585 | return false; |
|---|
| | 2586 | } |
|---|
| | 2587 | |
|---|
| | 2588 | $extension = $db->escapeSimple(isset($did_vars['extension']) ? $did_vars['extension'] : ''); |
|---|
| | 2589 | $cidnum = $db->escapeSimple(isset($did_vars['cidnum']) ? $did_vars['cidnum'] : ''); |
|---|
| | 2590 | $sql = ""; |
|---|
| | 2591 | foreach ($did_vars as $key => $value) { |
|---|
| | 2592 | switch ($key) { |
|---|
| | 2593 | case 'faxexten': |
|---|
| | 2594 | case 'faxemail': |
|---|
| | 2595 | case 'answer': |
|---|
| | 2596 | case 'wait': |
|---|
| | 2597 | case 'privacyman': |
|---|
| | 2598 | case 'alertinfo': |
|---|
| | 2599 | case 'ringing': |
|---|
| | 2600 | case 'mohclass': |
|---|
| | 2601 | case 'description': |
|---|
| | 2602 | case 'grppre': |
|---|
| | 2603 | case 'delay_answer': |
|---|
| | 2604 | case 'pricid': |
|---|
| | 2605 | case 'destination': |
|---|
| | 2606 | $sql_value = $db->escapeSimple($value); |
|---|
| | 2607 | $sql .= " `$key` = '$sql_value',"; |
|---|
| | 2608 | break; |
|---|
| | 2609 | default: |
|---|
| | 2610 | } |
|---|
| | 2611 | } |
|---|
| | 2612 | if ($sql == '') { |
|---|
| | 2613 | return false; |
|---|
| | 2614 | } |
|---|
| | 2615 | $sql = substr($sql,0,(strlen($sql)-1)); //strip off tailing ',' |
|---|
| | 2616 | $sql_update = "UPDATE `incoming` SET"."$sql WHERE `extension` = '$extension' AND `cidnum` = '$cidnum'"; |
|---|
| | 2617 | return sql($sql_update); |
|---|
| | 2618 | } |
|---|
| | 2619 | |
|---|