Changeset 5723

Show
Ignore:
Timestamp:
02/24/08 08:46:56 (4 years 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");