root/modules/branches/2.2/timeconditions/functions.inc.php

Revision 2453, 6.1 kB (checked in by qldrob, 7 years ago)

Merged revisions 2449 via svnmerge from
https://svn.sourceforge.net/svnroot/amportal/modules/branches/2.1

........

r2449 | qldrob | 2006-09-15 20:09:25 +1000 (Fri, 15 Sep 2006) | 2 lines


Properly fix my unfixed timeconditions bug from earlier. Also fix #948.

........

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <?php /* $Id */
2
3 // returns a associative arrays with keys 'destination' and 'description'
4 function timeconditions_destinations() {
5     //get the list of meetmes
6     $results = timeconditions_list();
7
8     // return an associative array with destination and description
9     if (isset($results)) {
10         foreach($results as $result){
11                 $extens[] = array('destination' => 'timeconditions,'.$result['timeconditions_id'].',1', 'description' => $result['displayname']);
12         }
13         return $extens;
14     } else {
15         return null;
16     }
17 }
18
19
20 /*     Generates dialplan for conferences
21     We call this with retrieve_conf
22 */
23 function timeconditions_get_config($engine) {
24     global $ext// is this the best way to pass this?
25     global $conferences_conf;
26     switch($engine) {
27         case "asterisk":
28             $timelist = timeconditions_list();
29             if(is_array($timelist)) {
30                 foreach($timelist as $item) {
31                     $thisitem = timeconditions_get(ltrim($item['timeconditions_id']));
32                     // add dialplan
33                     $ext->add('timeconditions', $item['timeconditions_id'], '', new ext_gotoiftime($item['time'],$item['truegoto']));
34                     $ext->add('timeconditions', $item['timeconditions_id'], '', new ext_goto($item['falsegoto']));
35                 }
36             }
37         break;
38     }
39 }
40
41 //get the existing meetme extensions
42 function timeconditions_list() {
43     $results = sql("SELECT * FROM timeconditions","getAll",DB_FETCHMODE_ASSOC);
44     if(is_array($results)){
45         foreach($results as $result){
46             // check to see if we have a dept match for the current AMP User.
47             if (checkDept($result['deptname'])){
48                 // return this item's dialplan destination, and the description
49                 $allowed[] = $result;
50             }
51         }
52     }
53     if (isset($allowed)) {
54         return $allowed;
55     } else {
56         return null;
57     }
58 }
59
60 function timeconditions_get($id){
61     //get all the variables for the meetme
62     $results = sql("SELECT * FROM timeconditions WHERE timeconditions_id = '$id'","getRow",DB_FETCHMODE_ASSOC);
63     return $results;
64 }
65
66 function timeconditions_del($id){
67     $results = sql("DELETE FROM timeconditions WHERE timeconditions_id = \"$id\"","query");
68 }
69
70 function timeconditions_get_time( $hour_start, $minute_start, $hour_finish, $minute_finish, $wday_start, $wday_finish, $mday_start, $mday_finish, $month_start, $month_finish) {
71
72         //----- Time Hour Interval proccess ----
73         if ($minute_start == '-') {
74             $time_minute_start = "*";
75          } else {
76             $time_minute_start = sprintf("%02d",$minute_start);
77          }
78          if ($minute_finish == '-') {
79             $time_minute_finish = "*";
80          } else {
81              $time_minute_finish = sprintf("%02d",$minute_finish);
82          }
83          if ($hour_start == '-') {
84              $time_hour_start = '*';
85           } else {
86              $time_hour_start = sprintf("%02d",$hour_start) . ':' . $time_minute_start;
87           }
88           if ($hour_finish == '-') {
89              $time_hour_finish = '*';
90           } else {
91              $time_hour_finish = sprintf("%02d",$hour_finish) . ':' . $time_minute_finish;
92           }
93           if ($time_hour_start == $time_hour_finish) {
94               $time_hour = $time_hour_start;
95           } else {
96               $time_hour = $time_hour_start . '-' . $time_hour_finish;
97           }
98           //----- Time Week Day Interval proccess -----
99           if ($wday_start == '-') {
100               $time_wday_start = '*';
101            } else {
102               $time_wday_start = $wday_start;
103            }
104            if ($wday_finish == '-') {
105               $time_wday_finish = '*';
106            } else {
107               $time_wday_finish = $wday_finish;
108            }
109            if ($time_wday_start == $time_wday_finish) {
110                $time_wday = $time_wday_start;
111             } else {
112                $time_wday = $time_wday_start . '-' . $time_wday_finish;
113             }
114             //----- Time Month Day Interval proccess -----
115             if ($mday_start == '-') {
116                $time_mday_start = '*';
117             } else {
118                 $time_mday_start = $mday_start;
119             }
120             if ($mday_finish == '-') {
121                 $time_mday_finish = '*';
122             } else {
123                 $time_mday_finish = $mday_finish;
124             }
125             if ($time_mday_start == $time_mday_finish) {
126                 $time_mday = $time_mday_start;
127             } else {
128                 $time_mday = $time_mday_start . '-' . $time_mday_finish;
129             }
130             //----- Time Month Interval proccess -----
131             if ($month_start == '-') {
132                 $time_month_start = '*';
133             } else {
134                 $time_month_start = $month_start;
135             }
136             if ($month_finish == '-') {
137                 $time_month_finish = '*';
138             } else {
139                 $time_month_finish = $month_finish;
140             }
141             if ($time_month_start == $time_month_finish) {
142                 $time_month = $time_month_start;
143             } else {
144                 $time_month = $time_month_start . '-' . $time_month_finish;
145             }
146         $time = $time_hour . '|' . $time_wday . '|' . $time_mday . '|' . $time_month;
147         return $time;
148 }
149
150 function timeconditions_add($post){
151     if(!timeconditions_chk($post))
152         return false;
153     extract($post);
154
155         $time = timeconditions_get_time( $hour_start, $minute_start, $hour_finish, $minute_finish, $wday_start, $wday_finish, $mday_start, $mday_finish, $month_start, $month_finish);
156
157     if(empty($displayname)) $displayname = "unnamed";
158     $results = sql("INSERT INTO timeconditions (displayname,time,truegoto,falsegoto,deptname) values (\"$displayname\",\"$time\",\"${$goto0.'0'}\",\"${$goto1.'1'}\",\"$deptname\")");
159 }
160
161 function timeconditions_edit($id,$post){
162     if(!timeconditions_chk($post))
163         return false;
164     extract($post);
165
166         $time = timeconditions_get_time( $hour_start, $minute_start, $hour_finish, $minute_finish, $wday_start, $wday_finish, $mday_start, $mday_finish, $month_start, $month_finish);
167     
168     if(empty($displayname)) $displayname = "unnamed";
169     $results = sql("UPDATE timeconditions SET displayname = \"$displayname\", time = \"$time\", truegoto = \"${$goto0.'0'}\", falsegoto = \"${$goto1.'1'}\", deptname = \"$deptname\" WHERE timeconditions_id = \"$id\"");
170 }
171
172 // ensures post vars is valid
173 function timeconditions_chk($post){
174     return true;
175 }
176 ?>
177
Note: See TracBrowser for help on using the browser.