| 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 |
{ |
|---|