Ticket #2778: sqlite_trunk_query

File sqlite_trunk_query, 1.6 kB (added by tzafrir, 8 months ago)

sqlite3 patch in Debian package

Line 
1 Replace a complex query that doesn't work with two simpler ones and a
2 bit of PHP code.
3
4 Upstream issue: http://freepbx.org/trac/ticket/2778
5
6 --- trunk.orig/modules/core/functions.inc.php
7 +++ trunk/modules/core/functions.inc.php
8 @@ -1802,20 +1802,9 @@ function core_trunks_list($assoc = false
9        
10         if ($amp_conf["AMPDBENGINE"] == "sqlite3")
11         {
12 -               // TODO: sqlite work arround - diego
13 -               // TODO: WILL NOT WORK, need to remove the usage of SUBSTRING
14 -               // need to reorder the trunks in PHP code
15 -               $sqlstr  = "SELECT t.variable, t.value, d.value state FROM `globals` t ";
16 -               $sqlstr .= "JOIN (SELECT x.variable, x.value FROM globals x WHERE x.variable LIKE 'OUTDISABLE\_%') d ";
17 -               $sqlstr .= "ON substring(t.variable,5) = substring(d.variable,12) WHERE t.variable LIKE 'OUT\_%' ";
18 -               $sqlstr .= "UNION ALL ";
19 -               $sqlstr .= "SELECT v.variable, v.value, concat(substring(v.value,1,0),'off') state  FROM `globals` v ";
20 -               $sqlstr .= "WHERE v.variable LIKE 'OUT\_%' AND concat('OUTDISABLE_',substring(v.variable,5)) NOT IN ";
21 -               $sqlstr .= " ( SELECT variable from globals WHERE variable LIKE 'OUTDISABLE\_%' ) ";
22 -               $sqlstr .= "ORDER BY variable";
23 -
24 -               //$unique_trunks = sql("SELECT * FROM globals WHERE variable LIKE 'OUT_%' ORDER BY variable","getAll");
25 -               $unique_trunks = sql($sqlstr,"getAll");
26 +               $possible_trunks = sql("SELECT * FROM globals WHERE variable LIKE 'OUT_%' ORDER BY variable,value","getAll");
27 +               $disabled_trunks = sql("SELECT * FROM globals WHERE variable LIKE 'OUTDISABLE_%' ORDER BY variable,value","getAll");
28 +               $unique_trunks = array_diff($possible_trunks, $disabled_trunks);
29         }
30         else
31         {
Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads