Changeset 5723

Show
Ignore:
Timestamp:
02/24/08 06:46:56 (9 months ago)
Author:
p_lindheimer
Message:

Merged revisions 5454-5487,5489-5722 via svnmerge from
http://svn.freepbx.org/freepbx/branches/2.4

........

r5454 | p_lindheimer | 2007-12-11 10:52:27 -0800 (Tue, 11 Dec 2007) | 1 line


create 2.4 branch from trunk

........

r5455 | p_lindheimer | 2007-12-11 11:24:37 -0800 (Tue, 11 Dec 2007) | 1 line


add customappsreg module as part of standard build

........

r5456 | p_lindheimer | 2007-12-11 11:26:01 -0800 (Tue, 11 Dec 2007) | 1 line


Creating release 2.4.0beta1

........

r5473 | p_lindheimer | 2007-12-11 15:47:26 -0800 (Tue, 11 Dec 2007) | 1 line


fix install_amp so that it does not change the state of modules to enabled automatically when it is checking them

........

r5474 | p_lindheimer | 2007-12-11 16:03:52 -0800 (Tue, 11 Dec 2007) | 1 line


check for version_compare_freepbx in case functions.inc.php is included in an install_amp upgrade

........

r5480 | p_lindheimer | 2007-12-11 17:56:58 -0800 (Tue, 11 Dec 2007) | 1 line


we need to enable after installing the modules since the previous change

........

r5492 | p_lindheimer | 2007-12-14 13:48:39 -0800 (Fri, 14 Dec 2007) | 1 line


Create empty #include files for to address Asterisk 1.4 change: http://bugs.digium.com/view.php?id=11543

........

r5497 | p_lindheimer | 2007-12-14 14:45:05 -0800 (Fri, 14 Dec 2007) | 2 lines


Blocked revisions 5002,5004,5020,5028,5035-5037,5043,5077,5096,5101-5102,5108,5118,5123,5133-5134,5152,5154,5216,5236,5248,5295,5489 via svnmerge

........

r5504 | p_lindheimer | 2007-12-15 20:57:14 -0800 (Sat, 15 Dec 2007) | 1 line


#2554 execif to work with 1.6, adds SetCallerPres?, AddQueueMemeber?, RemoveQueueMember?, UserEvent?, MacroExit? and ParkedCall? to extensions class

........

r5510 | p_lindheimer | 2007-12-16 10:08:32 -0800 (Sun, 16 Dec 2007) | 1 line


reminder to change execif when Asterisk trunk fixed

........

r5515 | p_lindheimer | 2007-12-16 11:54:38 -0800 (Sun, 16 Dec 2007) | 1 line


add tooltip to module admin online update to provide informaiton of what is trasmitted

........

r5517 | p_lindheimer | 2007-12-16 12:07:58 -0800 (Sun, 16 Dec 2007) | 1 line


add tooltip to CHeck for updates online link to provide information of what needs to be trasmitted when checking for updates

........

r5520 | p_lindheimer | 2007-12-16 12:21:55 -0800 (Sun, 16 Dec 2007) | 1 line


formatting fix

........

r5522 | p_lindheimer | 2007-12-16 13:14:09 -0800 (Sun, 16 Dec 2007) | 1 line


oops, r5521 should have been svn mv not svn cp but deleting now has same effect

........

r5525 | p_lindheimer | 2007-12-16 13:22:18 -0800 (Sun, 16 Dec 2007) | 1 line


add default to userevent to remove warning

........

r5526 | p_lindheimer | 2007-12-16 13:26:53 -0800 (Sun, 16 Dec 2007) | 1 line


#2539 module.xml field to medium blob, and add beta2 upgrade script including migrating features.conf to core

........

r5533 | p_lindheimer | 2007-12-16 14:43:31 -0800 (Sun, 16 Dec 2007) | 1 line


Creating release 2.4.0beta2

........

r5555 | pnlarsson | 2007-12-26 15:17:10 -0800 (Wed, 26 Dec 2007) | 1 line


The ExecIf? issue has been resolved in http://svn.digium.com/view/asterisk?view=rev&rev=94814

........

r5564 | p_lindheimer | 2008-01-10 10:47:27 -0800 (Thu, 10 Jan 2008) | 1 line


add addSwitch to extensions class, similar to addInclude to introduce the Asterisk switch statement

........

r5570 | pnlarsson | 2008-01-12 08:37:41 -0800 (Sat, 12 Jan 2008) | 1 line


Fixes #2578, setting language in asterisk trunk/1.6

........

r5578 | p_lindheimer | 2008-01-12 14:09:37 -0800 (Sat, 12 Jan 2008) | 1 line


dumb spacing change

........

r5596 | p_lindheimer | 2008-01-14 16:21:33 -0800 (Mon, 14 Jan 2008) | 1 line


all contexts don't need to have custom in the string, this is very outdated

........

r5612 | pnlarsson | 2008-01-20 07:25:15 -0800 (Sun, 20 Jan 2008) | 1 line


Disabeling the check for asterisk version higher than 1.5 - to be able to install freepbx on the latest 1.6 beta

........

r5623 | p_lindheimer | 2008-01-27 09:52:58 -0800 (Sun, 27 Jan 2008) | 1 line


put asterisk version checking back in but allow 1.6 and below

........

r5624 | p_lindheimer | 2008-01-27 09:54:26 -0800 (Sun, 27 Jan 2008) | 1 line


reformat and add userfield=1 to have userfield saved to MySQL CDR

........

r5628 | p_lindheimer | 2008-01-27 10:52:07 -0800 (Sun, 27 Jan 2008) | 1 line


make 2.4.0rc1 upgrade directory

........

r5630 | p_lindheimer | 2008-01-27 11:30:13 -0800 (Sun, 27 Jan 2008) | 1 line


DUNDi and 1.6 support comment in CHANGES

........

r5631 | p_lindheimer | 2008-01-27 11:31:57 -0800 (Sun, 27 Jan 2008) | 1 line


Creating release 2.4.0rc1

........

r5642 | p_lindheimer | 2008-01-30 22:46:41 -0800 (Wed, 30 Jan 2008) | 1 line


#2659 Queues FOP information gone and #668 added back in along with Conferences and Parking

........

r5646 | pnlarsson | 2008-02-02 16:09:00 -0800 (Sat, 02 Feb 2008) | 1 line


#2599, adding support for detecting asterisk svn team branches

........

r5648 | p_lindheimer | 2008-02-07 08:52:14 -0800 (Thu, 07 Feb 2008) | 1 line


#2625 fixing spelling error tansmit to transmit

........

r5656 | p_lindheimer | 2008-02-08 07:42:18 -0800 (Fri, 08 Feb 2008) | 1 line


wrap update info in urlencode()

........

r5660 | p_lindheimer | 2008-02-09 13:25:57 -0800 (Sat, 09 Feb 2008) | 1 line


create 2.4.0 upgrade directory to bump version information

........

r5687 | p_lindheimer | 2008-02-09 15:37:15 -0800 (Sat, 09 Feb 2008) | 1 line


Creating release 2.4.0

........

r5701 | p_lindheimer | 2008-02-10 19:50:46 -0800 (Sun, 10 Feb 2008) | 1 line


module_xml needs to be mediumblob to handle larger xml files

........

r5704 | p_lindheimer | 2008-02-11 21:18:49 -0800 (Mon, 11 Feb 2008) | 1 line


#2676 webroot missing from GetOpt?

........

r5710 | p_lindheimer | 2008-02-18 08:51:20 -0800 (Mon, 18 Feb 2008) | 1 line


#2685 - pipe stderr to stdout when running retrieve conf so error messages encountered are included in the output display

........

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • freepbx/trunk

    • Property svnmerge-blocked changed from /freepbx/trunk:4134,4137-4139 to /freepbx/branches/2.3:4130,4132,4135,4997,5002,5004,5020,5028,5035-5037,5043,5077,5096,5101-5102,5108,5118,5123,5133-5134,5152,5154,5216,5236,5248,5295,5489 /freepbx/trunk:4134,4137-4139
    • Property svnmerge-integrated changed from /freepbx/branches/2.4:1-5453 to /freepbx/branches/2.4:1-5722
  • freepbx/trunk/CHANGES

    r5399 r5723  
    8888- Queues and the SIP, IAX2 and ZAP conf file generation has been replaced with proper queues_conf 
    8989  and core_conf classes 
     90 
     91- Added partial support for DUNDi via a DUNDi trunk, dundi.conf configuration is still manual 
     92 
     93- Support Asterisk 1.6 to the extent that it can be supported as it is in beta at the time of 
     94  2.4 release. But we will try to keep on top of 1.6 issues. 
    9095 
    9196- Misc other bug fixes and some feature requests that can be obtained through the SVN log. 
  • freepbx/trunk/SQL/newinstall.sql

    r5346 r5723  
    332332        `id` varchar(20) NOT NULL default 'xml', 
    333333        `time` int(11) NOT NULL default '0', 
    334         `data` blob NOT NULL, 
     334        `data` mediumblob NOT NULL, 
    335335  PRIMARY KEY  (`id`) 
    336336); 
  • freepbx/trunk/SQL/newinstall.sqlite3.sql

    r5346 r5723  
    328328        `id` varchar(20) NOT NULL default 'xml', 
    329329        `time` int(11) NOT NULL default '0', 
    330         `data` blob NOT NULL, 
     330        `data` mediumblob NOT NULL, 
    331331  PRIMARY KEY  (`id`) 
    332332); 
  • freepbx/trunk/amp_conf/astetc/cdr_mysql.conf

    r79 r5723  
    1  ;  
    2  ; Note - if the database server is hosted on the same machine as the  
    3  ; asterisk server, you can achieve a local Unix socket connection by  
    4  ; setting hostname=localhost  
    5  ;  
    6  ; port and sock are both optional parameters.  If hostname is specified  
    7  ; and is not "localhost", then cdr_mysql will attempt to connect to the  
    8  ; port specified or use the default port.  If hostname is not specified  
    9  ; or if hostname is "localhost", then cdr_mysql will attempt to connect  
    10  ; to the socket file specified by sock or otherwise use the default socket  
    11  ; file.  
    12  ;  
    13  [global]  
    14  hostname=localhost  
    15  dbname=asteriskcdrdb  
    16  password=AMPDBPASS 
    17  user=AMPDBUSER 
    18  ;port=3306  
    19  ;sock=/tmp/mysql.sock 
     1;  
     2; Note - if the database server is hosted on the same machine as the  
     3; asterisk server, you can achieve a local Unix socket connection by  
     4; setting hostname=localhost  
     5;  
     6; port and sock are both optional parameters.  If hostname is specified  
     7; and is not "localhost", then cdr_mysql will attempt to connect to the  
     8; port specified or use the default port.  If hostname is not specified  
     9; or if hostname is "localhost", then cdr_mysql will attempt to connect  
     10; to the socket file specified by sock or otherwise use the default socket  
     11; file.  
     12;  
     13[global]  
     14hostname=localhost  
     15dbname=asteriskcdrdb  
     16password=AMPDBPASS 
     17user=AMPDBUSER 
     18userfield=1 
     19;port=3306  
     20;sock=/tmp/mysql.sock 
  • freepbx/trunk/amp_conf/astetc/extensions_custom.conf.sample

    r257 r5723  
    22; extensions_custom.conf should be used to include customizations 
    33; to AMP's Asterisk dialplan. 
    4  
    5 ; All custom context should contain the string 'custom' in it's name  
    64 
    75; Extensions in AMP have access to the 'from-internal' context. 
  • freepbx/trunk/amp_conf/bin/retrieve_conf

    r5331 r5723  
    707707} 
    708708 
     709/* As of Asterisk 1.4.16 or there abouts, a missing #include file will make the reload fail. So 
     710   we need to make sure that we have such for everything that is in our configs. We will simply 
     711         look for the #include statements and touch the files vs. trying to inventory everything we may 
     712         need and then forgetting something. 
     713*/ 
     714 
     715exec("grep '#include' ".$amp_conf['ASTETCDIR']."/*.conf | sed 's/;.*//; s/#include//'",$output,$retcode); 
     716if ($retcode != 0) { 
     717        error("Error code $retcode: trying to search for missing #include files"); 
     718} 
     719 
     720foreach($output as $file) { 
     721        if (trim($file) == '') { 
     722                continue; 
     723        } 
     724        $parse1 = explode(':',$file); 
     725        $parse2 = explode(';',$parse1[1]); 
     726        $rawfile = trim($parse2[0]); 
     727        if ($rawfile == '') { 
     728                continue; 
     729        } 
     730 
     731        $target = ($rawfile[0] == '/') ? $rawfile : $amp_conf['ASTETCDIR']."/$rawfile"; 
     732 
     733        if (!file_exists($target)) { 
     734                exec("touch $target", $output, $retcode); 
     735                error("Error code $retcode: trying to create empty file $target"); 
     736        } 
     737} 
     738 
     739 
    709740// **** Set reload flag for AMP admin 
    710741needreload(); 
  • freepbx/trunk/amp_conf/bin/retrieve_op_conf_from_mysql.pl

    r4993 r5723  
    2929######## STYLE INFO ######### 
    3030$extenpos="2-40"; 
    31 $trunkpos="52-60,71-80"; 
    32 $confepos=""; 
    33 $queuepos="42-50,61-70"; 
     31#$trunkpos="52-60,71-80"; 
     32#$confepos=""; 
     33#$queuepos="42-50,61-70"; 
     34 
     35## SME server changes 
     36$trunkpos="53-60,72-80"; 
     37$parkingpos="50-51,69-71"; 
     38$confepos="46-48,65-68"; 
     39$queuepos="42-44,61-64"; 
     40 
     41# End of changes 
    3442 
    3543# Remove or add Zap trunks as needed 
     
    226234#Next, populate queues 
    227235@queues=();  
    228         if (table_exists($dbh,"extensions")) { 
    229                 $statement = "SELECT extension,descr from extensions where application='Queue' and flags <> 1 order by extension"; 
     236        if (table_exists($dbh,"queues_config")) { 
     237                $statement = "SELECT extension,descr from queues_config order by extension"; 
    230238                $result = $dbh->selectall_arrayref($statement); 
    231239                @resultSet = @{$result}; 
     
    236244        } 
    237245 
     246 
     247## SME server chnges 
     248 
     249#Next, populate conferences 
     250@conferences=(); 
     251        if(table_exists($dbh,"meetme")) { 
     252                $statement = "SELECT exten,description FROM meetme ORDER BY exten"; 
     253                $result = $dbh->selectall_arrayref($statement); 
     254                @resultSet = @{$result}; 
     255                if ( $#resultSet == -1 ) { 
     256                        print "Notice: no Conferences defined\n"; 
     257                } 
     258                push(@conferences, @{ $result }); 
     259        } 
     260 
     261 
     262#Next, populate parkings 
     263@parkings=(); 
     264        if(table_exists($dbh,"parkinglot")) { 
     265                $statement = "SELECT keyword,data FROM parkinglot"; 
     266                $result = $dbh->selectall_arrayref($statement); 
     267                @resultSet = @{$result}; 
     268                if ( $#resultSet == -1 ) { 
     269                        print "Notice: no Parkings defined\n"; 
     270                } 
     271                push(@parkings, @{ $result }); 
     272        } 
     273 
     274## End of changes 
    238275#Next, populate trunks (sip and iax) 
    239276@trunklist=(); 
     
    353390         
    354391         
     392        ## SME server changes 
     393         
     394                 
     395        ### Write Parkings lots 
     396        $btn=0; 
     397        my $parken ; 
     398        my $extpark ; 
     399        my $parkcontext ; 
     400        my $numberlots ; 
     401        foreach my $row ( @parkings ) { 
     402                if (@{$row}[0] eq "parkingenabled") { 
     403                        $parken = @{$row}[1] ; 
     404                } 
     405                if (@{$row}[0] eq "parkext") { 
     406                        $extpark = @{$row}[1] ; 
     407                } 
     408                if (@{$row}[0] eq "parkingcontext") { 
     409                        $parkcontext = @{$row}[1] ; 
     410                } 
     411                if (@{$row}[0] eq "numslots") { 
     412                        $numberlots = @{$row}[1] ; 
     413                } 
     414        } 
     415        if ($parken eq "s") { 
     416                for (my $i = 0 ; $i < $numberlots && $i < 5 ; $i++ ) { 
     417                        $btn=get_next_btn($parkingpos,$btn); 
     418                        $parknum = $extpark + $i ; 
     419                        $icon='1'; 
     420                        print EXTEN "[PARK$parknum]\nPosition=$btn\nLabel=\"Parked ($parknum)\"\nExtension=$parknum\nContext=$parkcontext\nIcon=$icon\nPanel_Context=$panelcontext\n"; 
     421                } 
     422        } 
     423         
     424        ## End of chagnes 
    355425        ### Write conferences (meetme) 
    356426 
  • freepbx/trunk/amp_conf/htdocs/admin/extensions.class.php

    r5317 r5723  
    9494        function addInclude($section, $incsection) { 
    9595                $this->_includes[$section][] = $incsection; 
     96        } 
     97 
     98        function addSwitch($section, $incsection) { 
     99                $this->_switches[$section][] = $incsection; 
    96100        } 
    97101 
     
    187191                                        foreach ($this->_includes[$section] as $include) { 
    188192                                                $output .= "include => ".$include."\n"; 
     193                                        } 
     194                                } 
     195                                if (isset($this->_switches[$section])) { 
     196                                        foreach ($this->_switches[$section] as $include) { 
     197                                                $output .= "switch => ".$include."\n"; 
    189198                                        } 
    190199                                } 
     
    516525} 
    517526 
     527class ext_parkedcall extends extension { 
     528        function output() { 
     529                return "ParkedCall(".$this->data.")"; 
     530        } 
     531} 
     532 
     533 
    518534class ext_resetcdr extends extension { 
    519535        function output() { 
     
    574590} 
    575591 
     592//      The app_false argument only works with asterisk 1.6 
     593// 
    576594class ext_execif { 
    577595        var $expr; 
    578         var $app; 
    579         var $data; 
    580          
    581         function ext_execif($expr, $app, $data='') { 
     596        var $app_true; 
     597        var $data_true; 
     598        var $app_false; 
     599        var $data_false; 
     600         
     601        function ext_execif($expr, $app_true, $data_true='', $app_false = '', $data_false = '') { 
    582602                $this->expr = $expr; 
    583                 $this->app = $app; 
    584                 $this->data = $data; 
    585         } 
    586          
    587         function output() { 
    588                 return "ExecIf(".$this->expr.",".$this->app.",".$this->data.")"; 
     603                $this->app_true = $app_true; 
     604                $this->data_true = $data_true; 
     605                $this->app_false = $app_false; 
     606                $this->data_false = $data_false; 
     607        } 
     608         
     609        function output() { 
     610                global $version; 
     611 
     612                if (version_compare($version, "1.6", "ge")) { 
     613                        if ($app_false != '') 
     614                                return "ExecIf({$this->expr}?{$this->app_true}({$this->data_true}):{$this->app_false}({$this->data_false}))"; 
     615                        else 
     616                                return "ExecIf({$this->expr}?{$this->app_true}({$this->data_true}))"; 
     617                } else { 
     618                        return "ExecIf({$this->expr},{$this->app_true},{$this->data_true})"; 
     619                } 
    589620        } 
    590621} 
     
    593624        function output() { 
    594625                return "Set(CALLERID(name)=".$this->data.")"; 
     626        } 
     627} 
     628 
     629class ext_setcallerpres extends extension { 
     630        function output() { 
     631                return "SetCallerPres({$this->data})"; 
    595632        } 
    596633} 
     
    627664                else 
    628665                        return "Queue(".$this->queuename.",".$this->options.",".$this->optionalurl.",".$this->announceoverride.")"; 
     666        } 
     667} 
     668 
     669class ext_addqueuemember extends extension { 
     670        var $queue; 
     671        var $channel; 
     672         
     673        function ext_addqueuemember($queue, $channel){ 
     674                $this->queue = $queue; 
     675                $this->channel = $channel; 
     676        } 
     677         
     678        function output() { 
     679                return "AddQueueMember({$this->queue},{$this->channel})"; 
     680        } 
     681} 
     682 
     683class ext_removequeuemember extends extension { 
     684        var $queue; 
     685        var $channel; 
     686         
     687        function ext_removequeuemember($queue, $channel){ 
     688                $this->queue = $queue; 
     689                $this->channel = $channel; 
     690        } 
     691         
     692        function output() { 
     693                return "RemoveQueueMember({$this->queue},{$this->channel})"; 
     694        } 
     695} 
     696 
     697class ext_userevent extends extension { 
     698        var $eventname; 
     699        var $body; 
     700         
     701        function ext_userevent($eventname, $body=""){ 
     702                $this->eventname = $eventname; 
     703                $this->body = $body; 
     704        } 
     705         
     706        function output() { 
     707                if ($this->body == '') 
     708                        return "UserEvent({$this->eventname})"; 
     709                else 
     710                        return "UserEvent({$this->eventname},{$this->body})"; 
     711        } 
     712} 
     713 
     714class ext_macroexit extends extension { 
     715        function output() { 
     716                return "MacroExit()"; 
    629717        } 
    630718} 
     
    10371125        } 
    10381126} 
     1127 
     1128class ext_setlanguage extends extension { 
     1129        function output() { 
     1130                global $version; 
     1131 
     1132                if (version_compare($version, "1.4", "ge")) { 
     1133                        return "Set(CHANNEL(language)={$this->data})"; 
     1134                } else { 
     1135                        return "Set(LANGUAGE()={$this->data})"; 
     1136                } 
     1137        } 
     1138} 
     1139 
    10391140 
    10401141/* example usage 
  • freepbx/trunk/amp_conf/htdocs/admin/functions.inc.php

    r5448 r5723  
    10291029                        } elseif (preg_match('/Asterisk SVN-trunk-r(-?(\S*))/', $verinfo, $matches)) { 
    10301030                                return array('engine'=>'asterisk', 'version' => '1.6', 'additional' => $matches[1]); 
     1031                        } elseif (preg_match('/Asterisk SVN-.+-(\d+(\.\d+)*)-r(-?(\S*))-(.+)/', $verinfo, $matches)) { 
     1032                                return array('engine'=>'asterisk', 'version' => $matches[1], 'additional' => $matches[3]); 
    10311033                        } 
    10321034 
     
    10381040 
    10391041 
    1040 /* verison_compare that works with freePBX version numbers 
    1041  */ 
    1042 function version_compare_freepbx($version1, $version2, $op = null) { 
    1043         $version1 = str_replace("rc","RC", strtolower($version1)); 
    1044         $version2 = str_replace("rc","RC", strtolower($version2)); 
    1045                 if (!is_null($op)) { 
    1046                         return version_compare($version1, $version2, $op); 
    1047                 } else { 
    1048                         return version_compare($version1, $version2); 
    1049                 } 
     1042if (!function_exists('version_compare_freepbx')) { 
     1043        /* verison_compare that works with freePBX version numbers 
     1044        */ 
     1045        function version_compare_freepbx($version1, $version2, $op = null) { 
     1046                $version1 = str_replace("rc","RC", strtolower($version1)); 
     1047                $version2 = str_replace("rc","RC", strtolower($version2)); 
     1048                        if (!is_null($op)) { 
     1049                                return version_compare($version1, $version2, $op); 
     1050                        } else { 
     1051                                return version_compare($version1, $version2); 
     1052                        } 
     1053        } 
    10501054} 
    10511055 
     
    11541158        } 
    11551159         
    1156         $retrieve = $amp_conf['AMPBIN'].'/retrieve_conf'; 
     1160        $retrieve = $amp_conf['AMPBIN'].'/retrieve_conf 2>&1'; 
    11571161        //exec($retrieve.'&>'.$asterisk_conf['astlogdir'].'/freepbx-retrieve.log', $output, $exit_val); 
    11581162        exec($retrieve, $output, $exit_val); 
     
    33153319        // Now we have the id and know if this is a firstime install so we can get the announcement 
    33163320        // 
    3317         $options = "?installid=".$installid
     3321        $options = "?installid=".urlencode($installid)
    33183322 
    33193323        if (trim($type) != "") { 
    3320                 $options .= "&type=".$type
     3324                $options .= "&type=".urlencode($type)
    33213325        } 
    33223326        if ($firstinstall) { 
     
    33253329        $engver=engine_getinfo(); 
    33263330        if ($engver['engine'] == 'asterisk') { 
    3327                 $options .="&astver=".$engver['version']
     3331                $options .="&astver=".urlencode($engver['version'])
    33283332        } 
    33293333 
  • freepbx/trunk/amp_conf/htdocs/admin/page.modules.php

    r5270 r5723  
    517517                echo "<a href='config.php?display=modules&amp;type=tool'>"._("Manage local modules")."</a>\n"; 
    518518                if (!EXTERNAL_PACKAGE_MANAGEMENT) { 
    519                         echo " | <a href='config.php?display=modules&amp;type=tool&amp;online=1'>"._("Check for updates online")."</a>\n"; 
     519                        echo " | <a class='info' href='config.php?display=modules&amp;type=tool&amp;online=1'>"._("Check for updates online")."<span>"._("Checking for updates will transmit your FreePBX and Asterisk version numbers along with a unique but random identifier. This is used to provide proper update information and track version usage to focus development and maintenance efforts. No private information is transmitted.")."</span></a>\n"; 
    520520                } 
    521521                                 
     
    576576                } else { 
    577577                        if (!EXTERNAL_PACKAGE_MANAGEMENT) { 
    578                                 echo "<a href='config.php?display=modules&amp;type=tool&amp;online=1'>"._("Check for updates online")."</a>\n"; 
     578                                echo "<a class='info' href='config.php?display=modules&amp;type=tool&amp;online=1'>"._("Check for updates online")."<span>"._("Checking for updates will transmit your FreePBX and Asterisk version numbers along with a unique but random identifier. This is used to provide proper update information and track version usage to focus development and maintenance efforts. No private information is transmitted.")."</span></a>\n"; 
    579579                        } 
    580580                        echo " | <a href='config.php?display=modules&amp;type=tool&amp;extdisplay=upload'>"._("Upload module")."</a><br />\n"; 
  • freepbx/trunk/amp_conf/htdocs_panel/op_buttons.cfg

    r2711 r5723  
    44include => op_buttons_custom.cfg 
    55 
    6 ; queues 
     6; Queues 
    77[rectangle] 
    88x=492 
    99y=32 
    10 width=244 
    11 height=278 
     10width=491 
     11height=111 
    1212line_width=0 
    1313line_color=ff1010 
     
    1818layer=bottom 
    1919 
    20 ; parked 
     20; Conferences 
    2121[rectangle] 
    22 x=736 
    23 y=32 
    24 width=247 
    25 height=278 
     22x=492 
     23y=144 
     24width=491 
     25height=111 
    2626line_width=0 
    27 line_color=ffff10 
    28 fade_color1=ffff10 
     27line_color=006666 
     28fade_color1=006666 
    2929fade_color2=a01000 
    3030rnd_border=2 
     
    3232layer=bottom 
    3333 
    34 ; trunks 
     34; Parking 
    3535[rectangle] 
    3636x=492 
    37 y=312 
     37y=256 
    3838width=491 
    39 height=283 
     39height=84 
    4040line_width=0 
    41 line_color=10ff10 
    42 fade_color1=10ff10 
    43 fade_color2=10ff00 
     41line_color=ffff10 
     42fade_color1=ffff10 
     43fade_color2=CC9933 
    4444rnd_border=2 
    4545alpha=20 
    4646layer=bottom 
    4747 
    48 ; extensions 
     48 
     49; Trunks 
     50[rectangle] 
     51x=492 
     52y=341 
     53width=491 
     54height=255 
     55line_width=0 
     56line_color=10ff10 
     57fade_color1=10ff10 
     58fade_color2=009900 
     59rnd_border=2 
     60alpha=20 
     61layer=bottom 
     62 
     63; Extensions 
    4964[rectangle] 
    5065x=-1 
     
    5570line_color=1010ff 
    5671fade_color1=1010ff 
    57 fade_color2=1010ff 
     72fade_color2=99CCCC 
    5873rnd_border=2 
    5974alpha=10 
     
    6277[LEGEND] 
    6378x=500 
    64 y=315 
     79y=342 
    6580text=Trunks 
    6681font_size=18 
     
    6984 
    7085[LEGEND] 
    71 x=745 
    72 y=32 
    73 text=Parking Lot 
     86x=500 
     87y=144 
     88text=Conferences 
    7489font_size=18 
    75 font_family=Times New Roman 
     90font_family=Arial 
     91use_embed_fonts=1 
     92 
     93[LEGEND] 
     94x=500 
     95y=256 
     96text=Parking lots 
     97font_size=18 
     98font_family=Arial 
    7699use_embed_fonts=1 
    77100 
     
    91114font_family=Arial 
    92115use_embed_fonts=1 
    93  
    94 [PARK71] 
    95 Position=62 
    96 extension=70 
    97 Label="Parked (71)" 
    98 Icon=1 
    99  
    100 [PARK72] 
    101 Position=63 
    102 extension=70 
    103 Label="Parked (72)" 
    104 Icon=1 
    105  
    106 [PARK73] 
    107 Position=64 
    108 extension=70 
    109 Label="Parked (73)" 
    110 Icon=1 
    111  
    112 [PARK74] 
    113 Position=65 
    114 extension=70 
    115 Label="Parked (74)" 
    116 Icon=1 
    117  
    118 [PARK75] 
    119 Position=66 
    120 extension=70 
    121 Label="Parked (75)" 
    122 Icon=1 
    123  
    124 [PARK76] 
    125 Position=67 
    126 extension=70 
    127 Label="Parked (76)" 
    128 Icon=1 
    129  
    130 [PARK77] 
    131 Position=68 
    132 extension=70 
    133 Label="Parked (77)" 
    134 Icon=1 
    135  
    136 [PARK78] 
    137 Position=69 
    138 extension=70 
    139 Label="Parked (78)" 
    140 Icon=1 
    141  
    142 [PARK79] 
    143 Position=70 
    144 extension=70 
    145 Label="Parked (79)" 
    146 Icon=1 
    147  
  • freepbx/trunk/buildtools/generate-release.sh

    r5124 r5723  
    1111framework_url=${module_url}/framework 
    1212dashboard_url=${module_url}/dashboard 
     13customappsreg_url=${module_url}/customappsreg 
    1314voicemail_url=${module_url}/voicemail 
    1415recordings_url=${module_url}/recordings 
     
    6869svn cp -m "Automatic packaging of framework with $ver"        $framework_url        http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/ 
    6970svn cp -m "Automatic packaging of dashboard with $ver"        $dashboard_url        http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/ 
     71svn cp -m "Automatic packaging of customappsreg with $ver"    $customappsreg_url    http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/ 
    7072svn cp -m "Automatic packaging of voicemail with $ver"        $voicemail_url        http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/ 
    7173svn cp -m "Automatic packaging of recordings with $ver"       $recordings_url       http://svn.freepbx.org/freepbx/tags/${ver}/amp_conf/htdocs/admin/modules/ 
  • freepbx/trunk/install_amp

    r5019 r5723  
    8888} 
    8989 
    90 function version_compare_freepbx($version1, $version2) { 
    91         $version1 = str_replace("rc","RC", strtolower($version1)); 
    92         $version2 = str_replace("rc","RC", strtolower($version2)); 
    93         return version_compare($version1, $version2); 
     90if (!function_exists('version_compare_freepbx')) { 
     91        /* verison_compare that works with freePBX version numbers 
     92        */ 
     93        function version_compare_freepbx($version1, $version2, $op = null) { 
     94                $version1 = str_replace("rc","RC", strtolower($version1)); 
     95                $version2 = str_replace("rc","RC", strtolower($version2)); 
     96                        if (!is_null($op)) { 
     97                                return version_compare($version1, $version2, $op); 
     98                        } else { 
     99                                return version_compare($version1, $version2); 
     100                        } 
     101        } 
    94102} 
    95103 
     
    455463                        if ($up_module != 'framework') { 
    456464                                system($amp_conf['AMPBIN']."/module_admin --no-warnings -f install $up_module"); 
     465                                system($amp_conf['AMPBIN']."/module_admin --no-warnings -f enable $up_module"); 
    457466                                out("installed"); 
    458467                        } else { 
     
    493502        // If we didn't return above, then we found the package as part of the install 
    494503        // tarball and want to update the version info since this might be overwriting 
    495         // and existing install that has a newever version. 
     504        // an existing install that has a newever version. 
    496505        // 
    497506        $sql = "SELECT version FROM modules WHERE modulename = '$module'"; 
     
    502511        $sql = ""; 
    503512        if (count($result) == 0) { 
    504                 $sql = "INSERT INTO modules (modulename, version, enabled) VALUES ('$module', '$version', 1)"; 
     513                // insert but disable as we have to first run install scripts which come later 
     514                $sql = "INSERT INTO modules (modulename, version, enabled) VALUES ('$module', '$version', 0)"; 
    505515        } else if ($result[0] != $version) { 
    506                 $sql = "UPDATE modules SET version = '$version', enabled = 1 WHERE modulename = '$module'"; 
     516                if (version_compare_freepbx($version, $result[0], "gt")) { 
     517                        // if new verison is greater than old, then we disable the module and it will get enabled next when installed 
     518                        // 
     519                        $sql = "UPDATE modules SET version = '$version', enabled = 0 WHERE modulename = '$module'"; 
     520                } else { 
     521                        // if new version is equal to or less than old, then we leave it in the enable/disable state it was in but just 
     522                        // reset the version number. 
     523                        // 
     524                        $sql = "UPDATE modules SET version = '$version', WHERE modulename = '$module'"; 
     525                } 
    507526        } 
    508527        if ($sql) { 
     
    550569// **** Parse out command-line options 
    551570$shortopts = "h?u:p:"; 
    552 $longopts = array("help","debug","dry-run","username=","password=","force-version=","dbhost=","no-files","dbname=","my-svn-is-correct","engine=","install-moh","make-links-devel","skip-module-install"); 
     571$longopts = array("help","debug","dry-run","username=","password=","force-version=","dbhost=","no-files","dbname=","my-svn-is-correct","engine=","webroot=","install-moh","make-links-devel","skip-module-install"); 
    553572 
    554573$args = Console_Getopt::getopt(Console_Getopt::readPHPArgv(), $shortopts, $longopts); 
     
    838857                fatal("Asterisk 1.2 or 1.4 is required for this version of FreePBX. Detected version is: ".$matches[1]); 
    839858        } 
    840         if (version_compare($matches[1], "1.5", "ge")) { 
    841                 fatal("Asterisk 1.2 or 1.4 is required for this version of FreePBX. Detected version is: ".$matches[1]); 
    842         } 
     859        if (version_compare($matches[1], "1.7", "ge")) { 
     860                fatal("Asterisk 1.2, 1.4, or 1.6 is required for this version of FreePBX. Detected version is: ".$matches[1]); 
     861        } 
     862        out("{$matches[1]}"); 
    843863} elseif (preg_match('/^Asterisk SVN.+/', $verinfo)) { 
    844864        out("FAIL");