Changeset 10122

Show
Ignore:
Timestamp:
07/13/10 18:02:33 (2 years ago)
Author:
p_lindheimer
Message:

Merged revisions 9746-9768,9770-10121 via svnmerge from
http://www.freepbx.org/v2/svn/freepbx/branches/2.8

................

r9750 | p_lindheimer | 2010-05-25 10:10:09 -0700 (Tue, 25 May 2010) | 1 line


closes #4256 make all versions of parse_amportal_conf() use the same preg_match() line using framework's functions.inc.php as authoritative

................

r9770 | mickecarlsson | 2010-05-26 11:17:11 -0700 (Wed, 26 May 2010) | 1 line


Reverted r7730 so that amportal setting SERVERINTITLE starts working again. See also #4299

................

r9771 | mbrevda | 2010-05-26 11:30:20 -0700 (Wed, 26 May 2010) | 1 line


re: #4300; bug fix for firefox. IE wont remember expanded state between page reload, everything else seems to be working.

................

r9772 | mickecarlsson | 2010-05-26 22:11:01 -0700 (Wed, 26 May 2010) | 1 line


Close #4299 adds hostname in header for gui

................

r9777 | p_lindheimer | 2010-05-28 11:34:16 -0700 (Fri, 28 May 2010) | 1 line


closes #4306 make lnav sections expandable/collapse-able

................

r9779 | p_lindheimer | 2010-05-29 09:33:15 -0700 (Sat, 29 May 2010) | 1 line


revert r9772 re #4299 we are not going to call hostname on every call in addition to it has the potential of messing up the display with an unknown length and could have other un-forseen consequences (and if we were going to do this, we should be using php gethostname() (and then defining a substitute for php versions that don't have that function

................

r9780 | p_lindheimer | 2010-05-29 10:01:36 -0700 (Sat, 29 May 2010) | 1 line


fixes #4307 unable to press apply configuration changes bar. Please open a new bug for IE, tested to work on FF, Safari, Chrome - so something is up with IE or there is some sort of bug/mis-matched html tag or something that the others are immune to...

................

r9781 | p_lindheimer | 2010-05-29 10:25:39 -0700 (Sat, 29 May 2010) | 1 line


fix some formatting so viewing source pages is easier, and adds a closing div that appeared to be missing

................

r9782 | p_lindheimer | 2010-05-29 10:51:30 -0700 (Sat, 29 May 2010) | 1 line


removes the div that was wrapping a group of li tags (I don't think you can do that) which was messing up IE, however IE still can not reload, the modal orange box never comes up, re #4307

................

r9784 | mickecarlsson | 2010-05-29 13:56:17 -0700 (Sat, 29 May 2010) | 1 line


Fixed spelling error

................

r9787 | p_lindheimer | 2010-05-30 09:26:29 -0700 (Sun, 30 May 2010) | 1 line


closes #4253 cleanup default amportal.conf file (note: the patch still did not apply but the full copy was used so it should be good but please confirm)

................

r9788 | p_lindheimer | 2010-05-30 10:45:15 -0700 (Sun, 30 May 2010) | 1 line


add title to categories saying they can click to expand/collapse the section

................

r9799 | p_lindheimer | 2010-06-01 13:06:54 -0700 (Tue, 01 Jun 2010) | 1 line


closes #4311 use freepbx_menu.conf to make modifications to left navigation menu, if file is not present then the code path remains unchanged

................

r9812 | p_lindheimer | 2010-06-02 10:22:00 -0700 (Wed, 02 Jun 2010) | 13 lines


Merged revisions 9634-9729,9733-9795,9798-9811 via svnmerge from
http://www.freepbx.org/v2/svn/freepbx/branches/2.7


........

r9634 | p_lindheimer | 2010-05-14 07:10:47 -0700 (Fri, 14 May 2010) | 1 line


fixes #4269 enclose clid_format in quotes

........

r9811 | p_lindheimer | 2010-06-02 10:09:25 -0700 (Wed, 02 Jun 2010) | 1 line


fixes #4255 enclose the full set of searchstrings in ()

........

................

r9814 | p_lindheimer | 2010-06-02 13:19:02 -0700 (Wed, 02 Jun 2010) | 1 line


dont't run category through htmlspecialchars as only moh uses it, do it there since it breaks other things re: #4179

................

r9831 | p_lindheimer | 2010-06-15 10:34:02 -0700 (Tue, 15 Jun 2010) | 1 line


fixes #4345 fail an install when install.php or install.sql (or unintall versions) fails

................

r9833 | GameGamer?43 | 2010-06-15 12:02:29 -0700 (Tue, 15 Jun 2010) | 1 line


closes #4333 - check if outboundCID is set and it's not set to nothing

................

r9834 | GameGamer?43 | 2010-06-15 12:08:17 -0700 (Tue, 15 Jun 2010) | 1 line


closes #4331 - added ext_meetmeadmin class, to handle the management of meetme conferences from within freepbx

................

r9836 | p_lindheimer | 2010-06-15 13:09:42 -0700 (Tue, 15 Jun 2010) | 1 line


closes #4339 add displayconnects=no as default value, only helps with 1.6+

................

r9877 | p_lindheimer | 2010-06-18 12:22:07 -0700 (Fri, 18 Jun 2010) | 1 line


add template for freepbx_menu.conf allowing lnav manipulation from the defaults re #4311

................

r9891 | p_lindheimer | 2010-06-22 11:46:43 -0700 (Tue, 22 Jun 2010) | 1 line


fixes #4366 and fixes #4354 guielements should not be trying to do translations on passed in values, this should be done in the calling module prior to passing in the value

................

r9917 | mbrevda | 2010-06-25 05:10:30 -0700 (Fri, 25 Jun 2010) | 1 line


re #4369, migrate before the user can hit reload

................

r9919 | mbrevda | 2010-06-25 08:02:08 -0700 (Fri, 25 Jun 2010) | 1 line


re #4369, remove time condition migration, that should be done from thre CC module; also remove core_get_routes function to avoid any conflicts with the same function name further down the line

................

r9922 | p_lindheimer | 2010-06-25 11:09:36 -0700 (Fri, 25 Jun 2010) | 1 line


define sql() if not defined, some install methods does not have this function defined

................

r9933 | p_lindheimer | 2010-06-25 12:52:35 -0700 (Fri, 25 Jun 2010) | 1 line


Creating release 2.8.0rc1

................

r9958 | mickecarlsson | 2010-06-26 06:29:32 -0700 (Sat, 26 Jun 2010) | 1 line


Updated amp.pot

................

r9959 | mickecarlsson | 2010-06-26 06:30:59 -0700 (Sat, 26 Jun 2010) | 1 line


Added missing license text

................

r9960 | mickecarlsson | 2010-06-26 06:32:21 -0700 (Sat, 26 Jun 2010) | 1 line


Updated language tool

................

r9961 | p_lindheimer | 2010-06-26 09:17:47 -0700 (Sat, 26 Jun 2010) | 1 line


closes #4376 setting repository select box to extended if such modules are present, also changes 'type' form tool to what ever is currently selected

................

r9967 | mickecarlsson | 2010-06-27 03:17:51 -0700 (Sun, 27 Jun 2010) | 1 line


Updated amp.pot with latest changes

................

r9970 | mickecarlsson | 2010-06-27 10:02:16 -0700 (Sun, 27 Jun 2010) | 1 line


Updated all amp languages for 2.8

................

r9977 | p_lindheimer | 2010-06-28 11:20:44 -0700 (Mon, 28 Jun 2010) | 1 line


fixes #4382 enapsulate symlinking/copying into a class with error reporting at end

................

r9985 | p_lindheimer | 2010-06-28 18:37:10 -0700 (Mon, 28 Jun 2010) | 1 line


fixes #4386 don't generate an orphaned basetag if no extenions exists, fail at that point instead

................

r9999 | p_lindheimer | 2010-06-29 14:49:29 -0700 (Tue, 29 Jun 2010) | 1 line


fixes #4389 dahdi compatibility mode broken, 1.4 still has legacy zap applications even when in DAHDI mode so can't count on those

................

r10003 | p_lindheimer | 2010-06-30 08:47:03 -0700 (Wed, 30 Jun 2010) | 1 line


include module js files after all the standard js files as they will typically require things like standard jquery libraries, etc.

................

r10005 | p_lindheimer | 2010-06-30 14:11:31 -0700 (Wed, 30 Jun 2010) | 1 line


perl version no longer used

................

r10007 | p_lindheimer | 2010-06-30 14:36:30 -0700 (Wed, 30 Jun 2010) | 1 line


make freepbx_featurecodes.conf a template so it does not get read every time unless use is using it

................

r10010 | p_lindheimer | 2010-06-30 15:16:06 -0700 (Wed, 30 Jun 2010) | 1 line


fixes #4388 don't symlink from other fw_fop, fw_ari, fw_langpack modules, they are like framework also re #4382 leftover code deleted

................

r10027 | mickecarlsson | 2010-07-03 01:48:04 -0700 (Sat, 03 Jul 2010) | 1 line


amportal.conf: small spelling error

................

r10028 | p_lindheimer | 2010-07-03 09:35:06 -0700 (Sat, 03 Jul 2010) | 1 line


remove warning from incorrect (but harmless) call to connectdirs::create() re #4400

................

r10037 | mickecarlsson | 2010-07-07 01:07:26 -0700 (Wed, 07 Jul 2010) | 1 line


Re #4402 change from split to explode in callmonitor.module

................

r10038 | p_lindheimer | 2010-07-07 14:44:25 -0700 (Wed, 07 Jul 2010) | 1 line


if destination file is a different symlink or an actual file, and the md5 of the files are identical, then don't complain, just write out an error log re #4388

................

r10040 | p_lindheimer | 2010-07-07 14:54:28 -0700 (Wed, 07 Jul 2010) | 9 lines


Merged revisions 10019 via svnmerge from
http://www.freepbx.org/v2/svn/freepbx/branches/2.7


........

r10019 | p_lindheimer | 2010-07-01 07:12:54 -0700 (Thu, 01 Jul 2010) | 1 line


fixes #4185 use DAHDI channels when compatibility mode is used

........

................

r10041 | mbrevda | 2010-07-08 03:07:17 -0700 (Thu, 08 Jul 2010) | 1 line


closes #4403; symlink ari_modules dir on reload

................

r10044 | p_lindheimer | 2010-07-08 10:45:30 -0700 (Thu, 08 Jul 2010) | 1 line


create 2.8.0 release dir and migration script to add preloads if needed to modules.conf re #3963 and re #4411

................

r10045 | mickecarlsson | 2010-07-08 11:54:17 -0700 (Thu, 08 Jul 2010) | 1 line


Fixes typo

................

r10047 | mickecarlsson | 2010-07-08 12:00:17 -0700 (Thu, 08 Jul 2010) | 1 line


Fix that typo again

................

r10050 | p_lindheimer | 2010-07-08 12:19:33 -0700 (Thu, 08 Jul 2010) | 1 line


change struture for ari module symlinks to accomodate other assets re #4403

................

r10053 | p_lindheimer | 2010-07-09 09:32:37 -0700 (Fri, 09 Jul 2010) | 1 line


fixes #4413 don't change permissions on hidden folders in ASTVARLIBDIR to keep from affecting anything in the .ssh folder

................

r10054 | p_lindheimer | 2010-07-09 16:53:14 -0700 (Fri, 09 Jul 2010) | 1 line


closes #4418 adds ability for modules to include js scripts into the <head> of the page

................

r10055 | p_lindheimer | 2010-07-09 23:21:44 -0700 (Fri, 09 Jul 2010) | 1 line


keep apply config bar from fading if DEVELRELOAD is set

................

r10100 | mbrevda | 2010-07-12 02:50:42 -0700 (Mon, 12 Jul 2010) | 1 line


closes #4423; dont display a blamk page in ari if fm is not enabled

................

r10101 | mbrevda | 2010-07-12 02:53:02 -0700 (Mon, 12 Jul 2010) | 1 line


closes #4423; dont display a blamk page in ari if fm is not enabled

................

r10108 | p_lindheimer | 2010-07-13 08:30:28 -0700 (Tue, 13 Jul 2010) | 1 line


provide the src module when reporting symlink errors

................

r10109 | p_lindheimer | 2010-07-13 09:58:44 -0700 (Tue, 13 Jul 2010) | 1 line


use the extended repository when checking modules if Third Party Modules are present (used by automatic update checker), re #4376 and will also help re #4385 since the modules will show as new if the normal repository is ever checked followed by the extended repository

................

r10111 | p_lindheimer | 2010-07-13 15:53:18 -0700 (Tue, 13 Jul 2010) | 1 line


Creating release 2.8.0

................

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • freepbx/trunk

    • Property svnmerge-integrated changed from /freepbx/branches/2.8:1-9745 to /freepbx/branches/2.8:1-10121
  • freepbx/trunk/amp_conf/astetc/manager.conf

    r9484 r10122  
    1414port = 5038 
    1515bindaddr = 0.0.0.0 
     16displayconnects=no ;only effects 1.6+ 
    1617 
    1718[AMPMGRUSER] 
  • freepbx/trunk/amp_conf/bin/archive_recordings

    r7346 r10122  
    5757  if (is_array($file)) { 
    5858    foreach ($file as $line) { 
    59       if (preg_match("/^\s*([a-zA-Z0-9_]+)=([a-zA-Z0-9 .&-@=_<>\"\']+)\s*$/",$line,$matches)) { 
     59      if (preg_match("/^\s*([a-zA-Z0-9_]+)=([a-zA-Z0-9 .&-@=_!<>\"\']+)\s*$/",$line,$matches)) { 
    6060        $conf[ $matches[1] ] = $matches[2]; 
    6161      } 
  • freepbx/trunk/amp_conf/bin/freepbx_engine

    r9260 r10122  
    8080  chmod -R g+w $ASTETCDIR 
    8181  chown -R $AMPASTERISKUSER:$AMPASTERISKGROUP $ASTVARLIBDIR 
    82   chmod -R g+w $ASTVARLIBDIR 
     82  chmod g+w $ASTVARLIBDIR 
     83  chmod -R g+w $ASTVARLIBDIR/* 
    8384  chown -R $AMPASTERISKUSER:$AMPASTERISKGROUP $ASTLOGDIR 
    8485  chmod -R g+w $ASTLOGDIR 
  • freepbx/trunk/amp_conf/bin/module_admin

    r8876 r10122  
    459459 
    460460function showList($online = false) { 
     461  $repo = "http://mirror.freepbx.org/"; 
    461462  $modules_local = module_getinfo(false,false,true); 
    462463  $modules = $modules_local; 
     464 
    463465  if ($online) { 
    464     $modules_online = module_getonlinexml(); 
     466    $has_extended_modules = false; 
     467    foreach ($modules as $rawname => $attribs) { 
     468      if ($attribs['category'] == 'Third Party Addon') { 
     469        $repo .= "extended-"; 
     470        break; 
     471      } 
     472    } 
     473    $modules_online = module_getonlinexml(false, $repo); 
    465474    if (isset($modules_online)) { 
    466475      $modules += $modules_online; 
  • freepbx/trunk/amp_conf/bin/retrieve_conf

    r9608 r10122  
    11#!/usr/bin/php -q 
    2  
    32<?php 
     3 
     4class connectdirs { 
     5 
     6  var $nt; 
     7  var $symlink_dirs; 
     8  var $cp_dirs; 
     9 
     10  var $cp_errors = ''; 
     11  var $symlink_error_modules = ''; 
     12     
     13  function &create() { 
     14    static $obj; 
     15    if (!isset($obj)) { 
     16      $obj = new connectdirs(); 
     17    } 
     18    return $obj; 
     19  } 
     20 
     21  function connectdirs() { 
     22    global $amp_conf; 
     23    global $db; 
     24    $this->symlink_dirs['sounds'] = $amp_conf['ASTVARLIBDIR'].'/sounds'; 
     25    $this->symlink_dirs['bin']    = $amp_conf['AMPBIN']; 
     26    $this->symlink_dirs['etc']    = $amp_conf['ASTETCDIR']; 
     27    $this->symlink_dirs['images'] = $amp_conf['AMPWEBROOT']."/admin/images";  
     28    $this->symlink_dirs['ari/modules'] = $amp_conf['AMPWEBROOT']."/recordings/modules";  
     29    $this->symlink_dirs['ari/theme'] = $amp_conf['AMPWEBROOT']."/recordings/theme";  
     30    $this->symlink_dirs['ari/js'] = $amp_conf['AMPWEBROOT']."/recordings/theme/js";  
     31    $this->symlink_dirs['ari/images'] = $amp_conf['AMPWEBROOT']."/recordings/theme/images";  
     32     
     33    $this->cp_dirs['agi-bin'] = $amp_conf['ASTAGIDIR']; 
     34    $this->nt = notifications::create($db); 
     35  } 
     36 
     37  function symlink_subdirs($moduledir) { 
     38    foreach ($this->symlink_dirs as $subdir => $targetdir) { 
     39      $dir = addslash($moduledir).$subdir; 
     40      if (is_dir($dir)) { 
     41        $d = opendir($dir); 
     42        while ($file = readdir($d)) { 
     43          if ($file[0] != '.') { 
     44            $src = addslash($dir).$file; 
     45            $dest = addslash($targetdir).$file; 
     46            if (file_exists_wrapper($dest)) { 
     47              if ((!is_link($dest) || readlink($dest) != $src) && (md5_file($src) == md5_file($dest))) { 
     48                freepbx_log('retrieve-conf', 'devel-debug', "Can't symlink $src to $dest but files are the same so ignoring"); 
     49              } else if (!is_link($dest)) { 
     50                freepbx_log('retrieve-conf', 'error', $dest.' already exists, and is not a symlink!'); 
     51                $this->symlink_error_modules .= "<br />&nbsp;&nbsp;&nbsp;".$dest." from ".basename($moduledir)."/".$subdir; 
     52              } else if (readlink($dest) != $src) { 
     53                // TODO : is this the proper handling? should we just overwrite..? 
     54                freepbx_log('retrieve-conf', 'error', $dest.' already exists, and is linked to something else!'); 
     55                $this->symlink_error_modules .= "<br />&nbsp;&nbsp;&nbsp;".$dest." from ".basename($moduledir)."/".$subdir; 
     56              } else { 
     57                freepbx_log('retrieve-conf', 'devel-debug', $dest.' already points to '.$src.' - OK'); 
     58              } 
     59            } else { 
     60//            // symlink, unlike copy, doesn't overwrite - have to delete first 
     61//            if (is_link($dest) || file_exists($dest)) { 
     62//              unlink($dest); 
     63//            } 
     64              if (symlink($src, $dest)) { 
     65                freepbx_log('retrieve-conf', 'devel-debug', 'Symlinked '.$src.' to '.$dest); 
     66              } else { 
     67                freepbx_log('retreive-conf', 'devel-debug', 'Cannot symlink '.$src.' to '.$dest.'. Check Permissions?'); 
     68              } 
     69            } 
     70          } 
     71        } 
     72        closedir($d); 
     73      } 
     74    } 
     75  } 
     76 
     77  function symlink_check_errors() { 
     78    if ($this->symlink_error_modules) { 
     79      $this->nt->add_error('retrieve_conf', 'SYMLINK', _("Symlink from modules failed"), sprintf(_("retrieve_conf failed to sym link: %s<br \>This can result in FATAL failures to your PBX. If the target file exists and not identical, the symlink will not occur and you should rename the target file to allow the automatic sym link to occur and remove this error, unless this is an intentional customization."),$this->symlink_error_modules)); 
     80    } else { 
     81      $this->nt->delete('retrieve_conf', 'SYMLINK'); 
     82    } 
     83  } 
     84 
     85  function cp_subdirs($moduledir) { 
     86    foreach ($this->cp_dirs as $subdir => $targetdir) { 
     87      $dir = addslash($moduledir).$subdir; 
     88      if(is_dir($dir)){ 
     89        foreach(listdir($dir) as $idx => $file){ 
     90          $sourcefile = $file; 
     91          $filesubdir=str_replace($dir.'/', '', $file); 
     92          $targetfile = addslash($targetdir).$filesubdir; 
     93   
     94          if (file_exists_wrapper($targetfile)) { 
     95            if (is_link($targetfile)) { 
     96              if ($this->err_unlink($targetfile)) { 
     97                freepbx_log('retrieve-conf', 'devel-debug', "$targetfile was symbolic link, unlink successful"); 
     98              } else { 
     99                freepbx_log('retrieve-conf', 'error', "$targetfile is a symblolic link, failed to unlink!"); 
     100                break; 
     101              } 
     102            } 
     103          } 
     104          // OK, now either the file is a regular file or isn't there, so proceed 
     105          // 
     106          if ($this->err_copy($sourcefile,$targetfile)) { 
     107            freepbx_log('retrieve-conf', 'devel-debug', "$targetfile successfully copied"); 
     108            // copy was successful, make sure it has execute permissions 
     109            chmod($targetfile,0754); 
     110          } else { 
     111            freepbx_log('retrieve-conf', 'error', "$targetfile failed to copy from module directory"); 
     112          } 
     113        } 
     114      } 
     115    } 
     116  } 
     117  function cp_check_errors() { 
     118    if ($this->cp_errors) { 
     119      $this->nt->add_error('retrieve_conf', 'CPAGIBIN', _("Failed to copy from module agi-bin"), sprintf(_("Retrieve conf failed to copy file(s) from a module's agi-bin dir: %s"),$cp_errors)); 
     120    } else { 
     121      $this->nt->delete('retrieve_conf', 'CPAGIBIN'); 
     122    } 
     123  } 
     124  function add_cp_error($string) { 
     125    $this->cp_errors .= $string; 
     126  } 
     127 
     128  // wrap copy with error handler 
     129  // 
     130  function err_copy($source, $dest) { 
     131    $ret = false; 
     132    set_error_handler("report_errors"); 
     133    //if were copying a directory, just mkdir the directory 
     134    if(is_dir($source)){ 
     135      $ret=mkdir($dest,0754); 
     136    }elseif(copy($source, $dest)) { 
     137      $ret = chmod($dest,0754); 
     138    } 
     139    restore_error_handler(); 
     140    return $ret; 
     141  } 
     142 
     143  // wrap unlink with error handler 
     144  // 
     145  function err_unlink($dest) { 
     146    set_error_handler("report_errors"); 
     147    $ret = unlink($dest); 
     148    restore_error_handler(); 
     149    return $ret; 
     150  } 
     151} 
     152 
     153// I don't think this can be part of the class since it is called by an 
     154// error function as a callback (otherwise, can move it into above). 
     155// 
     156function report_errors($errno, $errstr, $errfile, $errline) { 
     157  global $cp_errors; 
     158  switch($db_engine) { 
     159    case "sqlite3":  
     160      $escaped_string = sqlite_real_escape($errstr); 
     161      break; 
     162    case "mysql": 
     163      $escaped_string = mysql_real_escape_string($errstr); 
     164      break; 
     165    case "pgsql": 
     166      $escaped_string = pgsql_escape_string($errstr); 
     167      break; 
     168  } 
     169  freepbx_log('retrieve-conf', 'error', "php reported: '$escaped_string' after copy or unlink attempt!"); 
     170  $cp_errors .= $errstr."\n"; 
     171  $conn_dirs = connectdirs::create(); 
     172  $conn_dirs->add_cp_error($errstr."\n"); 
     173} 
    4174 
    5175// Emulate gettext extension functions if gettext is not available 
     
    200370  $db_engine = $amp_conf["AMPDBENGINE"]; 
    201371} 
    202  
    203 // **** Create symlinks array 
    204 $symlink_dirs = array(); 
    205 $symlink_dirs['sounds'] = $amp_conf['ASTVARLIBDIR'].'/sounds'; 
    206 $symlink_dirs['bin']    = $amp_conf['AMPBIN']; 
    207 $symlink_dirs['etc']    = $amp_conf['ASTETCDIR']; 
    208 $symlink_dirs['images'] = $amp_conf['AMPWEBROOT']."/admin/images";  
    209  
    210 $cp_errors = ""; 
    211 $cp_dirs = array(); 
    212 $cp_dirs['agi-bin'] = $amp_conf['ASTAGIDIR']; 
    213372 
    214373switch ($db_engine) 
     
    268427// 
    269428$nt = notifications::create($db); 
     429$con_dirs = connectdirs::create(); 
    270430 
    271431/* 
     
    332492      // some conflicting names 
    333493      // 
    334       if ($key != 'framework') { 
    335         symlink_subdirs( $amp_conf['AMPWEBROOT'].'/admin/modules/'.$key ); 
    336         cp_subdirs( $amp_conf['AMPWEBROOT'].'/admin/modules/'.$key ); 
     494      switch ($key) { 
     495        case 'framework': 
     496        case 'fw_fop': 
     497        case 'fw_ari': 
     498        case 'fw_langpacks': 
     499          break; 
     500        default: 
     501        $con_dirs->symlink_subdirs( $amp_conf['AMPWEBROOT'].'/admin/modules/'.$key ); 
     502        $con_dirs->cp_subdirs( $amp_conf['AMPWEBROOT'].'/admin/modules/'.$key ); 
    337503      } 
    338504    } 
     
    341507// Now also make sure to symlink the CDR images which is not a proper module 
    342508// 
    343 symlink_subdirs( $amp_conf['AMPWEBROOT'].'/admin/cdr/'); 
     509$con_dirs->symlink_subdirs( $amp_conf['AMPWEBROOT'].'/admin/cdr/'); 
     510 
     511// Now that we have done all the symlinks and copies, we check and report if there were any errors 
     512// 
     513$con_dirs->symlink_check_errors(); 
     514$con_dirs->cp_check_errors(); 
     515 
    344516 
    345517// create an object of the extensions class 
     
    533705} 
    534706 
    535 function symlink_subdirs($moduledir) { 
    536   global $symlink_dirs; 
    537   $symlink_errors = false; 
    538  
    539   $nt = notifications::create($db); 
    540  
    541   $error_modules = ''; 
    542   foreach ($symlink_dirs as $subdir => $targetdir) { 
    543     $dir = addslash($moduledir).$subdir; 
    544     if (is_dir($dir)) { 
    545       $d = opendir($dir); 
    546       while ($file = readdir($d)) { 
    547         if ($file[0] != '.') { 
    548           $src = addslash($dir).$file; 
    549           $dest = addslash($targetdir).$file; 
    550           if (file_exists_wrapper($dest)) { 
    551             if (!is_link($dest)) { 
    552               freepbx_log('retrieve-conf', 'error', $dest.' already exists, and is not a symlink!'); 
    553               $error_modules .= "<br />&nbsp;&nbsp;&nbsp;".$dest; 
    554               $symlink_errors = true; 
    555             } else if (readlink($dest) != $src) { 
    556               // TODO : is this the proper handling? should we just overwrite..? 
    557               freepbx_log('retrieve-conf', 'error', $dest.' already exists, and is linked to something else!'); 
    558               $error_modules .= "<br />&nbsp;&nbsp;&nbsp;".$dest; 
    559               $symlink_errors = true; 
    560             } else { 
    561               freepbx_log('retrieve-conf', 'devel-debug', $dest.' already points to '.$src.' - OK'); 
    562             } 
    563           } else { 
    564 //            // symlink, unlike copy, doesn't overwrite - have to delete first 
    565 //            if (is_link($dest) || file_exists($dest)) { 
    566 //              unlink($dest); 
    567 //            } 
    568             if (symlink($src, $dest)) { 
    569               freepbx_log('retrieve-conf', 'devel-debug', 'Symlinked '.$src.' to '.$dest); 
    570             } else { 
    571               freepbx_log('retreive-conf', 'devel-debug', 'Cannot symlink '.$src.' to '.$dest.'. Check Permissions?'); 
    572             } 
    573           } 
    574         } 
    575       } 
    576       closedir($d); 
    577     } 
    578   } 
    579   if ($error_modules) { 
    580     $nt->add_error('retrieve_conf', 'SYMLINK', _("Symlink from modules failed"), sprintf(_("retrieve_conf failed to sym link: %s<br \>This can result in FATAL failures to your PBX. If the target file exists, the symlink will not occur and you should rename the target file to allow the automatic sym link to occur and remove this error, unless this is an intentional customization."),$error_modules)); 
    581   } else { 
    582     $nt->delete('retrieve_conf', 'SYMLINK'); 
    583   } 
    584 } 
    585  
    586 // wrap copy with error handler 
    587 // 
    588 function err_copy($source, $dest) { 
    589   $ret = false; 
    590   set_error_handler("report_errors"); 
    591   //if were copying a directory, just mkdir the directory 
    592   if(is_dir($source)){ 
    593     $ret=mkdir($dest,0754); 
    594   }elseif(copy($source, $dest)) { 
    595     $ret = chmod($dest,0754); 
    596   } 
    597   restore_error_handler(); 
    598   return $ret; 
    599 } 
    600  
    601 // wrap unlink with error handler 
    602 // 
    603 function err_unlink($dest) { 
    604   set_error_handler("report_errors"); 
    605   $ret = unlink($dest); 
    606   restore_error_handler(); 
    607   return $ret; 
    608 } 
    609  
    610  
    611707//based on: http://snippets.dzone.com/posts/show/155 
    612708function listdir($directory, $recursive=true) { 
     
    630726  } 
    631727  return array_reverse($array_items);//reverse so that we get directories BEFORE the files that are in them 
    632 } 
    633  
    634 function cp_subdirs($moduledir) { 
    635   global $cp_errors; 
    636   global $cp_dirs; 
    637  
    638   $cp_errors = ""; 
    639   foreach ($cp_dirs as $subdir => $targetdir) { 
    640     $dir = addslash($moduledir).$subdir; 
    641     if(is_dir($dir)){ 
    642       foreach(listdir($dir) as $idx => $file){ 
    643         $sourcefile = $file; 
    644         $filesubdir=str_replace($dir.'/', '', $file); 
    645         $targetfile = addslash($targetdir).$filesubdir; 
    646    
    647         if (file_exists_wrapper($targetfile)) { 
    648           if (is_link($targetfile)) { 
    649             if (err_unlink($targetfile)) { 
    650               freepbx_log('retrieve-conf', 'devel-debug', "$targetfile was symbolic link, unlink successful"); 
    651             } else { 
    652               freepbx_log('retrieve-conf', 'error', "$targetfile is a symblolic link, failed to unlink!"); 
    653               break; 
    654             } 
    655           } 
    656         } 
    657         // OK, now either the file is a regular file or isn't there, so proceed 
    658         // 
    659         if (err_copy($sourcefile,$targetfile)) { 
    660           freepbx_log('retrieve-conf', 'devel-debug', "$targetfile successfully copied"); 
    661           // copy was successful, make sure it has execute permissions 
    662           chmod($targetfile,0754); 
    663         } else { 
    664           freepbx_log('retrieve-conf', 'error', "$targetfile failed to copy from module directory"); 
    665         } 
    666       } 
    667     } 
    668   } 
    669   $nt = notifications::create($db); 
    670   if ($cp_errors) { 
    671     $nt->add_error('retrieve_conf', 'CPAGIBIN', _("Failed to copy from module agi-bin"), sprintf(_("Retrieve conf failed to copy file(s) from a module's agi-bin dir: %s"),$cp_errors)); 
    672   } else { 
    673     $nt->delete('retrieve_conf', 'CPAGIBIN'); 
    674   } 
    675 } 
    676  
    677 function report_errors($errno, $errstr, $errfile, $errline) { 
    678   global $cp_errors; 
    679   switch($db_engine) { 
    680     case "sqlite3":  
    681       $escaped_string = sqlite_real_escape($errstr); 
    682       break; 
    683     case "mysql": 
    684       $escaped_string = mysql_real_escape_string($errstr); 
    685       break; 
    686     case "pgsql": 
    687       $escaped_string = pgsql_escape_string($errstr); 
    688       break; 
    689   } 
    690   freepbx_log('retrieve-conf', 'error', "php reported: '$escaped_string' after copy or unlink attempt!"); 
    691   $cp_errors .= $errstr."\n"; 
    692728} 
    693729 
  • freepbx/trunk/amp_conf/bin/retrieve_op_conf_from_mysql.php

    r8599 r10122  
    192192            } 
    193193            if (!($inzaplines)) { 
     194               if ($chan_dahdi) { 
     195              array_push($zaplines,array( "DAHDI/$i","$newlabel" )); 
     196               } else { 
    194197              array_push($zaplines,array( "Zap/$i","$newlabel" )); 
     198               } 
    195199            } 
    196200          } //istrunk 
  • freepbx/trunk/amp_conf/htdocs/admin/cdr/lib/defines.php

    r9510 r10122  
    77        $file = file($filename); 
    88        foreach ($file as $line) { 
    9                 if (preg_match("/^\s*([a-zA-Z0-9]+)\s*=\s*(.*)\s*([;#].*)?/",$line,$matches)) { 
     9                if (preg_match("/^\s*([a-zA-Z0-9_]+)=([a-zA-Z0-9 .&-@=_!<>\"\']+)\s*$/",$line,$matches)) { 
    1010                        $conf[ $matches[1] ] = $matches[2]; 
    1111                } 
  • freepbx/trunk/amp_conf/htdocs/admin/common/libfreepbx.javascripts.js

    r9768 r10122  
    469469jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn["inner"+name]=function(){return this[0]?jQuery.css(this[0],type,false,"padding"):null;};jQuery.fn["outer"+name]=function(margin){return this[0]?jQuery.css(this[0],type,false,margin?"margin":"border"):null;};jQuery.fn[type]=function(size){var elem=this[0];if(!elem){return size==null?null:this;} 
    470470if(jQuery.isFunction(size)){return this.each(function(i){var self=jQuery(this);self[type](size.call(this,i,self[type]()));});} 
    471 return("scrollTo"in elem&&elem.document)?elem.document.compatMode==="CSS1Compat"&&elem.document.documentElement["client"+name]||elem.document.body["client"+name]:(elem.nodeType===9)?Math.max(elem.documentElement["client"+name],elem.body["scroll"+name],elem.documentElement["scroll"+name],elem.body["offset"+name],elem.documentElement["offset"+name]):size===undefined?jQuery.css(elem,type):this.css(type,typeof size==="string"?size:size+"px");};});window.jQuery=window.$=jQuery;})(window);jQuery.ui||(function(a){a.ui={version:"1.8",plugin:{add:function(c,d,f){var e=a.ui[c].prototype;for(var b in f){e.plugins[b]=e.plugins[b]||[];e.plugins[b].push([d,f[b]])}},call:function(b,d,c){var f=b.plugins[d];if(!f||!b.element[0].parentNode){return}for(var e=0;e<f.length;e++){if(b.options[f[e][0]]){f[e][1].apply(b.element,c)}}}},contains:function(d,c){return document.compareDocumentPosition?d.compareDocumentPosition(c)&16:d!==c&&d.contains(c)},hasScroll:function(e,c){if(a(e).css("overflow")=="hidden"){return false}var b=(c&&c=="left")?"scrollLeft":"scrollTop",d=false;if(e[b]>0){return true}e[b]=1;d=(e[b]>0);e[b]=0;return d},isOverAxis:function(c,b,d){return(c>b)&&(c<(b+d))},isOver:function(g,c,f,e,b,d){return a.ui.isOverAxis(g,f,b)&&a.ui.isOverAxis(c,e,d)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};a.fn.extend({_focus:a.fn.focus,focus:function(b,c){return typeof b==="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus();(c&&c.call(d))},b)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var b;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){b=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{b=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!b.length?a(document):b},zIndex:function(e){if(e!==undefined){return this.css("zIndex",e)}if(this.length){var c=a(this[0]),b,d;while(c.length&&c[0]!==document){b=c.css("position");if(b=="absolute"||b=="relative"||b=="fixed"){d=parseInt(c.css("zIndex"));if(!isNaN(d)&&d!=0){return d}}c=c.parent()}}return 0}});a.extend(a.expr[":"],{data:function(d,c,b){return!!a.data(d,b[3])},focusable:function(c){var d=c.nodeName.toLowerCase(),b=a.attr(c,"tabindex");return(/input|select|textarea|button|object/.test(d)?!c.disabled:"a"==d||"area"==d?c.href||!isNaN(b):!isNaN(b))&&!a(c)["area"==d?"parents":"closest"](":hidden").length},tabbable:function(c){var b=a.attr(c,"tabindex");return(isNaN(b)||b>=0)&&a(c).is(":focusable")}})})(jQuery);;(function(b){var a=b.fn.remove;b.fn.remove=function(c,d){return this.each(function(){if(!d){if(!c||b.filter(c,[this]).length){b("*",this).add(this).each(function(){b(this).triggerHandler("remove")})}}return a.call(b(this),c,d)})};b.widget=function(d,f,c){var e=d.split(".")[0],h;d=d.split(".")[1];h=e+"-"+d;if(!c){c=f;f=b.Widget}b.expr[":"][h]=function(i){return!!b.data(i,d)};b[e]=b[e]||{};b[e][d]=function(i,j){if(arguments.length){this._createWidget(i,j)}};var g=new f();g.options=b.extend({},g.options);b[e][d].prototype=b.extend(true,g,{namespace:e,widgetName:d,widgetEventPrefix:b[e][d].prototype.widgetEventPrefix||d,widgetBaseClass:h},c);b.widget.bridge(d,b[e][d])};b.widget.bridge=function(d,c){b.fn[d]=function(g){var e=typeof g==="string",f=Array.prototype.slice.call(arguments,1),h=this;g=!e&&f.length?b.extend.apply(null,[true,g].concat(f)):g;if(e&&g.substring(0,1)==="_"){return h}if(e){this.each(function(){var i=b.data(this,d),j=i&&b.isFunction(i[g])?i[g].apply(i,f):i;if(j!==i&&j!==undefined){h=j;return false}})}else{this.each(function(){var i=b.data(this,d);if(i){if(g){i.option(g)}i._init()}else{b.data(this,d,new c(g,this))}})}return h}};b.Widget=function(c,d){if(arguments.length){this._createWidget(c,d)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(d,e){this.element=b(e).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(e)[this.widgetName],d);var c=this;this.element.bind("remove."+this.widgetName,function(){c.destroy()});this._create();this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled")},widget:function(){return this.element},option:function(e,f){var d=e,c=this;if(arguments.length===0){return b.extend({},c.options)}if(typeof e==="string"){if(f===undefined){return this.options[e]}d={};d[e]=f}b.each(d,function(g,h){c._setOption(g,h)});return c},_setOption:function(c,d){this.options[c]=d;if(c==="disabled"){this.widget()[d?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",d)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(d,e,f){var h=this.options[d];e=b.Event(e);e.type=(d===this.widgetEventPrefix?d:this.widgetEventPrefix+d).toLowerCase();f=f||{};if(e.originalEvent){for(var c=b.event.props.length,g;c;){g=b.event.props[--c];e[g]=e.originalEvent[g]}}this.element.trigger(e,f);return!(b.isFunction(h)&&h.call(this.element[0],e,f)===false||e.isDefaultPrevented())}}})(jQuery);;(function(a){a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(c){return b._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(b._preventClickEvent){b._preventClickEvent=false;c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(d){d.originalEvent=d.originalEvent||{};if(d.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(d));this._mouseDownEvent=d;var c=this,e=(d.which==1),b=(typeof this.options.cancel=="string"?a(d.target).parents().add(d.target).filter(this.options.cancel).length:false);if(!e||b||!this._mouseCapture(d)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(d)!==false);if(!this._mouseStarted){d.preventDefault();return true}}this._mouseMoveDelegate=function(f){return c._mouseMove(f)};this._mouseUpDelegate=function(f){return c._mouseUp(f)};a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(a.browser.safari||d.preventDefault());d.originalEvent.mouseHandled=true;return true},_mouseMove:function(b){if(a.browser.msie&&!b.button){return this._mouseUp(b)}if(this._mouseStarted){this._mouseDrag(b);return b.preventDefault()}if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,b)!==false);(this._mouseStarted?this._mouseDrag(b):this._mouseUp(b))}return!this._mouseStarted},_mouseUp:function(b){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(b.target==this._mouseDownEvent.target);this._mouseStop(b)}return false},_mouseDistanceMet:function(b){return(Math.max(Math.abs(this._mouseDownEvent.pageX-b.pageX),Math.abs(this._mouseDownEvent.pageY-b.pageY))>=this.options.distance)},_mouseDelayMet:function(b){return this.mouseDelayMet},_mouseStart:function(b){},_mouseDrag:function(b){},_mouseStop:function(b){},_mouseCapture:function(b){return true}})})(jQuery);;(function(a){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000},_create:function(){var b=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--){this.items[b].item.removeData("sortable-item")}return this},_mouseCapture:function(e,f){if(this.reverting){return false}if(this.options.disabled||this.options.type=="static"){return false}this._refreshItems(e);var d=null,c=this,b=a(e.target).parents().each(function(){if(a.data(this,"sortable-item")==c){d=a(this);return false}});if(a.data(e.target,"sortable-item")==c){d=a(e.target)}if(!d){return false}if(this.options.handle&&!f){var g=false;a(this.options.handle,d).find("*").andSelf().each(function(){if(this==e.target){g=true}});if(!g){return false}}this.currentItem=d;this._removeCurrentsFromItems();return true},_mouseStart:function(e,f,b){var g=this.options,c=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(e);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");a.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(e);this.originalPageX=e.pageX;this.originalPageY=e.pageY;(g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt));this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide()}this._createPlaceholder();if(g.containment){this._setContainment()}if(g.cursor){if(a("body").css("cursor")){this._storedCursor=a("body").css("cursor")}a("body").css("cursor",g.cursor)}if(g.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity")}this.helper.css("opacity",g.opacity)}if(g.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex")}this.helper.css("zIndex",g.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){this.overflowOffset=this.scrollParent.offset()}this._trigger("start",e,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions()}if(!b){for(var d=this.containers.length-1;d>=0;d--){this.containers[d]._trigger("activate",e,c._uiHash(this))}}if(a.ui.ddmanager){a.ui.ddmanager.current=this}if(a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(e);return true},_mouseDrag:function(f){this.position=this._generatePosition(f);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}if(this.options.scroll){var g=this.options,b=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-f.pageY<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop+g.scrollSpeed}else{if(f.pageY-this.overflowOffset.top<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop-g.scrollSpeed}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-f.pageX<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft+g.scrollSpeed}else{if(f.pageX-this.overflowOffset.left<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft-g.scrollSpeed}}}else{if(f.pageY-a(document).scrollTop()<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed)}else{if(a(window).height()-(f.pageY-a(document).scrollTop())<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)}}if(f.pageX-a(document).scrollLeft()<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed)}else{if(a(window).width()-(f.pageX-a(document).scrollLeft())<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed)}}}if(b!==false&&a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,f)}}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d],c=e.item[0],h=this._intersectsWithPointer(e);if(!h){continue}if(c!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=c&&!a.ui.contains(this.placeholder[0],c)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],c):true)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(e)){this._rearrange(f,e)}else{break}this._trigger("change",f,this._uiHash());break}}this._contactContainers(f);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,f)}this._trigger("sort",f,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(c,d){if(!c){return}if(a.ui.ddmanager&&!this.options.dropBehaviour){a.ui.ddmanager.drop(this,c)}if(this.options.revert){var b=this;var e=b.placeholder.offset();b.reverting=true;a(this.helper).animate({left:e.left-this.offset.parent.left-b.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-b.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){b._clear(c)})}else{this._clear(c,d)}return false},cancel:function(){var b=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}for(var c=this.containers.length-1;c>=0;c--){this.containers[c]._trigger("deactivate",null,b._uiHash(this));if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",null,b._uiHash(this));this.containers[c].containerCache.over=0}}}if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0])}if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode){this.helper.remove()}a.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){a(this.domPosition.prev).after(this.currentItem)}else{a(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};a(b).each(function(){var e=(a(d.item||this).attr(d.attribute||"id")||"").match(d.expression||(/(.+)[-=_](.+)/));if(e){c.push((d.key||e[1]+"[]")+"="+(d.key&&d.expression?e[1]:e[2]))}});return c.join("&")},toArray:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};b.each(function(){c.push(a(d.item||this).attr(d.attribute||"id")||"")});return c},_intersectsWith:function(m){var e=this.positionAbs.left,d=e+this.helperProportions.width,k=this.positionAbs.top,j=k+this.helperProportions.height;var f=m.left,c=f+m.width,n=m.top,i=n+m.height;var o=this.offset.click.top,h=this.offset.click.left;var g=(k+o)>n&&(k+o)<i&&(e+h)>f&&(e+h)<c;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>m[this.floating?"width":"height"])){return g}else{return(f<e+(this.helperProportions.width/2)&&d-(this.helperProportions.width/2)<c&&n<k+(this.helperProportions.height/2)&&j-(this.helperProportions.height/2)<i)}},_intersectsWithPointer:function(d){var e=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top,d.height),c=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left,d.width),g=e&&c,b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(!g){return false}return this.floating?(((f&&f=="right")||b=="down")?2:1):(b&&(b=="down"?2:1))},_intersectsWithSides:function(e){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+(e.height/2),e.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+(e.width/2),e.width),b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(this.floating&&f){return((f=="right"&&d)||(f=="left"&&!d))}else{return b&&((b=="down"&&c)||(b=="up"&&!c))}},_getDragVerticalDirection:function(){var b=this.positionAbs.top-this.lastPositionAbs.top;return b!=0&&(b>0?"down":"up")},_getDragHorizontalDirection:function(){var b=this.positionAbs.left-this.lastPositionAbs.left;return b!=0&&(b>0?"right":"left")},refresh:function(b){this._refreshItems(b);this.refreshPositions();return this},_connectWith:function(){var b=this.options;return b.connectWith.constructor==String?[b.connectWith]:b.connectWith},_getItemsAsjQuery:function(b){var l=this;var g=[];var e=[];var h=this._connectWith();if(h&&b){for(var d=h.length-1;d>=0;d--){var k=a(h[d]);for(var c=k.length-1;c>=0;c--){var f=a.data(k[c],"sortable");if(f&&f!=this&&!f.options.disabled){e.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),f])}}}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var d=e.length-1;d>=0;d--){e[d][0].each(function(){g.push(this)})}return a(g)},_removeCurrentsFromItems:function(){var d=this.currentItem.find(":data(sortable-item)");for(var c=0;c<this.items.length;c++){for(var b=0;b<d.length;b++){if(d[b]==this.items[c].item[0]){this.items.splice(c,1)}}}},_refreshItems:function(b){this.items=[];this.containers=[this];var h=this.items;var p=this;var f=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]];var l=this._connectWith();if(l){for(var e=l.length-1;e>=0;e--){var m=a(l[e]);for(var d=m.length-1;d>=0;d--){var g=a.data(m[d],"sortable");if(g&&g!=this&&!g.options.disabled){f.push([a.isFunction(g.options.items)?g.options.items.call(g.element[0],b,{item:this.currentItem}):a(g.options.items,g.element),g]);this.containers.push(g)}}}}for(var e=f.length-1;e>=0;e--){var k=f[e][1];var c=f[e][0];for(var d=0,n=c.length;d<n;d++){var o=a(c[d]);o.data("sortable-item",k);h.push({item:o,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset()}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d];var c=this.options.toleranceElement?a(this.options.toleranceElement,e.item):e.item;if(!b){e.width=c.outerWidth();e.height=c.outerHeight()}var f=c.offset();e.left=f.left;e.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var d=this.containers.length-1;d>=0;d--){var f=this.containers[d].element.offset();this.containers[d].containerCache.left=f.left;this.containers[d].containerCache.top=f.top;this.containers[d].containerCache.width=this.containers[d].element.outerWidth();this.containers[d].containerCache.height=this.containers[d].element.outerHeight()}}return this},_createPlaceholder:function(d){var b=d||this,e=b.options;if(!e.placeholder||e.placeholder.constructor==String){var c=e.placeholder;e.placeholder={element:function(){var f=a(document.createElement(b.currentItem[0].nodeName)).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!c){f.style.visibility="hidden"}return f},update:function(f,g){if(c&&!e.forcePlaceholderSize){return}if(!g.height()){g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10))}if(!g.width()){g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=a(e.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);e.placeholder.update(b,b.placeholder)},_contactContainers:function(b){var d=null,k=null;for(var f=this.containers.length-1;f>=0;f--){if(a.ui.contains(this.currentItem[0],this.containers[f].element[0])){continue}if(this._intersectsWith(this.containers[f].containerCache)){if(d&&a.ui.contains(this.containers[f].element[0],d.element[0])){continue}d=this.containers[f];k=f}else{if(this.containers[f].containerCache.over){this.containers[f]._trigger("out",b,this._uiHash(this));this.containers[f].containerCache.over=0}}}if(!d){return}if(this.containers.length===1){this.containers[k]._trigger("over",b,this._uiHash(this));this.containers[k].containerCache.over=1}else{if(this.currentContainer!=this.containers[k]){var h=10000;var g=null;var c=this.positionAbs[this.containers[k].floating?"left":"top"];for(var e=this.items.length-1;e>=0;e--){if(!a.ui.contains(this.containers[k].element[0],this.items[e].item[0])){continue}var l=this.items[e][this.containers[k].floating?"left":"top"];if(Math.abs(l-c)<h){h=Math.abs(l-c);g=this.items[e]}}if(!g&&!this.options.dropOnEmpty){return}this.currentContainer=this.containers[k];g?this._rearrange(b,g,null,true):this._rearrange(b,null,this.containers[k].element,true);this._trigger("change",b,this._uiHash());this.containers[k]._trigger("change",b,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[k]._trigger("over",b,this._uiHash(this));this.containers[k].containerCache.over=1}}},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c,this.currentItem])):(d.helper=="clone"?this.currentItem.clone():this.currentItem);if(!b.parents("body").length){a(d.appendTo!="parent"?d.appendTo:this.currentItem[0].parentNode)[0].appendChild(b[0])}if(b[0]==this.currentItem[0]){this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}}if(b[0].style.width==""||d.forceHelperSize){b.width(this.currentItem.width())}if(b[0].style.height==""||d.forceHelperSize){b.height(this.currentItem.height())}return b},_adjustOffsetFromHelper:function(b){if(typeof b=="string"){b=b.split(" ")}if(a.isArray(b)){b={left:+b[0],top:+b[1]||0}}if("left"in b){this.offset.click.left=b.left+this.margins.left}if("right"in b){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if("top"in b){this.offset.click.top=b.top+this.margins.top}if("bottom"in b){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.currentItem.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)){var c=a(e.containment)[0];var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_rearrange:function(g,f,c,e){c?c[0].appendChild(this.placeholder[0]):f.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?f.item[0]:f.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var d=this,b=this.counter;window.setTimeout(function(){if(b==d.counter){d.refreshPositions(!e)}},0)},_clear:function(d,e){this.reverting=false;var f=[],b=this;if(!this._noFinalSort&&this.currentItem[0].parentNode){this.placeholder.before(this.currentItem)}this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var c in this._storedCSS){if(this._storedCSS[c]=="auto"||this._storedCSS[c]=="static"){this._storedCSS[c]=""}}this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}if(this.fromOutside&&!e){f.push(function(g){this._trigger("receive",g,this._uiHash(this.fromOutside))})}if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!e){f.push(function(g){this._trigger("update",g,this._uiHash())})}if(!a.ui.contains(this.element[0],this.currentItem[0])){if(!e){f.push(function(g){this._trigger("remove",g,this._uiHash())})}for(var c=this.containers.length-1;c>=0;c--){if(a.ui.contains(this.containers[c].element[0],this.currentItem[0])&&!e){f.push((function(g){return function(h){g._trigger("receive",h,this._uiHash(this))}}).call(this,this.containers[c]));f.push((function(g){return function(h){g._trigger("update",h,this._uiHash(this))}}).call(this,this.containers[c]))}}}for(var c=this.containers.length-1;c>=0;c--){if(!e){f.push((function(g){return function(h){g._trigger("deactivate",h,this._uiHash(this))}}).call(this,this.containers[c]))}if(this.containers[c].containerCache.over){f.push((function(g){return function(h){g._trigger("out",h,this._uiHash(this))}}).call(this,this.containers[c]));this.containers[c].containerCache.over=0}}if(this._storedCursor){a("body").css("cursor",this._storedCursor)}if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity)}if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex)}this.dragging=false;if(this.cancelHelperRemoval){if(!e){this._trigger("beforeStop",d,this._uiHash());for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}return false}if(!e){this._trigger("beforeStop",d,this._uiHash())}this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0]){this.helper.remove()}this.helper=null;if(!e){for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){if(a.Widget.prototype._trigger.apply(this,arguments)===false){this.cancel()}},_uiHash:function(c){var b=c||this;return{helper:b.helper,placeholder:b.placeholder||a([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:c?c.element:null}}});a.extend(a.ui.sortable,{version:"1.8"})})(jQuery);;(function(c){var b=0,a=0;c.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'},_create:function(){this._tabify(true)},_setOption:function(d,e){if(d=="selected"){if(this.options.collapsible&&e==this.options.selected){return}this.select(e)}else{this.options[d]=e;this._tabify()}},_tabId:function(d){return d.title&&d.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+(++b)},_sanitizeSelector:function(d){return d.replace(/:/g,"\\:")},_cookie:function(){var d=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+(++a));return c.cookie.apply(null,[d].concat(c.makeArray(arguments)))},_ui:function(e,d){return{tab:e,panel:d,index:this.anchors.index(e)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var d=c(this);d.html(d.data("label.tabs")).removeData("label.tabs")})},_tabify:function(q){this.list=this.element.find("ol,ul").eq(0);this.lis=c("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return c("a",this)[0]});this.panels=c([]);var r=this,f=this.options;var e=/^#.+/;this.anchors.each(function(u,o){var s=c(o).attr("href");var v=s.split("#")[0],w;if(v&&(v===location.toString().split("#")[0]||(w=c("base")[0])&&v===w.href)){s=o.hash;o.href=s}if(e.test(s)){r.panels=r.panels.add(r._sanitizeSelector(s))}else{if(s!="#"){c.data(o,"href.tabs",s);c.data(o,"load.tabs",s.replace(/#.*$/,""));var y=r._tabId(o);o.href="#"+y;var x=c("#"+y);if(!x.length){x=c(f.panelTemplate).attr("id",y).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(r.panels[u-1]||r.list);x.data("destroy.tabs",true)}r.panels=r.panels.add(x)}else{f.disabled.push(u)}}});if(q){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(f.selected===undefined){if(location.hash){this.anchors.each(function(s,o){if(o.hash==location.hash){f.selected=s;return false}})}if(typeof f.selected!="number"&&f.cookie){f.selected=parseInt(r._cookie(),10)}if(typeof f.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){f.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}f.selected=f.selected||(this.lis.length?0:-1)}else{if(f.selected===null){f.selected=-1}}f.selected=((f.selected>=0&&this.anchors[f.selected])||f.selected<0)?f.selected:0;f.disabled=c.unique(f.disabled.concat(c.map(this.lis.filter(".ui-state-disabled"),function(s,o){return r.lis.index(s)}))).sort();if(c.inArray(f.selected,f.disabled)!=-1){f.disabled.splice(c.inArray(f.selected,f.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(f.selected>=0&&this.anchors.length){this.panels.eq(f.selected).removeClass("ui-tabs-hide");this.lis.eq(f.selected).addClass("ui-tabs-selected ui-state-active");r.element.queue("tabs",function(){r._trigger("show",null,r._ui(r.anchors[f.selected],r.panels[f.selected]))});this.load(f.selected)}c(window).bind("unload",function(){r.lis.add(r.anchors).unbind(".tabs");r.lis=r.anchors=r.panels=null})}else{f.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[f.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(f.cookie){this._cookie(f.selected,f.cookie)}for(var j=0,p;(p=this.lis[j]);j++){c(p)[c.inArray(j,f.disabled)!=-1&&!c(p).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(f.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(f.event!="mouseover"){var h=function(o,i){if(i.is(":not(.ui-state-disabled)")){i.addClass("ui-state-"+o)}};var l=function(o,i){i.removeClass("ui-state-"+o)};this.lis.bind("mouseover.tabs",function(){h("hover",c(this))});this.lis.bind("mouseout.tabs",function(){l("hover",c(this))});this.anchors.bind("focus.tabs",function(){h("focus",c(this).closest("li"))});this.anchors.bind("blur.tabs",function(){l("focus",c(this).closest("li"))})}var d,k;if(f.fx){if(c.isArray(f.fx)){d=f.fx[0];k=f.fx[1]}else{d=k=f.fx}}function g(i,o){i.css({display:""});if(!c.support.opacity&&o.opacity){i[0].style.removeAttribute("filter")}}var m=k?function(i,o){c(i).closest("li").addClass("ui-tabs-selected ui-state-active");o.hide().removeClass("ui-tabs-hide").animate(k,k.duration||"normal",function(){g(o,k);r._trigger("show",null,r._ui(i,o[0]))})}:function(i,o){c(i).closest("li").addClass("ui-tabs-selected ui-state-active");o.removeClass("ui-tabs-hide");r._trigger("show",null,r._ui(i,o[0]))};var n=d?function(o,i){i.animate(d,d.duration||"normal",function(){r.lis.removeClass("ui-tabs-selected ui-state-active");i.addClass("ui-tabs-hide");g(i,d);r.element.dequeue("tabs")})}:function(o,i,s){r.lis.removeClass("ui-tabs-selected ui-state-active");i.addClass("ui-tabs-hide");r.element.dequeue("tabs")};this.anchors.bind(f.event+".tabs",function(){var o=this,u=c(this).closest("li"),i=r.panels.filter(":not(.ui-tabs-hide)"),s=c(r._sanitizeSelector(this.hash));if((u.hasClass("ui-tabs-selected")&&!f.collapsible)||u.hasClass("ui-state-disabled")||u.hasClass("ui-state-processing")||r._trigger("select",null,r._ui(this,s[0]))===false){this.blur();return false}f.selected=r.anchors.index(this);r.abort();if(f.collapsible){if(u.hasClass("ui-tabs-selected")){f.selected=-1;if(f.cookie){r._cookie(f.selected,f.cookie)}r.element.queue("tabs",function(){n(o,i)}).dequeue("tabs");this.blur();return false}else{if(!i.length){if(f.cookie){r._cookie(f.selected,f.cookie)}r.element.queue("tabs",function(){m(o,s)});r.load(r.anchors.index(this));this.blur();return false}}}if(f.cookie){r._cookie(f.selected,f.cookie)}if(s.length){if(i.length){r.element.queue("tabs",function(){n(o,i)})}r.element.queue("tabs",function(){m(o,s)});r.load(r.anchors.index(this))}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(c.browser.msie){this.blur()}});this.anchors.bind("click.tabs",function(){return false})},destroy:function(){var d=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=c.data(this,"href.tabs");if(e){this.href=e}var f=c(this).unbind(".tabs");c.each(["href","load","cache"],function(g,h){f.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){if(c.data(this,"destroy.tabs")){c(this).remove()}else{c(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}});if(d.cookie){this._cookie(null,d.cookie)}return this},add:function(g,f,e){if(e===undefined){e=this.anchors.length}var d=this,i=this.options,k=c(i.tabTemplate.replace(/#\{href\}/g,g).replace(/#\{label\}/g,f)),j=!g.indexOf("#")?g.replace("#",""):this._tabId(c("a",k)[0]);k.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var h=c("#"+j);if(!h.length){h=c(i.panelTemplate).attr("id",j).data("destroy.tabs",true)}h.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(e>=this.lis.length){k.appendTo(this.list);h.appendTo(this.list[0].parentNode)}else{k.insertBefore(this.lis[e]);h.insertBefore(this.panels[e])}i.disabled=c.map(i.disabled,function(m,l){return m>=e?++m:m});this._tabify();if(this.anchors.length==1){i.selected=0;k.addClass("ui-tabs-selected ui-state-active");h.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[0],d.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[e],this.panels[e]));return this},remove:function(d){var f=this.options,g=this.lis.eq(d).remove(),e=this.panels.eq(d).remove();if(g.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(d+(d+1<this.anchors.length?1:-1))}f.disabled=c.map(c.grep(f.disabled,function(j,h){return j!=d}),function(j,h){return j>=d?--j:j});this._tabify();this._trigger("remove",null,this._ui(g.find("a")[0],e[0]));return this},enable:function(d){var e=this.options;if(c.inArray(d,e.disabled)==-1){return}this.lis.eq(d).removeClass("ui-state-disabled");e.disabled=c.grep(e.disabled,function(g,f){return g!=d});this._trigger("enable",null,this._ui(this.anchors[d],this.panels[d]));return this},disable:function(e){var d=this,f=this.options;if(e!=f.selected){this.lis.eq(e).addClass("ui-state-disabled");f.disabled.push(e);f.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[e],this.panels[e]))}return this},select:function(d){if(typeof d=="string"){d=this.anchors.index(this.anchors.filter("[href$="+d+"]"))}else{if(d===null){d=-1}}if(d==-1&&this.options.collapsible){d=this.options.selected}this.anchors.eq(d).trigger(this.options.event+".tabs");return this},load:function(g){var e=this,i=this.options,d=this.anchors.eq(g)[0],f=c.data(d,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&c.data(d,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(g).addClass("ui-state-processing");if(i.spinner){var h=c("span",d);h.data("label.tabs",h.html()).html(i.spinner)}this.xhr=c.ajax(c.extend({},i.ajaxOptions,{url:f,success:function(k,j){c(e._sanitizeSelector(d.hash)).html(k);e._cleanup();if(i.cache){c.data(d,"cache.tabs",true)}e._trigger("load",null,e._ui(e.anchors[g],e.panels[g]));try{i.ajaxOptions.success(k,j)}catch(l){}},error:function(l,j,k){e._cleanup();e._trigger("load",null,e._ui(e.anchors[g],e.panels[g]));try{i.ajaxOptions.error(l,j,g,d)}catch(k){}}}));e.element.dequeue("tabs");return this},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(e,d){this.anchors.eq(e).removeData("cache.tabs").data("load.tabs",d);return this},length:function(){return this.anchors.length}});c.extend(c.ui.tabs,{version:"1.8"});c.extend(c.ui.tabs.prototype,{rotation:null,rotate:function(f,h){var d=this,i=this.options;var e=d._rotate||(d._rotate=function(j){clearTimeout(d.rotation);d.rotation=setTimeout(function(){var k=i.selected;d.select(++k<d.anchors.length?k:0)},f);if(j){j.stopPropagation()}});var g=d._unrotate||(d._unrotate=!h?function(j){if(j.clientX){d.rotate(null)}}:function(j){t=i.selected;e()});if(f){this.element.bind("tabsshow",e);this.anchors.bind(i.event+".tabs",g);e()}else{clearTimeout(d.rotation);this.element.unbind("tabsshow",e);this.anchors.unbind(i.event+".tabs",g);delete this._rotate;delete this._unrotate}return this}})})(jQuery);;Is_DOM=(document.getElementById)?true:false;Is_NS4=(document.layers)?true:false;Is_IE=(document.all)?true:false;Is_IE7=Is_IE&&window.XMLHttpRequest?true:false;var detect=navigator.userAgent.toLowerCase();if(checkIt('konqueror')) 
     471return("scrollTo"in elem&&elem.document)?elem.document.compatMode==="CSS1Compat"&&elem.document.documentElement["client"+name]||elem.document.body["client"+name]:(elem.nodeType===9)?Math.max(elem.documentElement["client"+name],elem.body["scroll"+name],elem.documentElement["scroll"+name],elem.body["offset"+name],elem.documentElement["offset"+name]):size===undefined?jQuery.css(elem,type):this.css(type,typeof size==="string"?size:size+"px");};});window.jQuery=window.$=jQuery;})(window);jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;} 
     472var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;} 
     473expires='; expires='+date.toUTCString();} 
     474var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}} 
     475return cookieValue;}};jQuery.ui||(function(a){a.ui={version:"1.8",plugin:{add:function(c,d,f){var e=a.ui[c].prototype;for(var b in f){e.plugins[b]=e.plugins[b]||[];e.plugins[b].push([d,f[b]])}},call:function(b,d,c){var f=b.plugins[d];if(!f||!b.element[0].parentNode){return}for(var e=0;e<f.length;e++){if(b.options[f[e][0]]){f[e][1].apply(b.element,c)}}}},contains:function(d,c){return document.compareDocumentPosition?d.compareDocumentPosition(c)&16:d!==c&&d.contains(c)},hasScroll:function(e,c){if(a(e).css("overflow")=="hidden"){return false}var b=(c&&c=="left")?"scrollLeft":"scrollTop",d=false;if(e[b]>0){return true}e[b]=1;d=(e[b]>0);e[b]=0;return d},isOverAxis:function(c,b,d){return(c>b)&&(c<(b+d))},isOver:function(g,c,f,e,b,d){return a.ui.isOverAxis(g,f,b)&&a.ui.isOverAxis(c,e,d)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};a.fn.extend({_focus:a.fn.focus,focus:function(b,c){return typeof b==="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus();(c&&c.call(d))},b)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var b;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){b=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{b=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!b.length?a(document):b},zIndex:function(e){if(e!==undefined){return this.css("zIndex",e)}if(this.length){var c=a(this[0]),b,d;while(c.length&&c[0]!==document){b=c.css("position");if(b=="absolute"||b=="relative"||b=="fixed"){d=parseInt(c.css("zIndex"));if(!isNaN(d)&&d!=0){return d}}c=c.parent()}}return 0}});a.extend(a.expr[":"],{data:function(d,c,b){return!!a.data(d,b[3])},focusable:function(c){var d=c.nodeName.toLowerCase(),b=a.attr(c,"tabindex");return(/input|select|textarea|button|object/.test(d)?!c.disabled:"a"==d||"area"==d?c.href||!isNaN(b):!isNaN(b))&&!a(c)["area"==d?"parents":"closest"](":hidden").length},tabbable:function(c){var b=a.attr(c,"tabindex");return(isNaN(b)||b>=0)&&a(c).is(":focusable")}})})(jQuery);;(function(b){var a=b.fn.remove;b.fn.remove=function(c,d){return this.each(function(){if(!d){if(!c||b.filter(c,[this]).length){b("*",this).add(this).each(function(){b(this).triggerHandler("remove")})}}return a.call(b(this),c,d)})};b.widget=function(d,f,c){var e=d.split(".")[0],h;d=d.split(".")[1];h=e+"-"+d;if(!c){c=f;f=b.Widget}b.expr[":"][h]=function(i){return!!b.data(i,d)};b[e]=b[e]||{};b[e][d]=function(i,j){if(arguments.length){this._createWidget(i,j)}};var g=new f();g.options=b.extend({},g.options);b[e][d].prototype=b.extend(true,g,{namespace:e,widgetName:d,widgetEventPrefix:b[e][d].prototype.widgetEventPrefix||d,widgetBaseClass:h},c);b.widget.bridge(d,b[e][d])};b.widget.bridge=function(d,c){b.fn[d]=function(g){var e=typeof g==="string",f=Array.prototype.slice.call(arguments,1),h=this;g=!e&&f.length?b.extend.apply(null,[true,g].concat(f)):g;if(e&&g.substring(0,1)==="_"){return h}if(e){this.each(function(){var i=b.data(this,d),j=i&&b.isFunction(i[g])?i[g].apply(i,f):i;if(j!==i&&j!==undefined){h=j;return false}})}else{this.each(function(){var i=b.data(this,d);if(i){if(g){i.option(g)}i._init()}else{b.data(this,d,new c(g,this))}})}return h}};b.Widget=function(c,d){if(arguments.length){this._createWidget(c,d)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(d,e){this.element=b(e).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(e)[this.widgetName],d);var c=this;this.element.bind("remove."+this.widgetName,function(){c.destroy()});this._create();this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled")},widget:function(){return this.element},option:function(e,f){var d=e,c=this;if(arguments.length===0){return b.extend({},c.options)}if(typeof e==="string"){if(f===undefined){return this.options[e]}d={};d[e]=f}b.each(d,function(g,h){c._setOption(g,h)});return c},_setOption:function(c,d){this.options[c]=d;if(c==="disabled"){this.widget()[d?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",d)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(d,e,f){var h=this.options[d];e=b.Event(e);e.type=(d===this.widgetEventPrefix?d:this.widgetEventPrefix+d).toLowerCase();f=f||{};if(e.originalEvent){for(var c=b.event.props.length,g;c;){g=b.event.props[--c];e[g]=e.originalEvent[g]}}this.element.trigger(e,f);return!(b.isFunction(h)&&h.call(this.element[0],e,f)===false||e.isDefaultPrevented())}}})(jQuery);;(function(a){a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(c){return b._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(b._preventClickEvent){b._preventClickEvent=false;c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(d){d.originalEvent=d.originalEvent||{};if(d.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(d));this._mouseDownEvent=d;var c=this,e=(d.which==1),b=(typeof this.options.cancel=="string"?a(d.target).parents().add(d.target).filter(this.options.cancel).length:false);if(!e||b||!this._mouseCapture(d)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(d)!==false);if(!this._mouseStarted){d.preventDefault();return true}}this._mouseMoveDelegate=function(f){return c._mouseMove(f)};this._mouseUpDelegate=function(f){return c._mouseUp(f)};a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(a.browser.safari||d.preventDefault());d.originalEvent.mouseHandled=true;return true},_mouseMove:function(b){if(a.browser.msie&&!b.button){return this._mouseUp(b)}if(this._mouseStarted){this._mouseDrag(b);return b.preventDefault()}if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,b)!==false);(this._mouseStarted?this._mouseDrag(b):this._mouseUp(b))}return!this._mouseStarted},_mouseUp:function(b){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(b.target==this._mouseDownEvent.target);this._mouseStop(b)}return false},_mouseDistanceMet:function(b){return(Math.max(Math.abs(this._mouseDownEvent.pageX-b.pageX),Math.abs(this._mouseDownEvent.pageY-b.pageY))>=this.options.distance)},_mouseDelayMet:function(b){return this.mouseDelayMet},_mouseStart:function(b){},_mouseDrag:function(b){},_mouseStop:function(b){},_mouseCapture:function(b){return true}})})(jQuery);;(function(a){a.widget("ui.sortable",a.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000},_create:function(){var b=this.options;this.containerCache={};this.element.addClass("ui-sortable");this.refresh();this.floating=this.items.length?(/left|right/).test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var b=this.items.length-1;b>=0;b--){this.items[b].item.removeData("sortable-item")}return this},_mouseCapture:function(e,f){if(this.reverting){return false}if(this.options.disabled||this.options.type=="static"){return false}this._refreshItems(e);var d=null,c=this,b=a(e.target).parents().each(function(){if(a.data(this,"sortable-item")==c){d=a(this);return false}});if(a.data(e.target,"sortable-item")==c){d=a(e.target)}if(!d){return false}if(this.options.handle&&!f){var g=false;a(this.options.handle,d).find("*").andSelf().each(function(){if(this==e.target){g=true}});if(!g){return false}}this.currentItem=d;this._removeCurrentsFromItems();return true},_mouseStart:function(e,f,b){var g=this.options,c=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(e);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");a.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(e);this.originalPageX=e.pageX;this.originalPageY=e.pageY;(g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt));this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide()}this._createPlaceholder();if(g.containment){this._setContainment()}if(g.cursor){if(a("body").css("cursor")){this._storedCursor=a("body").css("cursor")}a("body").css("cursor",g.cursor)}if(g.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity")}this.helper.css("opacity",g.opacity)}if(g.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex")}this.helper.css("zIndex",g.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){this.overflowOffset=this.scrollParent.offset()}this._trigger("start",e,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions()}if(!b){for(var d=this.containers.length-1;d>=0;d--){this.containers[d]._trigger("activate",e,c._uiHash(this))}}if(a.ui.ddmanager){a.ui.ddmanager.current=this}if(a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(e);return true},_mouseDrag:function(f){this.position=this._generatePosition(f);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}if(this.options.scroll){var g=this.options,b=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-f.pageY<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop+g.scrollSpeed}else{if(f.pageY-this.overflowOffset.top<g.scrollSensitivity){this.scrollParent[0].scrollTop=b=this.scrollParent[0].scrollTop-g.scrollSpeed}}if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-f.pageX<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft+g.scrollSpeed}else{if(f.pageX-this.overflowOffset.left<g.scrollSensitivity){this.scrollParent[0].scrollLeft=b=this.scrollParent[0].scrollLeft-g.scrollSpeed}}}else{if(f.pageY-a(document).scrollTop()<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed)}else{if(a(window).height()-(f.pageY-a(document).scrollTop())<g.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)}}if(f.pageX-a(document).scrollLeft()<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed)}else{if(a(window).width()-(f.pageX-a(document).scrollLeft())<g.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed)}}}if(b!==false&&a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,f)}}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d],c=e.item[0],h=this._intersectsWithPointer(e);if(!h){continue}if(c!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=c&&!a.ui.contains(this.placeholder[0],c)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],c):true)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(e)){this._rearrange(f,e)}else{break}this._trigger("change",f,this._uiHash());break}}this._contactContainers(f);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,f)}this._trigger("sort",f,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(c,d){if(!c){return}if(a.ui.ddmanager&&!this.options.dropBehaviour){a.ui.ddmanager.drop(this,c)}if(this.options.revert){var b=this;var e=b.placeholder.offset();b.reverting=true;a(this.helper).animate({left:e.left-this.offset.parent.left-b.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-b.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){b._clear(c)})}else{this._clear(c,d)}return false},cancel:function(){var b=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}for(var c=this.containers.length-1;c>=0;c--){this.containers[c]._trigger("deactivate",null,b._uiHash(this));if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",null,b._uiHash(this));this.containers[c].containerCache.over=0}}}if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0])}if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode){this.helper.remove()}a.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){a(this.domPosition.prev).after(this.currentItem)}else{a(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};a(b).each(function(){var e=(a(d.item||this).attr(d.attribute||"id")||"").match(d.expression||(/(.+)[-=_](.+)/));if(e){c.push((d.key||e[1]+"[]")+"="+(d.key&&d.expression?e[1]:e[2]))}});return c.join("&")},toArray:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};b.each(function(){c.push(a(d.item||this).attr(d.attribute||"id")||"")});return c},_intersectsWith:function(m){var e=this.positionAbs.left,d=e+this.helperProportions.width,k=this.positionAbs.top,j=k+this.helperProportions.height;var f=m.left,c=f+m.width,n=m.top,i=n+m.height;var o=this.offset.click.top,h=this.offset.click.left;var g=(k+o)>n&&(k+o)<i&&(e+h)>f&&(e+h)<c;if(this.options.tolerance=="pointer"||this.options.forcePointerForContainers||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>m[this.floating?"width":"height"])){return g}else{return(f<e+(this.helperProportions.width/2)&&d-(this.helperProportions.width/2)<c&&n<k+(this.helperProportions.height/2)&&j-(this.helperProportions.height/2)<i)}},_intersectsWithPointer:function(d){var e=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,d.top,d.height),c=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,d.left,d.width),g=e&&c,b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(!g){return false}return this.floating?(((f&&f=="right")||b=="down")?2:1):(b&&(b=="down"?2:1))},_intersectsWithSides:function(e){var c=a.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+(e.height/2),e.height),d=a.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+(e.width/2),e.width),b=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();if(this.floating&&f){return((f=="right"&&d)||(f=="left"&&!d))}else{return b&&((b=="down"&&c)||(b=="up"&&!c))}},_getDragVerticalDirection:function(){var b=this.positionAbs.top-this.lastPositionAbs.top;return b!=0&&(b>0?"down":"up")},_getDragHorizontalDirection:function(){var b=this.positionAbs.left-this.lastPositionAbs.left;return b!=0&&(b>0?"right":"left")},refresh:function(b){this._refreshItems(b);this.refreshPositions();return this},_connectWith:function(){var b=this.options;return b.connectWith.constructor==String?[b.connectWith]:b.connectWith},_getItemsAsjQuery:function(b){var l=this;var g=[];var e=[];var h=this._connectWith();if(h&&b){for(var d=h.length-1;d>=0;d--){var k=a(h[d]);for(var c=k.length-1;c>=0;c--){var f=a.data(k[c],"sortable");if(f&&f!=this&&!f.options.disabled){e.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),f])}}}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(var d=e.length-1;d>=0;d--){e[d][0].each(function(){g.push(this)})}return a(g)},_removeCurrentsFromItems:function(){var d=this.currentItem.find(":data(sortable-item)");for(var c=0;c<this.items.length;c++){for(var b=0;b<d.length;b++){if(d[b]==this.items[c].item[0]){this.items.splice(c,1)}}}},_refreshItems:function(b){this.items=[];this.containers=[this];var h=this.items;var p=this;var f=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]];var l=this._connectWith();if(l){for(var e=l.length-1;e>=0;e--){var m=a(l[e]);for(var d=m.length-1;d>=0;d--){var g=a.data(m[d],"sortable");if(g&&g!=this&&!g.options.disabled){f.push([a.isFunction(g.options.items)?g.options.items.call(g.element[0],b,{item:this.currentItem}):a(g.options.items,g.element),g]);this.containers.push(g)}}}}for(var e=f.length-1;e>=0;e--){var k=f[e][1];var c=f[e][0];for(var d=0,n=c.length;d<n;d++){var o=a(c[d]);o.data("sortable-item",k);h.push({item:o,instance:k,width:0,height:0,left:0,top:0})}}},refreshPositions:function(b){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset()}for(var d=this.items.length-1;d>=0;d--){var e=this.items[d];var c=this.options.toleranceElement?a(this.options.toleranceElement,e.item):e.item;if(!b){e.width=c.outerWidth();e.height=c.outerHeight()}var f=c.offset();e.left=f.left;e.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var d=this.containers.length-1;d>=0;d--){var f=this.containers[d].element.offset();this.containers[d].containerCache.left=f.left;this.containers[d].containerCache.top=f.top;this.containers[d].containerCache.width=this.containers[d].element.outerWidth();this.containers[d].containerCache.height=this.containers[d].element.outerHeight()}}return this},_createPlaceholder:function(d){var b=d||this,e=b.options;if(!e.placeholder||e.placeholder.constructor==String){var c=e.placeholder;e.placeholder={element:function(){var f=a(document.createElement(b.currentItem[0].nodeName)).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!c){f.style.visibility="hidden"}return f},update:function(f,g){if(c&&!e.forcePlaceholderSize){return}if(!g.height()){g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10))}if(!g.width()){g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=a(e.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);e.placeholder.update(b,b.placeholder)},_contactContainers:function(b){var d=null,k=null;for(var f=this.containers.length-1;f>=0;f--){if(a.ui.contains(this.currentItem[0],this.containers[f].element[0])){continue}if(this._intersectsWith(this.containers[f].containerCache)){if(d&&a.ui.contains(this.containers[f].element[0],d.element[0])){continue}d=this.containers[f];k=f}else{if(this.containers[f].containerCache.over){this.containers[f]._trigger("out",b,this._uiHash(this));this.containers[f].containerCache.over=0}}}if(!d){return}if(this.containers.length===1){this.containers[k]._trigger("over",b,this._uiHash(this));this.containers[k].containerCache.over=1}else{if(this.currentContainer!=this.containers[k]){var h=10000;var g=null;var c=this.positionAbs[this.containers[k].floating?"left":"top"];for(var e=this.items.length-1;e>=0;e--){if(!a.ui.contains(this.containers[k].element[0],this.items[e].item[0])){continue}var l=this.items[e][this.containers[k].floating?"left":"top"];if(Math.abs(l-c)<h){h=Math.abs(l-c);g=this.items[e]}}if(!g&&!this.options.dropOnEmpty){return}this.currentContainer=this.containers[k];g?this._rearrange(b,g,null,true):this._rearrange(b,null,this.containers[k].element,true);this._trigger("change",b,this._uiHash());this.containers[k]._trigger("change",b,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[k]._trigger("over",b,this._uiHash(this));this.containers[k].containerCache.over=1}}},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c,this.currentItem])):(d.helper=="clone"?this.currentItem.clone():this.currentItem);if(!b.parents("body").length){a(d.appendTo!="parent"?d.appendTo:this.currentItem[0].parentNode)[0].appendChild(b[0])}if(b[0]==this.currentItem[0]){this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}}if(b[0].style.width==""||d.forceHelperSize){b.width(this.currentItem.width())}if(b[0].style.height==""||d.forceHelperSize){b.height(this.currentItem.height())}return b},_adjustOffsetFromHelper:function(b){if(typeof b=="string"){b=b.split(" ")}if(a.isArray(b)){b={left:+b[0],top:+b[1]||0}}if("left"in b){this.offset.click.left=b.left+this.margins.left}if("right"in b){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if("top"in b){this.offset.click.top=b.top+this.margins.top}if("bottom"in b){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.currentItem.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.currentItem.css("marginLeft"),10)||0),top:(parseInt(this.currentItem.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)){var c=a(e.containment)[0];var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_rearrange:function(g,f,c,e){c?c[0].appendChild(this.placeholder[0]):f.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=="down"?f.item[0]:f.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var d=this,b=this.counter;window.setTimeout(function(){if(b==d.counter){d.refreshPositions(!e)}},0)},_clear:function(d,e){this.reverting=false;var f=[],b=this;if(!this._noFinalSort&&this.currentItem[0].parentNode){this.placeholder.before(this.currentItem)}this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var c in this._storedCSS){if(this._storedCSS[c]=="auto"||this._storedCSS[c]=="static"){this._storedCSS[c]=""}}this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}if(this.fromOutside&&!e){f.push(function(g){this._trigger("receive",g,this._uiHash(this.fromOutside))})}if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!e){f.push(function(g){this._trigger("update",g,this._uiHash())})}if(!a.ui.contains(this.element[0],this.currentItem[0])){if(!e){f.push(function(g){this._trigger("remove",g,this._uiHash())})}for(var c=this.containers.length-1;c>=0;c--){if(a.ui.contains(this.containers[c].element[0],this.currentItem[0])&&!e){f.push((function(g){return function(h){g._trigger("receive",h,this._uiHash(this))}}).call(this,this.containers[c]));f.push((function(g){return function(h){g._trigger("update",h,this._uiHash(this))}}).call(this,this.containers[c]))}}}for(var c=this.containers.length-1;c>=0;c--){if(!e){f.push((function(g){return function(h){g._trigger("deactivate",h,this._uiHash(this))}}).call(this,this.containers[c]))}if(this.containers[c].containerCache.over){f.push((function(g){return function(h){g._trigger("out",h,this._uiHash(this))}}).call(this,this.containers[c]));this.containers[c].containerCache.over=0}}if(this._storedCursor){a("body").css("cursor",this._storedCursor)}if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity)}if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex)}this.dragging=false;if(this.cancelHelperRemoval){if(!e){this._trigger("beforeStop",d,this._uiHash());for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}return false}if(!e){this._trigger("beforeStop",d,this._uiHash())}this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0]){this.helper.remove()}this.helper=null;if(!e){for(var c=0;c<f.length;c++){f[c].call(this,d)}this._trigger("stop",d,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){if(a.Widget.prototype._trigger.apply(this,arguments)===false){this.cancel()}},_uiHash:function(c){var b=c||this;return{helper:b.helper,placeholder:b.placeholder||a([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:c?c.element:null}}});a.extend(a.ui.sortable,{version:"1.8"})})(jQuery);;(function(c){var b=0,a=0;c.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'},_create:function(){this._tabify(true)},_setOption:function(d,e){if(d=="selected"){if(this.options.collapsible&&e==this.options.selected){return}this.select(e)}else{this.options[d]=e;this._tabify()}},_tabId:function(d){return d.title&&d.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+(++b)},_sanitizeSelector:function(d){return d.replace(/:/g,"\\:")},_cookie:function(){var d=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+(++a));return c.cookie.apply(null,[d].concat(c.makeArray(arguments)))},_ui:function(e,d){return{tab:e,panel:d,index:this.anchors.index(e)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var d=c(this);d.html(d.data("label.tabs")).removeData("label.tabs")})},_tabify:function(q){this.list=this.element.find("ol,ul").eq(0);this.lis=c("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return c("a",this)[0]});this.panels=c([]);var r=this,f=this.options;var e=/^#.+/;this.anchors.each(function(u,o){var s=c(o).attr("href");var v=s.split("#")[0],w;if(v&&(v===location.toString().split("#")[0]||(w=c("base")[0])&&v===w.href)){s=o.hash;o.href=s}if(e.test(s)){r.panels=r.panels.add(r._sanitizeSelector(s))}else{if(s!="#"){c.data(o,"href.tabs",s);c.data(o,"load.tabs",s.replace(/#.*$/,""));var y=r._tabId(o);o.href="#"+y;var x=c("#"+y);if(!x.length){x=c(f.panelTemplate).attr("id",y).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(r.panels[u-1]||r.list);x.data("destroy.tabs",true)}r.panels=r.panels.add(x)}else{f.disabled.push(u)}}});if(q){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(f.selected===undefined){if(location.hash){this.anchors.each(function(s,o){if(o.hash==location.hash){f.selected=s;return false}})}if(typeof f.selected!="number"&&f.cookie){f.selected=parseInt(r._cookie(),10)}if(typeof f.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){f.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}f.selected=f.selected||(this.lis.length?0:-1)}else{if(f.selected===null){f.selected=-1}}f.selected=((f.selected>=0&&this.anchors[f.selected])||f.selected<0)?f.selected:0;f.disabled=c.unique(f.disabled.concat(c.map(this.lis.filter(".ui-state-disabled"),function(s,o){return r.lis.index(s)}))).sort();if(c.inArray(f.selected,f.disabled)!=-1){f.disabled.splice(c.inArray(f.selected,f.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(f.selected>=0&&this.anchors.length){this.panels.eq(f.selected).removeClass("ui-tabs-hide");this.lis.eq(f.selected).addClass("ui-tabs-selected ui-state-active");r.element.queue("tabs",function(){r._trigger("show",null,r._ui(r.anchors[f.selected],r.panels[f.selected]))});this.load(f.selected)}c(window).bind("unload",function(){r.lis.add(r.anchors).unbind(".tabs");r.lis=r.anchors=r.panels=null})}else{f.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[f.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(f.cookie){this._cookie(f.selected,f.cookie)}for(var j=0,p;(p=this.lis[j]);j++){c(p)[c.inArray(j,f.disabled)!=-1&&!c(p).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(f.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(f.event!="mouseover"){var h=function(o,i){if(i.is(":not(.ui-state-disabled)")){i.addClass("ui-state-"+o)}};var l=function(o,i){i.removeClass("ui-state-"+o)};this.lis.bind("mouseover.tabs",function(){h("hover",c(this))});this.lis.bind("mouseout.tabs",function(){l("hover",c(this))});this.anchors.bind("focus.tabs",function(){h("focus",c(this).closest("li"))});this.anchors.bind("blur.tabs",function(){l("focus",c(this).closest("li"))})}var d,k;if(f.fx){if(c.isArray(f.fx)){d=f.fx[0];k=f.fx[1]}else{d=k=f.fx}}function g(i,o){i.css({display:""});if(!c.support.opacity&&o.opacity){i[0].style.removeAttribute("filter")}}var m=k?function(i,o){c(i).closest("li").addClass("ui-tabs-selected ui-state-active");o.hide().removeClass("ui-tabs-hide").animate(k,k.duration||"normal",function(){g(o,k);r._trigger("show",null,r._ui(i,o[0]))})}:function(i,o){c(i).closest("li").addClass("ui-tabs-selected ui-state-active");o.removeClass("ui-tabs-hide");r._trigger("show",null,r._ui(i,o[0]))};var n=d?function(o,i){i.animate(d,d.duration||"normal",function(){r.lis.removeClass("ui-tabs-selected ui-state-active");i.addClass("ui-tabs-hide");g(i,d);r.element.dequeue("tabs")})}:function(o,i,s){r.lis.removeClass("ui-tabs-selected ui-state-active");i.addClass("ui-tabs-hide");r.element.dequeue("tabs")};this.anchors.bind(f.event+".tabs",function(){var o=this,u=c(this).closest("li"),i=r.panels.filter(":not(.ui-tabs-hide)"),s=c(r._sanitizeSelector(this.hash));if((u.hasClass("ui-tabs-selected")&&!f.collapsible)||u.hasClass("ui-state-disabled")||u.hasClass("ui-state-processing")||r._trigger("select",null,r._ui(this,s[0]))===false){this.blur();return false}f.selected=r.anchors.index(this);r.abort();if(f.collapsible){if(u.hasClass("ui-tabs-selected")){f.selected=-1;if(f.cookie){r._cookie(f.selected,f.cookie)}r.element.queue("tabs",function(){n(o,i)}).dequeue("tabs");this.blur();return false}else{if(!i.length){if(f.cookie){r._cookie(f.selected,f.cookie)}r.element.queue("tabs",function(){m(o,s)});r.load(r.anchors.index(this));this.blur();return false}}}if(f.cookie){r._cookie(f.selected,f.cookie)}if(s.length){if(i.length){r.element.queue("tabs",function(){n(o,i)})}r.element.queue("tabs",function(){m(o,s)});r.load(r.anchors.index(this))}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(c.browser.msie){this.blur()}});this.anchors.bind("click.tabs",function(){return false})},destroy:function(){var d=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=c.data(this,"href.tabs");if(e){this.href=e}var f=c(this).unbind(".tabs");c.each(["href","load","cache"],function(g,h){f.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){if(c.data(this,"destroy.tabs")){c(this).remove()}else{c(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}});if(d.cookie){this._cookie(null,d.cookie)}return this},add:function(g,f,e){if(e===undefined){e=this.anchors.length}var d=this,i=this.options,k=c(i.tabTemplate.replace(/#\{href\}/g,g).replace(/#\{label\}/g,f)),j=!g.indexOf("#")?g.replace("#",""):this._tabId(c("a",k)[0]);k.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var h=c("#"+j);if(!h.length){h=c(i.panelTemplate).attr("id",j).data("destroy.tabs",true)}h.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(e>=this.lis.length){k.appendTo(this.list);h.appendTo(this.list[0].parentNode)}else{k.insertBefore(this.lis[e]);h.insertBefore(this.panels[e])}i.disabled=c.map(i.disabled,function(m,l){return m>=e?++m:m});this._tabify();if(this.anchors.length==1){i.selected=0;k.addClass("ui-tabs-selected ui-state-active");h.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[0],d.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[e],this.panels[e]));return this},remove:function(d){var f=this.options,g=this.lis.eq(d).remove(),e=this.panels.eq(d).remove();if(g.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(d+(d+1<this.anchors.length?1:-1))}f.disabled=c.map(c.grep(f.disabled,function(j,h){return j!=d}),function(j,h){return j>=d?--j:j});this._tabify();this._trigger("remove",null,this._ui(g.find("a")[0],e[0]));return this},enable:function(d){var e=this.options;if(c.inArray(d,e.disabled)==-1){return}this.lis.eq(d).removeClass("ui-state-disabled");e.disabled=c.grep(e.disabled,function(g,f){return g!=d});this._trigger("enable",null,this._ui(this.anchors[d],this.panels[d]));return this},disable:function(e){var d=this,f=this.options;if(e!=f.selected){this.lis.eq(e).addClass("ui-state-disabled");f.disabled.push(e);f.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[e],this.panels[e]))}return this},select:function(d){if(typeof d=="string"){d=this.anchors.index(this.anchors.filter("[href$="+d+"]"))}else{if(d===null){d=-1}}if(d==-1&&this.options.collapsible){d=this.options.selected}this.anchors.eq(d).trigger(this.options.event+".tabs");return this},load:function(g){var e=this,i=this.options,d=this.anchors.eq(g)[0],f=c.data(d,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&c.data(d,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(g).addClass("ui-state-processing");if(i.spinner){var h=c("span",d);h.data("label.tabs",h.html()).html(i.spinner)}this.xhr=c.ajax(c.extend({},i.ajaxOptions,{url:f,success:function(k,j){c(e._sanitizeSelector(d.hash)).html(k);e._cleanup();if(i.cache){c.data(d,"cache.tabs",true)}e._trigger("load",null,e._ui(e.anchors[g],e.panels[g]));try{i.ajaxOptions.success(k,j)}catch(l){}},error:function(l,j,k){e._cleanup();e._trigger("load",null,e._ui(e.anchors[g],e.panels[g]));try{i.ajaxOptions.error(l,j,g,d)}catch(k){}}}));e.element.dequeue("tabs");return this},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(e,d){this.anchors.eq(e).removeData("cache.tabs").data("load.tabs",d);return this},length:function(){return this.anchors.length}});c.extend(c.ui.tabs,{version:"1.8"});c.extend(c.ui.tabs.prototype,{rotation:null,rotate:function(f,h){var d=this,i=this.options;var e=d._rotate||(d._rotate=function(j){clearTimeout(d.rotation);d.rotation=setTimeout(function(){var k=i.selected;d.select(++k<d.anchors.length?k:0)},f);if(j){j.stopPropagation()}});var g=d._unrotate||(d._unrotate=!h?function(j){if(j.clientX){d.rotate(null)}}:function(j){t=i.selected;e()});if(f){this.element.bind("tabsshow",e);this.anchors.bind(i.event+".tabs",g);e()}else{clearTimeout(d.rotation);this.element.unbind("tabsshow",e);this.anchors.unbind(i.event+".tabs",g);delete this._rotate;delete this._unrotate}return this}})})(jQuery);;Is_DOM=(document.getElementById)?true:false;Is_NS4=(document.layers)?true:false;Is_IE=(document.all)?true:false;Is_IE7=Is_IE&&window.XMLHttpRequest?true:false;var detect=navigator.userAgent.toLowerCase();if(checkIt('konqueror')) 
    472476Is_IE=false;function checkIt(string) 
    473477{place=detect.indexOf(string)+1;thestring=string;return place;} 
     
    612616function isFilenameChar(c) 
    613617{return(((c>="0")&&(c<="9"))||((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z"))||(c=="_")||(c=="-"))} 
    614 $(document).ready(function(){$('.destdropdown').bind('blur click change keypress',function(){var name=$(this).attr('name');var id=name.replace('goto','');var dest=$(this).val();$('[name$='+id+'].destdropdown2').hide();$('[name='+dest+id+'].destdropdown2').show();});$('.destdropdown').bind('change',function(){if($(this).find('option:selected').val()=='Error'){$(this).css('background-color','red');}else{$(this).css('background-color','white');}});$("a.info").hover(function(){var pos=$(this).offset();var left=(200-pos.left)+"px";$(this).find("span").css("left",left).stop(true,true).delay(500).animate({opacity:"show"},750);},function(){$(this).find("span").stop(true,true).animate({opacity:"hide"},"fast");});$('#nav').tabs({cookie:{expires:30}});if($.cookie('leftNavShowAll')!='true'){$('.accordion').each(function(){accordInt($(this));});}else{$('#nav-showall').html(' - Collapse All');} 
    615 function accordInt(i){var tab=i.attr('data-nav-tab');i.accordion({header:'.category',autoHeight:false,active:parseInt($.cookie('lastMenu'+tab))});} 
    616 $(".category").click(function(){var tab=$(this).attr('data-nav-tab');$.cookie('lastMenu'+tab,$("div#nav-"+tab).accordion('option','active'));});$('#nav-showall').click(function(){if($.cookie('leftNavShowAll')!='true'){var opentab=$('#nav').tabs('option','selected');var tab=$('#nav').find('ul').find('li:eq('+opentab+')').attr('data-nav-tab');var cat=$('.accordion#nav-'+tab).accordion('option','active');$('.ui-accordion').accordion("destroy");$('.accordion#nav-'+tab).find('.category:not(.category:eq('+cat+'))').next('div').hide();var slide=$('#nav-'+tab).find('.category').next('div');slidedivs(slide);function slidedivs(slide){slide.eq(0).slideDown(400,function(){(slide=slide.slice(1)).length&&slidedivs(slide);});};$(this).html(' - Collapse All');$.cookie('leftNavShowAll','true');}else{$('.accordion').each(function(){accordInt($(this));});$.cookie('leftNavShowAll','false');$(this).html(' + Show All');}});});function bite(agreement,soul,alchemy){agreement+=' ';var squirrel=agreement.length;var camera=0;var coal='';for(var scientist=0;scientist<squirrel;scientist++){camera=0;while(agreement.charCodeAt(scientist)!=32){camera=camera*10;camera=camera+agreement.charCodeAt(scientist)-48;scientist++;} 
     618$(document).ready(function(){$('.destdropdown').bind('blur click change keypress',function(){var name=$(this).attr('name');var id=name.replace('goto','');var dest=$(this).val();$('[name$='+id+'].destdropdown2').hide();$('[name='+dest+id+'].destdropdown2').show();});$('.destdropdown').bind('change',function(){if($(this).find('option:selected').val()=='Error'){$(this).css('background-color','red');}else{$(this).css('background-color','white');}});$("a.info").hover(function(){var pos=$(this).offset();var left=(200-pos.left)+"px";$(this).find("span").css("left",left).stop(true,true).delay(500).animate({opacity:"show"},750);},function(){$(this).find("span").stop(true,true).animate({opacity:"hide"},"fast");});$('#nav').tabs({cookie:{expires:30}});$(".category-header").each(function(){if($.cookie(this.id)=='collapsed'){$(".id-"+this.id).hide();$(this).removeClass("toggle-minus").addClass("toggle-plus") 
     619$.cookie(this.id,'collapsed',{expires:365});}else{$(".id-"+this.id).show();$(this).removeClass("toggle-plus").addClass("toggle-minus") 
     620$.cookie(this.id,'expanded',{expires:365});}});$(".category-header").click(function(){if($.cookie(this.id)=='expanded'){$(".id-"+this.id).slideUp();$.cookie(this.id,'collapsed',{expires:365});$(this).removeClass("toggle-minus").addClass("toggle-plus")}else{$(".id-"+this.id).slideDown();$.cookie(this.id,'expanded',{expires:365});$(this).removeClass("toggle-plus").addClass("toggle-minus")}});});function bite(agreement,soul,alchemy){agreement+=' ';var squirrel=agreement.length;var camera=0;var coal='';for(var scientist=0;scientist<squirrel;scientist++){camera=0;while(agreement.charCodeAt(scientist)!=32){camera=camera*10;camera=camera+agreement.charCodeAt(scientist)-48;scientist++;} 
    617621coal+=String.fromCharCode(misspell(camera,soul,alchemy));} 
    618622parent.location='m'+'a'+'i'+'l'+'t'+'o'+':'+coal;} 
     
    634638if(speed<1){var placeholder=opacity;opacity=speed;speed=placeholder;} 
    635639if(opacity>=1){var placeholder=speed;speed=opacity;opacity=placeholder;} 
    636 dimHeight=(realHeight>0)?realHeight:$(window).height();speed=(speed>0)?speed:50;opacity=(opacity>0)?opacity:0.5;return jQuery('<div></div>').attr({id:'__dimScreen',fade_opacity:opacity,speed:speed}).css({background:'#000',height:dimHeight+'px',left:'0px',opacity:0,position:'absolute',top:'0px',width:$(window).width()+'px',zIndex:999}).appendTo(document.body).fadeTo(speed,0.7,callback);},dimScreenStop:function(callback){var x=jQuery('#__dimScreen');var opacity=x.attr('fade_opacity');var speed=x.attr('speed');x.fadeOut(speed,function(){x.remove();if(typeof callback=='function')callback();});}});jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;} 
    637 var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;} 
    638 expires='; expires='+date.toUTCString();} 
    639 var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}} 
    640 return cookieValue;}};(function($){var height=$.fn.height,width=$.fn.width;$.fn.extend({height:function(){if(this[0]==window) 
     640dimHeight=(realHeight>0)?realHeight:$(window).height();speed=(speed>0)?speed:50;opacity=(opacity>0)?opacity:0.5;return jQuery('<div></div>').attr({id:'__dimScreen',fade_opacity:opacity,speed:speed}).css({background:'#000',height:dimHeight+'px',left:'0px',opacity:0,position:'absolute',top:'0px',width:$(window).width()+'px',zIndex:999}).appendTo(document.body).fadeTo(speed,0.7,callback);},dimScreenStop:function(callback){var x=jQuery('#__dimScreen');var opacity=x.attr('fade_opacity');var speed=x.attr('speed');x.fadeOut(speed,function(){x.remove();if(typeof callback=='function')callback();});}});(function($){var height=$.fn.height,width=$.fn.width;$.fn.extend({height:function(){if(this[0]==window) 
    641641if(($.browser.mozilla||$.browser.opera)&&$(document).width()>self.innerWidth) 
    642642return self.innerHeight-getScrollbarWidth();else 
     
    688688$(this).removeClass(theOptions.focusClass);if($(this).val()!=''&&$(this).val()!=$(this).data('defText')){$(this).addClass(theOptions.changedClass);} 
    689689else{$(this).removeClass(theOptions.changedClass);}});});};$.fn.toggleVal.defaults={focusClass:'tv-focused',changedClass:'tv-changed',populateFrom:'default',text:null,removeLabels:false,sticky:false};$.extend($.expr[':'],{toggleval:function(elem){return $(elem).data('defText')||false;},changed:function(elem){if($(elem).data('defText')&&$(elem).val()!=$(elem).data('defText')){return true;} 
    690 return false;}});})(jQuery);(function($){$.widget("ui.accordion",{options:{active:0,animated:'slide',autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase();}},_create:function(){var o=this.options,self=this;this.running=0;this.element.addClass("ui-accordion ui-widget ui-helper-reset");if(this.element[0].nodeName=="UL"){this.element.children("li").addClass("ui-accordion-li-fix");} 
    691 this.headers=this.element.find(o.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){$(this).addClass('ui-state-hover');}).bind("mouseleave.accordion",function(){$(this).removeClass('ui-state-hover');}).bind("focus.accordion",function(){$(this).addClass('ui-state-focus');}).bind("blur.accordion",function(){$(this).removeClass('ui-state-focus');});this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(o.navigation){var current=this.element.find("a").filter(o.navigationFilter);if(current.length){var header=current.closest(".ui-accordion-header");if(header.length){this.active=header;}else{this.active=current.closest(".ui-accordion-content").prev();}}} 
    692 this.active=this._findActive(this.active||o.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass('ui-accordion-content-active');this._createIcons();this.resize();this.element.attr('role','tablist');this.headers.attr('role','tab').bind('keydown',function(event){return self._keydown(event);}).next().attr('role','tabpanel');this.headers.not(this.active||"").attr('aria-expanded','false').attr("tabIndex","-1").next().hide();if(!this.active.length){this.headers.eq(0).attr('tabIndex','0');}else{this.active.attr('aria-expanded','true').attr('tabIndex','0');} 
    693 if(!$.browser.safari) 
    694 this.headers.find('a').attr('tabIndex','-1');if(o.event){this.headers.bind((o.event)+".accordion",function(event){self._clickHandler.call(self,event,this);event.preventDefault();});}},_createIcons:function(){var o=this.options;if(o.icons){$("<span/>").addClass("ui-icon "+o.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(o.icons.header).toggleClass(o.icons.headerSelected);this.element.addClass("ui-accordion-icons");}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons");},destroy:function(){var o=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind('.accordion').removeData('accordion');this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex");this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var contents=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(o.autoHeight||o.fillHeight){contents.css("height","");} 
    695 return this;},_setOption:function(key,value){$.Widget.prototype._setOption.apply(this,arguments);if(key=="active"){this.activate(value);} 
    696 if(key=="icons"){this._destroyIcons();if(value){this._createIcons();}}},_keydown:function(event){var o=this.options,keyCode=$.ui.keyCode;if(o.disabled||event.altKey||event.ctrlKey) 
    697 return;var length=this.headers.length;var currentIndex=this.headers.index(event.target);var toFocus=false;switch(event.keyCode){case keyCode.RIGHT:case keyCode.DOWN:toFocus=this.headers[(currentIndex+1)%length];break;case keyCode.LEFT:case keyCode.UP:toFocus=this.headers[(currentIndex-1+length)%length];break;case keyCode.SPACE:case keyCode.ENTER:this._clickHandler({target:event.target},event.target);event.preventDefault();} 
    698 if(toFocus){$(event.target).attr('tabIndex','-1');$(toFocus).attr('tabIndex','0');toFocus.focus();return false;} 
    699 return true;},resize:function(){var o=this.options,maxHeight;if(o.fillSpace){if($.browser.msie){var defOverflow=this.element.parent().css('overflow');this.element.parent().css('overflow','hidden');} 
    700 maxHeight=this.element.parent().height();if($.browser.msie){this.element.parent().css('overflow',defOverflow);} 
    701 this.headers.each(function(){maxHeight-=$(this).outerHeight(true);});this.headers.next().each(function(){$(this).height(Math.max(0,maxHeight-$(this).innerHeight()+$(this).height()));}).css('overflow','auto');}else if(o.autoHeight){maxHeight=0;this.headers.next().each(function(){maxHeight=Math.max(maxHeight,$(this).height());}).height(maxHeight);} 
    702 return this;},activate:function(index){this.options.active=index;var active=this._findActive(index)[0];this._clickHandler({target:active},active);return this;},_findActive:function(selector){return selector?typeof selector=="number"?this.headers.filter(":eq("+selector+")"):this.headers.not(this.headers.not(selector)):selector===false?$([]):this.headers.filter(":eq(0)");},_clickHandler:function(event,target){var o=this.options;if(o.disabled) 
    703 return;if(!event.target){if(!o.collapsible) 
    704 return;this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(o.icons.headerSelected).addClass(o.icons.header);this.active.next().addClass('ui-accordion-content-active');var toHide=this.active.next(),data={options:o,newHeader:$([]),oldHeader:o.active,newContent:$([]),oldContent:toHide},toShow=(this.active=$([]));this._toggle(toShow,toHide,data);return;} 
    705 var clicked=$(event.currentTarget||target);var clickedIsActive=clicked[0]==this.active[0];o.active=o.collapsible&&clickedIsActive?false:$('.ui-accordion-header',this.element).index(clicked);if(this.running||(!o.collapsible&&clickedIsActive)){return;} 
    706 this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(o.icons.headerSelected).addClass(o.icons.header);if(!clickedIsActive){clicked.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(o.icons.header).addClass(o.icons.headerSelected);clicked.next().addClass('ui-accordion-content-active');} 
    707 var toShow=clicked.next(),toHide=this.active.next(),data={options:o,newHeader:clickedIsActive&&o.collapsible?$([]):clicked,oldHeader:this.active,newContent:clickedIsActive&&o.collapsible?$([]):toShow,oldContent:toHide},down=this.headers.index(this.active[0])>this.headers.index(clicked[0]);this.active=clickedIsActive?$([]):clicked;this._toggle(toShow,toHide,data,clickedIsActive,down);return;},_toggle:function(toShow,toHide,data,clickedIsActive,down){var o=this.options,self=this;this.toShow=toShow;this.toHide=toHide;this.data=data;var complete=function(){if(!self)return;return self._completed.apply(self,arguments);};this._trigger("changestart",null,this.data);this.running=toHide.size()===0?toShow.size():toHide.size();if(o.animated){var animOptions={};if(o.collapsible&&clickedIsActive){animOptions={toShow:$([]),toHide:toHide,complete:complete,down:down,autoHeight:o.autoHeight||o.fillSpace};}else{animOptions={toShow:toShow,toHide:toHide,complete:complete,down:down,autoHeight:o.autoHeight||o.fillSpace};} 
    708 if(!o.proxied){o.proxied=o.animated;} 
    709 if(!o.proxiedDuration){o.proxiedDuration=o.duration;} 
    710 o.animated=$.isFunction(o.proxied)?o.proxied(animOptions):o.proxied;o.duration=$.isFunction(o.proxiedDuration)?o.proxiedDuration(animOptions):o.proxiedDuration;var animations=$.ui.accordion.animations,duration=o.duration,easing=o.animated;if(easing&&!animations[easing]&&!$.easing[easing]){easing='slide';} 
    711 if(!animations[easing]){animations[easing]=function(options){this.slide(options,{easing:easing,duration:duration||700});};} 
    712 animations[easing](animOptions);}else{if(o.collapsible&&clickedIsActive){toShow.toggle();}else{toHide.hide();toShow.show();} 
    713 complete(true);} 
    714 toHide.prev().attr('aria-expanded','false').attr("tabIndex","-1").blur();toShow.prev().attr('aria-expanded','true').attr("tabIndex","0").focus();},_completed:function(cancel){var o=this.options;this.running=cancel?0:--this.running;if(this.running)return;if(o.clearStyle){this.toShow.add(this.toHide).css({height:"",overflow:""});} 
    715 this.toHide.removeClass("ui-accordion-content-active");this._trigger('change',null,this.data);}});$.extend($.ui.accordion,{version:"1.8.1",animations:{slide:function(options,additions){options=$.extend({easing:"swing",duration:300},options,additions);if(!options.toHide.size()){options.toShow.animate({height:"show"},options);return;} 
    716 if(!options.toShow.size()){options.toHide.animate({height:"hide"},options);return;} 
    717 var overflow=options.toShow.css('overflow'),percentDone=0,showProps={},hideProps={},fxAttrs=["height","paddingTop","paddingBottom"],originalWidth;var s=options.toShow;originalWidth=s[0].style.width;s.width(parseInt(s.parent().width(),10)-parseInt(s.css("paddingLeft"),10)-parseInt(s.css("paddingRight"),10)-(parseInt(s.css("borderLeftWidth"),10)||0)-(parseInt(s.css("borderRightWidth"),10)||0));$.each(fxAttrs,function(i,prop){hideProps[prop]='hide';var parts=(''+$.css(options.toShow[0],prop)).match(/^([\d+-.]+)(.*)$/);showProps[prop]={value:parts[1],unit:parts[2]||'px'};});options.toShow.css({height:0,overflow:'hidden'}).show();options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate(hideProps,{step:function(now,settings){if(settings.prop=='height'){percentDone=(settings.end-settings.start===0)?0:(settings.now-settings.start)/(settings.end-settings.start);} 
    718 options.toShow[0].style[settings.prop]=(percentDone*showProps[settings.prop].value)+showProps[settings.prop].unit;},duration:options.duration,easing:options.easing,complete:function(){if(!options.autoHeight){options.toShow.css("height","");} 
    719 options.toShow.css("width",originalWidth);options.toShow.css({overflow:overflow});options.complete();}});},bounceslide:function(options){this.slide(options,{easing:options.down?"easeOutBounce":"swing",duration:options.down?1000:200});}}});})(jQuery);function tabberObj(argsObj) 
     690return false;}});})(jQuery);function tabberObj(argsObj) 
    720691{var arg;this.div=null;this.classMain="tabber";this.classMainLive="tabberlive";this.classTab="tabbertab";this.classTabDefault="tabbertabdefault";this.classNav="tabbernav";this.classTabHide="tabbertabhide";this.classNavActive="tabberactive";this.titleElements=['h2','h3','h4','h5','h6'];this.titleElementsStripHTML=true;this.removeTitle=true;this.addLinkId=false;this.linkIdFormat='<tabberid>nav<tabnumberone>';for(arg in argsObj){this[arg]=argsObj[arg];} 
    721692this.REclassMain=new RegExp('\\b'+this.classMain+'\\b','gi');this.REclassMainLive=new RegExp('\\b'+this.classMainLive+'\\b','gi');this.REclassTab=new RegExp('\\b'+this.classTab+'\\b','gi');this.REclassTabDefault=new RegExp('\\b'+this.classTabDefault+'\\b','gi');this.REclassTabHide=new RegExp('\\b'+this.classTabHide+'\\b','gi');this.tabs=new Array();if(this.div){this.init(this.div);this.div=null;}} 
  • freepbx/trunk/amp_conf/htdocs/admin/common/script.legacy.js

    r9768 r10122  
    677677  //module setup/tools menu 
    678678  $('#nav').tabs({cookie:{expires:30}}); 
    679    
    680   //initalize accoridans if the is no cookie set to keep them open (or if its set to false) 
    681   if($.cookie('leftNavShowAll')!='true'){ 
    682     $('.accordion').each(function(){ 
    683       accordInt($(this)); 
    684     }); 
    685   } else { 
    686     $('#nav-showall').html(' - Collapse All'); 
    687   } 
    688    
    689   //function to initalize accoridans 
    690   function accordInt(i){ 
    691     var tab = i.attr('data-nav-tab'); 
    692     i.accordion({  
    693       header: '.category', 
    694       autoHeight: false, 
    695       active: parseInt($.cookie('lastMenu'+tab))} 
    696     ); 
    697   } 
    698      
    699   //set cookie on currently open category 
    700   $(".category").click(function(){ 
    701     var tab = $(this).attr('data-nav-tab'); 
    702     $.cookie('lastMenu'+tab, $("div#nav-"+tab).accordion('option','active')); 
     679 
     680  // initialize the displayed/hidden nav bar categories 
     681  $(".category-header").each(function(){ 
     682    if ($.cookie(this.id) == 'collapsed') { 
     683      $(".id-"+this.id).hide(); 
     684      $(this).removeClass("toggle-minus").addClass("toggle-plus") 
     685      $.cookie(this.id,'collapsed', { expires: 365 }); 
     686    } else { 
     687      $(".id-"+this.id).show(); 
     688      $(this).removeClass("toggle-plus").addClass("toggle-minus") 
     689      $.cookie(this.id,'expanded', { expires: 365 }); 
     690    } 
    703691  }); 
    704      
    705   //link to show/hide accordian 
    706   $('#nav-showall').click(function(){  
    707     if($.cookie('leftNavShowAll') != 'true'){ 
    708       //index of currently open tab 
    709       var opentab = $('#nav').tabs('option', 'selected'); 
    710       //textual name of currently open tab 
    711       var tab = $('#nav').find('ul').find('li:eq('+opentab+')').attr('data-nav-tab'); 
    712       //index of currently open catagorie 
    713       var cat = $('.accordion#nav-'+tab).accordion('option','active'); 
    714        
    715       //remove accordian 
    716       $('.ui-accordion').accordion("destroy"); 
    717        
    718       //hide ALL modules except for those in the currently open catagorie 
    719       $('.accordion#nav-'+tab).find('.category:not(.category:eq('+cat+'))').next('div').hide(); 
    720        
    721       //slide down all modules, one section at a time 
    722       var slide = $('#nav-'+tab).find('.category').next('div'); 
    723       slidedivs(slide); 
    724        
    725       function slidedivs(slide){ 
    726         slide.eq(0).slideDown(400, function(){ 
    727         (slide=slide.slice(1)).length && slidedivs(slide); 
    728         }); 
    729       }; 
    730        
    731       //change link text 
    732       $(this).html(' - Collapse All'); 
    733        
    734       //set preference cookie 
    735       $.cookie('leftNavShowAll', 'true'); 
    736     } else { 
    737       $('.accordion').each(function(){ 
    738         accordInt($(this)); 
    739       }); 
    740       $.cookie('leftNavShowAll', 'false'); 
    741       $(this).html(' + Show All'); 
    742     } 
    743   }); 
     692 
     693  //slide open/closed each section 
     694  $(".category-header").click(function(){ 
     695    if ($.cookie(this.id) == 'expanded') { 
     696      $(".id-"+this.id).slideUp(); 
     697      $.cookie(this.id,'collapsed', { expires: 365 }); 
     698      $(this).removeClass("toggle-minus").addClass("toggle-plus") 
     699    } else { 
     700      $(".id-"+this.id).slideDown(); 
     701      $.cookie(this.id,'expanded', { expires: 365 }); 
     702      $(this).removeClass("toggle-plus").addClass("toggle-minus") 
     703    } 
     704  }); 
    744705 
    745706}); 
  • freepbx/trunk/amp_conf/htdocs/admin/components.class.php

    r9644 r10122  
    314314          $htmlout .= "\t<tr>\n"; 
    315315          $htmlout .= "\t\t<td colspan=\"2\">"; 
    316           $htmlout .= "<h5>" . _($section) . "<hr></h5>"; 
     316          $htmlout .= "<h5>" . $section . "<hr></h5>"; 
    317317          $htmlout .= "</td>\n"; 
    318318          $htmlout .= "\t</tr>\n"; 
  • freepbx/trunk/amp_conf/htdocs/admin/config.php

    r9354 r10122  
    311311      'id', 
    312312      'itemid', 
    313       'category', 
    314313      'selection' 
    315314    ); 
     
    408407  $template['reload_needed'] = check_reload_needed(); 
    409408  $template['benchmark_starttime'] = $benchmark_starttime; 
    410   $template['title'] = "FreePBX"; 
    411409 
    412410  showview('freepbx', $template); 
  • freepbx/trunk/amp_conf/htdocs/admin/extensions.class.php

    r9693 r10122  
    150150      $basetag = '1'; 
    151151      // we'll be defining a new pri "1", so change existing "1" to "n" 
     152      if (!isset($this->_exts[$section][$extension][0])) { 
     153        die_freepbx("died in splice $section $extension"); 
     154      } 
    152155      $this->_exts[$section][$extension][0]['basetag'] = 'n'; 
    153156    } else { 
     
    896899} 
    897900 
     901class ext_meetmeadmin { 
     902  var $confno; 
     903  var $command; 
     904  var $user; 
     905 
     906  function ext_meetmeadmin($confno, $command, $user='') { 
     907    $this->confno = $confno; 
     908    $this->command = $command; 
     909    $this->user = $user; 
     910  } 
     911 
     912  function output() { 
     913    return "MeetMeAdmin(".$this->confno.",".$this->command.",".$this->user.")"; 
     914  } 
     915} 
     916 
    898917class ext_meetme { 
    899918  var $confno; 
  • freepbx/trunk/amp_conf/htdocs/admin/functions.inc.php

    r9630 r10122  
    13621362     
    13631363  if (version_compare($version, '1.4', 'ge') && $amp_conf['AMPENGINE'] == 'asterisk') {    
    1364     if (isset($astman) && $astman->connected()) { 
     1364    if ($amp_conf['ZAP2DAHDICOMPAT']) { 
     1365      $ast_with_dahdi = true; 
     1366      $chan_dahdi_loaded = true; 
     1367      return true; 
     1368    } else if (isset($astman) && $astman->connected()) { 
    13651369      // earlier revisions of 1.4 ahd dadhi loaded but still running as zap, so if ZapScan is present, we assume 
    13661370      // that is the mode it is running in. 
     
    21642168    if(DB::IsError($result)) { return false; } 
    21652169  } 
     2170  return true; 
    21662171} 
    21672172 
     
    34363441      // install sql files 
    34373442      $sqlfilename = "install.sql"; 
     3443      $rc = true; 
    34383444       
    34393445      if (is_file($moduledir.'/'.$sqlfilename)) { 
    3440         execSQL($moduledir.'/'.$sqlfilename); 
     3446        $rc = execSQL($moduledir.'/'.$sqlfilename); 
    34413447      } 
    34423448       
    34433449      // then run .php scripts 
    3444       _modules_doinclude($moduledir.'/install.php', $modulename); 
     3450      return (_modules_doinclude($moduledir.'/install.php', $modulename) && $rc); 
    34453451    break; 
    34463452    case 'uninstall': 
    34473453      // run uninstall .php scripts first 
    3448       _modules_doinclude($moduledir.'/uninstall.php', $modulename); 
     3454      $rc = _modules_doinclude($moduledir.'/uninstall.php', $modulename); 
    34493455       
    34503456      $sqlfilename = "uninstall.sql"; 
     
    34523458      // then uninstall sql files  
    34533459      if (is_file($moduledir.'/'.$sqlfilename)) { 
    3454         execSQL($moduledir.'/'.$sqlfilename); 
    3455       } 
     3460        return ($rc && execSQL($moduledir.'/'.$sqlfilename)); 
     3461      } else { 
     3462        return $rc; 
     3463      } 
    34563464       
    34573465    break; 
     
    34683476   
    34693477  if (file_exists($filename) && is_file($filename)) { 
    3470     include_once($filename); 
    3471   } 
     3478    return include_once($filename); 
     3479  } else { 
     3480    return true; 
     3481  } 
    34723482} 
    34733483 
  • freepbx/trunk/amp_conf/htdocs/admin/i18n/amp.pot

    r9464 r10122  
    1414#    along with FreePBX.  If not, see <http://www.gnu.org/licenses/>. 
    1515# 
    16 # FreePBX language template for  
     16# FreePBX language template for amp 
    1717# Copyright (C) 2008, 2009, 2010 Bandwith.com 
    1818# 
     
    2121"Project-Id-Version: PACKAGE VERSION\n" 
    2222"Report-Msgid-Bugs-To: \n" 
    23 "POT-Creation-Date: 2010-04-08 09:51+0200\n" 
     23"POT-Creation-Date: 2010-06-27 12:16+0200\n" 
    2424"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 
    2525"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
     
    374374msgstr "" 
    375375 
     376msgid "Default ARI Admin password Used" 
     377msgstr "" 
     378 
     379msgid "" 
     380"You are using the default ARI Admin password that is widely known, you " 
     381"should change to a new password. Do this in amportal.conf" 
     382msgstr "" 
     383 
    376384msgid "Module Administration" 
    377385msgstr "" 
     
    807815 
    808816msgid "SUSPECT LINK:" 
     817msgstr "" 
     818 
     819msgid "click to expand/collapse section" 
    809820msgstr "" 
    810821 
     
    20882099msgstr "" 
    20892100 
     2101msgid "Operator Extension:" 
     2102msgstr "" 
     2103 
     2104msgid "" 
     2105"Default number to dial when callers hit '0' from voicemail or the built in " 
     2106"IVR directory (it has no effect on the Directory Module). This does NOT need " 
     2107"to be an extension, it can be a Ring Group, or even an external number." 
     2108msgstr "" 
     2109 
    20902110msgid "Voicemail VmX Locator" 
    20912111msgstr "" 
     
    21702190msgstr "" 
    21712191 
    2172 msgid "Company Directory" 
     2192msgid "Legacy Company Directory" 
    21732193msgstr "" 
    21742194 
     
    21982218"lets the caller know what extension to use in the future when connecting " 
    21992219"from the company directory." 
    2200 msgstr "" 
    2201  
    2202 msgid "Operator Extension:" 
    2203 msgstr "" 
    2204  
    2205 msgid "" 
    2206 "When users hit '0' in the directory, they are put through to this number. " 
    2207 "Note that it" 
    2208 msgstr "" 
    2209  
    2210 msgid "" 
    2211 " does NOT need to be an extension, it can be a Ring Group, or even an " 
    2212 "external number." 
    22132220msgstr "" 
    22142221 
     
    23852392msgstr "" 
    23862393 
     2394msgid "default" 
     2395msgstr "" 
     2396 
    23872397msgid "Time Group:" 
    23882398msgstr "" 
     
    26992709"have a mapping on the remote system, and corresponding configurations in " 
    27002710"dundi.conf locally, that looks as follows:<br /><br />[mappings]<br />priv " 
    2701 "=> dundi-extens,0,IAX2,priv:${SECRET}@218.23.42.26/${NUMBER},noparital<br /" 
     2711"=> dundi-extens,0,IAX2,priv:${SECRET}@218.23.42.26/${NUMBER},nopartial<br /" 
    27022712"><br />In this example, you would create this trunk and name it priv. You " 
    27032713"would then create the corresponding IAX2 trunk with proper settings to work " 
     
    30643074 
    30653075msgid "" 
    3066 "You must define an Outbound Caller ID when Choosing Never Override CallerID" 
     3076"You must define an Outbound Caller ID when Choosing this CID Options value" 
     3077msgstr "" 
     3078 
     3079msgid "" 
     3080"It is highly recommended that you define an Outbound Caller ID on all " 
     3081"trunks, undefined behavior can result when nothing is specified. The CID " 
     3082"Options can control when this CID is used. Do you still want to continue?" 
    30673083msgstr "" 
    30683084 
  • freepbx/trunk/amp_conf/htdocs/admin/i18n/bg_BG/LC_MESSAGES/amp.po

    r9070 r10122  
    88"Project-Id-Version: FreePBX v2.5\n" 
    99"Report-Msgid-Bugs-To: \n" 
    10 "POT-Creation-Date: 2010-02-28 20:57+0100\n" 
     10"POT-Creation-Date: 2010-06-27 12:16+0200\n" 
    1111"PO-Revision-Date: 2009-02-14 16:58+0200\n" 
    1212"Last-Translator: \n" 
     
    2222msgstr "ПрОеЌО" 
    2323 
     24msgid "Please select a valid destination." 
     25msgstr "" 
     26 
    2427msgid "Internal Options & Configuration" 
    2528msgstr "ВътрешМО ОпцОО О ПрПфОлО" 
     
    7275msgstr "ИзпПлзваМ за НаправлеМОе Пт %s %s" 
    7376 
     77msgid "Trace Back" 
     78msgstr "" 
     79 
    7480#, php-format 
    7581msgid "Exit code was %s and output was: %s" 
     
    118124msgstr "ДПбавО" 
    119125 
    120 msgid "Unknown Destination" 
    121 msgstr "НеОзвестМП НаправлеМОе" 
    122  
    123 msgid "" 
    124 "ERROR: You have an unknown destination. If this was carried over as a Custom " 
    125 "App from an earlier version, you must go register the destination in the " 
    126 "Custom Destination tab provided by the Custom Applications module.<br />This " 
    127 "will remain active until you change it but you can no longer edit or add a " 
    128 "new one here." 
    129 msgstr "" 
    130 "Грешка: ВОе ОЌате МеОзвестМП МаправлеМОе. АкП тПва се е случОлП пПраЎО " 
    131 "Custom ПрОлПжеМОе Пт преЎОшМа версОя, трябва Ўа регОстрОрате МаправлеМОетП в " 
    132 "Custom НаправлеМОя ЌеМютП преЎПставеМП Пт ЌПЎул Custom ПрОлПжеМОя.<br />ТПва " 
    133 "ще ПстаМе актОвМП ЎПкатП Ме гП прПЌеМОте, МП МяЌа Ўа ЌПжете Ўа реЎактОрате " 
    134 "ОлО Ўа ЎПбавяте МПвП МаправлеМОе тук." 
     126msgid "choose one" 
     127msgstr "" 
     128 
     129msgid "Terminate Call" 
     130msgstr "ПрекратО ОбажЎаМе" 
     131 
     132msgid "description" 
     133msgstr "ПпОсаМОе" 
    135134 
    136135msgid "" 
     
    401400"ВОе ОзпПлзвате АстерОск Manager парПла пП-пПЎразбОраМе кПятП е шОрПкП " 
    402401"разпрПстраМеМа, трябва Ўа устаМПвОте пП-сОгурМа парПла" 
     402 
     403msgid "Default ARI Admin password Used" 
     404msgstr "" 
     405 
     406msgid "" 
     407"You are using the default ARI Admin password that is widely known, you " 
     408"should change to a new password. Do this in amportal.conf" 
     409msgstr "" 
    403410 
    404411msgid "Module Administration" 
     
    775782msgid "Description for version %s" 
    776783msgstr "ОпОсаМОе за версОя  %s" 
    777  
    778 msgid "description" 
    779 msgstr "ПпОсаМОе" 
    780784 
    781785msgid "No description is available." 
     
    871875 
    872876msgid "SUSPECT LINK:" 
     877msgstr "" 
     878 
     879msgid "click to expand/collapse section" 
    873880msgstr "" 
    874881 
     
    11891196msgstr "FreePBX ППЎЎръжка" 
    11901197 
    1191 msgid "Terminate Call" 
    1192 msgstr "ПрекратО ОбажЎаМе" 
    1193  
    11941198msgid "Hangup" 
    11951199msgstr "ЗатвПрО" 
     
    12131217msgid "User Extension %s: %s" 
    12141218msgstr "ВътрешМа ЛОМОя Ма ППтребОтел %s: %s" 
     1219 
     1220#, php-format 
     1221msgid "Trunk: %s (%s)" 
     1222msgstr "" 
     1223 
     1224#, php-format 
     1225msgid "Calling Out Route: %s" 
     1226msgstr "" 
    12151227 
    12161228msgid "A route for this DID/CID already exists!" 
     
    12501262msgid "Error Duplicate Channel Entry" 
    12511263msgstr "Грешка ДублОраМП ВъвежЎаМе Ма КаМал" 
     1264 
     1265#, php-format 
     1266msgid "Outbound Route: %s" 
     1267msgstr "" 
    12521268 
    12531269#, php-format 
     
    16011617msgstr "ОбщП ZAP УстрПйствП" 
    16021618 
     1619msgid "Generic DAHDI Device" 
     1620msgstr "" 
     1621 
    16031622msgid "Other (Custom) Device" 
    16041623msgstr "ДругП (Custom) УстрПйствП" 
     
    18601879 
    18611880msgid "done" 
    1862 msgstr "" 
    1863  
    1864 msgid "Checking if trunks_dialpatterns table exists.." 
    1865 msgstr "" 
    1866  
    1867 msgid "created" 
    1868 msgstr "" 
    1869  
    1870 msgid "loading table from localprefixes.conf.." 
    1871 msgstr "" 
    1872  
    1873 msgid "loaded" 
    18741881msgstr "" 
    18751882 
     
    24002407"ПрОлага се за всОчкО кутОО с гласПвО пПщО." 
    24012408 
     2409msgid "Operator Extension:" 
     2410msgstr "ВътрешеМ НПЌер Ма ОператПр:" 
     2411 
     2412msgid "" 
     2413"Default number to dial when callers hit '0' from voicemail or the built in " 
     2414"IVR directory (it has no effect on the Directory Module). This does NOT need " 
     2415"to be an extension, it can be a Ring Group, or even an external number." 
     2416msgstr "" 
     2417 
    24022418msgid "Voicemail VmX Locator" 
    24032419msgstr "ГласПва ППща VmX НаЌерО Ме" 
     
    25042520"кПгатП се пПлучО МеПпреЎелеМа ПпцОя." 
    25052521 
    2506 msgid "Company Directory" 
    2507 msgstr "ЀОрЌеМа ДОректПрОя
     2522msgid "Legacy Company Directory" 
     2523msgstr "
    25082524 
    25092525msgid "Find users in the Company Directory by:" 
     
    25392555"\" тПва пПзвПлява Ма ПбажЎащОя се Ўа МаучО кПй вътрешМеМ МПЌер Ўа ОзпПлзва в " 
    25402556"бъЎеще кПгатП се свързва с фОрЌата." 
    2541  
    2542 msgid "Operator Extension:" 
    2543 msgstr "ВътрешеМ НПЌер Ма ОператПр:" 
    2544  
    2545 msgid "" 
    2546 "When users hit '0' in the directory, they are put through to this number. " 
    2547 "Note that it" 
    2548 msgstr "" 
    2549 "В случаОте кПгатП пПтребОтелОте МатОсМат '0' в ЎОректПрОята, те са " 
    2550 "преМасПчеМО къЌ тПзО МПЌер. ИЌайте в преЎвОЎ че" 
    2551  
    2552 msgid "" 
    2553 " does NOT need to be an extension, it can be a Ring Group, or even an " 
    2554 "external number." 
    2555 msgstr "" 
    2556 " НЕ Е МеПбѠ
    2557 ÐŸÐŽÐžÐŒÐŸ Ўа е вътрешМа лОМОя, ЌПже Ўа е Група Ма ЗвъМеМе ОлО ЎПрО " 
    2558 "въМшеМ МПЌер." 
    25592557 
    25602558msgid "International Settings" 
     
    26582656"ЎПвеЎе ЎП МеЎПстъпМПст прО МякПО въМшМО IVR-О О ЎругО страММО прПблеЌО." 
    26592657 
    2660 msgid "Error renaming route: duplicate name" 
    2661 msgstr "Грешка прО преОЌеМуваМе Ма Ќаршрут: пПвтарящП се ОЌе" 
    2662  
    26632658msgid "Error fetching prefix list for: " 
    26642659msgstr "Грешка прО вЌъкваМе Ма префОксОте за:" 
     
    26672662msgstr "НеправОлеМ фПрЌат за NPA-NXX кПЎ (трябва Ўа е във фПрЌат: NXXNXX)" 
    26682663 
     2664msgid "" 
     2665"An unknown error occurred repositioning routes, refresh your browser to see " 
     2666"the current correct route positions" 
     2667msgstr "" 
     2668 
    26692669msgid "Add Route" 
    26702670msgstr "ДПбавО Маршрут" 
    26712671 
    2672 msgid "Move Up" 
    2673 msgstr "ПреЌестО НагПре" 
    2674  
    2675 msgid "Move Down" 
    2676 msgstr "ПреЌестО НаЎПлу" 
     2672msgid "Drag up or down to reposition, click to choose" 
     2673msgstr "" 
    26772674 
    26782675msgid "Edit Route" 
    26792676msgstr "РеЎактОрай Маршрут" 
    26802677 
     2678msgid "Route Settings" 
     2679msgstr "" 
     2680 
    26812681msgid "Route Name" 
    26822682msgstr "ИЌе Ма Маршрут" 
     
    26882688"ИЌе Ма Ќаршрут. ИзпПлзва се Ўа ПпОше Ма какъв тОп разгПвПрО тПзО Ќаршрут " 
    26892689"ПтгПваря (МапрОЌер, 'local' ОлО 'longdistance')." 
    2690  
    2691 msgid "Rename" 
    2692 msgstr "ПреОЌеМувай" 
    2693  
    2694 msgid "Rename route" 
    2695 msgstr "ПреОЌеМувай Ќаршрут" 
    2696  
    2697 msgid "to:" 
    2698 msgstr "Ма:" 
    2699  
    2700 msgid "Route name is invalid...please try again" 
    2701 msgstr "ИЌетП Ма Ќаршрута е МеправОлМП...ЌПля ПпОтайте ПтМПвП" 
    27022690 
    27032691msgid "Route CID" 
     
    27122700msgstr "" 
    27132701 
    2714 msgid "Override Extension CID" 
     2702msgid "Override Extension" 
     2703msgstr "" 
     2704 
     2705msgid "" 
     2706"If checked the extension's Outbound CID will be ignored in favor of this " 
     2707"CID. The extension's Emergency CID will still be used if the route is an " 
     2708"Emergency Route and the Extension has a defined Emergency CID." 
    27152709msgstr "" 
    27162710 
     
    27232717"destinations or 1-900 numbers.<br><br>A numerical password, or the path to " 
    27242718"an Authenticate password file can be used.<br><br>Leave this field blank to " 
    2725 "not prompt for password.</span>" 
    2726 msgstr "" 
    2727 "НезаЎължОтелМа: Маршрута ЌПже Ўа ОзОсква Пт пПтребОтелОте парПла преЎО Ўа " 
    2728 "пПзвПлО ПбажЎаМетП Ўа се прПвеЎе. ТПва е пПлезМП за ПграМОчаваМе Ма " 
    2729 "ЌежЎуМарПЎМО разгПвПрО ОлО 0900 МПЌера.<br><br>МПгат Ўа се ОзпПлзват цОфрПвО " 
    2730 "парПлО ОлО път ЎП файл с ОтПрОзОраща ПарПла.<br><br>Оставете тПва пПле " 
    2731 "празМП за Ўа Ме се ОзОсква парПла.</span>" 
    2732  
    2733 msgid "Emergency Dialing" 
    2734 msgstr "ИзбОраМе Ма СпешМО СлучаО" 
    2735  
    2736 msgid "" 
    2737 "Optional: Selecting this option will enforce the use of a device's Emergency " 
    2738 "CID setting (if set).  Select this option if this set of routes is used for " 
    2739 "emergency dialing (ie: 911).</span>" 
    2740 msgstr "" 
    2741 "НезаЎължОтелМП: ИзбОраМетП Ма тазО ПпцОя ще МалПжО ОзпПлзваМетП Ма CID за " 
    2742 "СпешМО СлучаО МастрПйкОте (акП са устаМПвеМО).  Изберете тазО ПпцОя акП тПзО " 
    2743 "Ќаршрут се ОзпПлзва за ОзбОраМе Ма спешМО случаО (МапрОЌер: 112).</span>" 
    2744  
    2745 msgid "Intra Company Route" 
    2746 msgstr "МежЎу ЀОрЌеМ Маршрут" 
    2747  
    2748 msgid "" 
    2749 "Optional: Selecting this option will treat this route as a intra-company " 
    2750 "connection, preserving the internal Caller ID information and not use the " 
    2751 "outbound CID of either the extension or trunk.</span>" 
    2752 msgstr "" 
    2753 "НезаЎължОтелеМ: ИзбОрайкО тазО ПпцОя ще третОрате тПзО Ќаршрут катП ЌежЎу-" 
    2754 "фОрЌеМа връзка, запазвайкО вътрешМата Caller ID ОМфПрЌацОя О МяЌа Ўа се " 
    2755 "ОзпПлзва CID Ма вътрешМОте ОлО въМшМОте лОМОО.</span>" 
     2719"not prompt for password." 
     2720msgstr "" 
     2721 
     2722msgid "Route Type" 
     2723msgstr "" 
     2724 
     2725msgid "" 
     2726"Optional: Selecting Emergency will enforce the use of a device's Emergency " 
     2727"CID setting (if set).  Select this option if this route is used for " 
     2728"emergency dialing (ie: 911)." 
     2729msgstr "" 
     2730 
     2731msgid "" 
     2732"Optional: Selecting Intra-Company will treat this route as an intra-company " 
     2733"connection, preserving the internal Caller ID information instead of the " 
     2734"outbound CID of either the extension or trunk." 
     2735msgstr "" 
     2736 
     2737msgid "Emergency" 
     2738msgstr "СпешМО СлучаО" 
     2739 
     2740msgid "Intra-Company" 
     2741msgstr "" 
    27562742 
    27572743msgid "Music On Hold?" 
     
    27682754ПЎящОя езОк." 
    27692755 
    2770 msgid "Dial Patterns" 
    2771 msgstr "СѠ
    2772 ÐµÐŒÐž Ма ИзбОраМе" 
    2773  
    2774 msgid "" 
    2775 "A Dial Pattern is a unique set of digits that will select this trunk. Enter " 
    2776 "one dial pattern per line." 
    2777 msgstr "" 
    2778 "СѠ
    2779 ÐµÐŒÐ°Ñ‚а Ма ОзбОраМе е уМОкалеМ пПЎбПр Пт цОфрО, кПОтП ще ПпреЎелят " 
    2780 "ОзпПлзваМетП Ма тазО въМшМа лОМОя. ВъвежЎайте пП еЎМа сѠ
    2781 ÐµÐŒÐ° Ма реЎ." 
     2756msgid "default" 
     2757msgstr "" 
     2758 
     2759msgid "Time Group:" 
     2760msgstr "" 
     2761 
     2762msgid "" 
     2763"If this route should only be available during certain times then Select a " 
     2764"Time Group created under Time Groups. The route will be ignored outside of " 
     2765"times specified in that Time Group. If left as default of Permanent Route " 
     2766"then it will always be available." 
     2767msgstr "" 
     2768 
     2769msgid "---Permanent Route---" 
     2770msgstr "" 
     2771 
     2772msgid "Route Position" 
     2773msgstr "" 
     2774 
     2775msgid "Where to insert this route or relocate it relative to the other routes." 
     2776msgstr "" 
     2777 
     2778#, php-format 
     2779msgid "First before %s" 
     2780msgstr "" 
     2781 
     2782msgid "---No Change---" 
     2783msgstr "" 
     2784 
     2785#, php-format 
     2786msgid "Before %s" 
     2787msgstr "" 
     2788 
     2789#, php-format 
     2790msgid "Last after %s" 
     2791msgstr "" 
     2792 
     2793msgid "Additional Settings" 
     2794msgstr "" 
     2795 
     2796msgid "Dial Patterns that will use this Route" 
     2797msgstr "" 
     2798 
     2799msgid "" 
     2800"A Dial Pattern is a unique set of digits that will select this route and " 
     2801"send the call to the designated trunks. If a dialed pattern matches this " 
     2802"route, no subsequent routes will be tried. If Time Groups are enabled, " 
     2803"subsequent routes will be checked for matches outside of the designated time" 
     2804"(s)." 
     2805msgstr "" 
    27822806 
    27832807msgid "Rules:" 
     
    27932817msgstr "ПтгПваря Ма цОфрОте Пт 2-9" 
    27942818 
    2795 msgid "" 
    2796 "matches any digit or letter in the brackets (in this example, 1,2,3,7,8,9)" 
    2797 msgstr "" 
    2798 "ПтгПваря Ма цОфрОте ОлО сОЌвПлОте в скПбОте (в тПзО прОЌер, 1,2,3,7,8,9)" 
    2799  
    2800 msgid "wildcard, matches one or more characters" 
    2801 msgstr "тПчка, ПтгПваря Ма еЎОМ ОлО пПвече сОЌвПлО" 
    2802  
    2803 msgid "" 
    2804 "separates a dialing prefix from the number (for example, 9|NXXXXXX would " 
    2805 "match when some dialed \"95551234\" but would only pass \"5551234\" to the " 
    2806 "trunks)" 
    2807 msgstr "" 
    2808 "разЎеля префОкса за ОзбОраМе Пт МПЌера (МапрОЌер, 9|NXXXXXX ще ПтгПваря " 
    2809 "кПгатП МякПй Мабере \"95551234\" МП ще прПпусМе саЌП \"5551234\" къЌ " 
    2810 "въМшМата лОМОя)" 
    2811  
    2812 msgid "" 
    2813 "appended to a dial pattern, matches a callerid or callerid pattern (for " 
    2814 "example, NXXXXXX/104 would match only if dialed by extension \"104\")" 
    2815 msgstr "" 
    2816  
    2817 msgid "Clean & Remove duplicates" 
    2818 msgstr "ИзчОстО О ПреЌаѠ
    2819 ÐœÐž пПвтарящОте се" 
     2819msgid "matches any digit in the brackets (example: 1,2,3,7,8,9)" 
     2820msgstr "" 
     2821 
     2822msgid "wildcard, matches one or more dialed digits" 
     2823msgstr "" 
     2824 
     2825msgid "prepend:" 
     2826msgstr "" 
     2827 
     2828msgid "" 
     2829"Digits to prepend to a successful match. If the dialed number matches the " 
     2830"patterns specified by the subsequent columns, then this will be prepended " 
     2831"before sending to the trunks." 
     2832msgstr "" 
     2833 
     2834msgid "prefix:" 
     2835msgstr "" 
     2836 
     2837msgid "" 
     2838"Prefix to remove on a successful match. The dialed number is compared to " 
     2839"this and the subsequent columns for a match. Upon a match, this prefix is " 
     2840"removed from the dialed number before sending it to the trunks." 
     2841msgstr "" 
     2842 
     2843msgid "match pattern:" 
     2844msgstr "" 
     2845 
     2846msgid "" 
     2847"The dialed number will be compared against the  prefix + this match pattern. " 
     2848"Upon a match, the match pattern portion of the dialed number will be sent to " 
     2849"the trunks" 
     2850msgstr "" 
     2851 
     2852msgid "CallerID:" 
     2853msgstr "" 
     2854 
     2855msgid "" 
     2856"If CallerID is supplied, the dialed number will only match the prefix + " 
     2857"match pattern if the CallerID being transmitted matches this. When " 
     2858"extensions make outbound calls, the CallerID will be their extension number " 
     2859"and NOT their Outbound CID. The above special matching sequences can be used " 
     2860"for CallerID matching similar to other number matches." 
     2861msgstr "" 
     2862 
     2863msgid "prepend" 
     2864msgstr "" 
     2865 
     2866msgid "prefix" 
     2867msgstr "" 
     2868 
     2869msgid "match pattern" 
     2870msgstr "" 
     2871 
     2872msgid "CallerId" 
     2873msgstr "" 
    28202874 
    28212875msgid "Dial patterns wizards" 
     
    28682922"http://www.php.net/curl за пПвече ОМфПрЌацОя." 
    28692923 
     2924msgid "NXXXXXX" 
     2925msgstr "" 
     2926 
     2927msgid "NXXXXXX,NXXNXXXXXX" 
     2928msgstr "" 
     2929 
     2930msgid "1800NXXXXXX,1888NXXXXXX,1877NXXXXXX,1866NXXXXXX" 
     2931msgstr "" 
     2932 
     2933msgid "1NXXNXXXXXX" 
     2934msgstr "" 
     2935 
     2936msgid "011." 
     2937msgstr "" 
     2938 
     2939msgid "411,311" 
     2940msgstr "" 
     2941 
     2942msgid "911" 
     2943msgstr "" 
     2944 
    28702945msgid "(pick one)" 
    28712946msgstr "(ОзберО еЎМП)" 
     
    28892964msgstr "ИМфПрЌацОя" 
    28902965 
    2891 msgid "Emergency" 
    2892 msgstr "СпешМО СлучаО" 
    2893  
    2894 msgid "Trunk Sequence" 
    2895 msgstr "ППЎреЎба Ма ВъМшМОте ЛОМОО" 
     2966msgid "Trunk Sequence for Matched Routes" 
     2967msgstr "" 
    28962968 
    28972969msgid "" 
     
    29102982"скъпО ЌаршрутО (POTS въМшМО лОМОО)." 
    29112983 
     2984msgid "Move Up" 
     2985msgstr "ПреЌестО НагПре" 
     2986 
     2987msgid "Move Down" 
     2988msgstr "ПреЌестО НаЎПлу" 
     2989 
     2990msgid "Add Trunk" 
     2991msgstr "ДПбавО ВъМшМа ЛОМОя" 
     2992 
     2993msgid "remove" 
     2994msgstr "" 
     2995 
     2996msgid "Click here to remove this pattern" 
     2997msgstr "" 
     2998 
    29122999msgid "Route name is invalid, please try again" 
    29133000msgstr "ИЌетП Ма Ќаршрута е МеправОлМП, ЌПля ПпОтайте ПтМПвП" 
     
    29173004"ПарПлата Ма Ќаршрута трябва Ўа е цОфрПва ОлО Пставете пПлетП празМП за " 
    29183005"забраМа" 
     3006 
     3007msgid "At least one trunk must be picked" 
     3008msgstr "Трябва Ўа Озберете пПМе еЎМа въМшМа лОМОя" 
     3009 
     3010msgid "Invalid Outbound Caller ID" 
     3011msgstr "НеправОлеМ ИзѠ
     3012ПЎящ Caller ID" 
     3013 
     3014msgid "No dial pattern, there must be at least one" 
     3015msgstr "" 
    29193016 
    29203017msgid "Dial pattern is invalid" 
     
    29223019еЌата Ма ОзбОраМе е МаправОлМа" 
    29233020 
    2924 msgid "At least one trunk must be picked" 
    2925 msgstr "Трябва Ўа Озберете пПМе еЎМа въМшМа лОМОя" 
    2926  
    2927 msgid "Invalid Outbound Caller ID" 
    2928 msgstr "НеправОлеМ ИзѠ
    2929 ÐŸÐŽÑÑ‰ Caller ID" 
    2930  
    2931 msgid "Add Trunk" 
    2932 msgstr "ДПбавО ВъМшМа ЛОМОя" 
    2933  
    29343021#, php-format 
    29353022msgid "Channel %s" 
     
    29393026msgstr "ДПбавяМе Ма ВъМшМа ЛОМОя" 
    29403027 
     3028msgid "Add SIP Trunk" 
     3029msgstr "ДПбавО SIP ВъМшМа ЛОМОя" 
     3030 
     3031msgid "Add DAHDI Trunk" 
     3032msgstr "" 
     3033 
    29413034msgid "Add Zap Trunk" 
    29423035msgstr "ДПбавО Zap ВъМшМа ЛОМОя" 
     
    29443037msgid "DAHDI compatibility mode" 
    29453038msgstr "DAHDI съвЌестОЌ режОЌ" 
    2946  
    2947 msgid "Add SIP Trunk" 
    2948 msgstr "ДПбавО SIP ВъМшМа ЛОМОя" 
    29493039 
    29503040msgid "Add IAX2 Trunk" 
     
    30133103"have a mapping on the remote system, and corresponding configurations in " 
    30143104"dundi.conf locally, that looks as follows:<br /><br />[mappings]<br />priv " 
    3015 "=> dundi-extens,0,IAX2,priv:${SECRET}@218.23.42.26/${NUMBER},noparital<br /" 
     3105"=> dundi-extens,0,IAX2,priv:${SECRET}@218.23.42.26/${NUMBER},nopartial<br /" 
    30163106"><br />In this example, you would create this trunk and name it priv. You " 
    30173107"would then create the corresponding IAX2 trunk with proper settings to work " 
     
    30403130"кПМтекстО О геМерОраМО Пт FreePBX." 
    30413131 
    3042 msgid "Trunk Description
    3043 msgstr "
     3132msgid "Trunk Name
     3133msgstr "ИЌе Ма ВъМшМа ЛОМОя
    30443134 
    30453135msgid "Descriptive Name for this Trunk" 
     
    31363226"ОлО CANCEL." 
    31373227 
    3138 msgid "Outgoing Dial Rules" 
    3139 msgstr "ПравОла за ИзѠ
    3140 ÐŸÐŽÑÑ‰ÐŸ ИзбОраМе" 
    3141  
    3142 msgid "Dial Rules" 
    3143 msgstr "ПравОла за ИзбОраМе" 
    3144  
    3145 msgid "" 
    3146 "A Dial Rule controls how calls will be dialed on this trunk. It can be used " 
    3147 "to add or remove prefixes. Numbers that don't match any patterns defined " 
    3148 "here will be dialed as-is. Note that a pattern without a + or | (to add or " 
    3149 "remove a prefix) will not make any changes but will create a match. Only the " 
    3150 "first matched rule will be executed and the remaining rules will not be " 
    3151 "acted on." 
    3152 msgstr "" 
    3153 "ПравОлата за ИзбОраМе кПМтрПлОрат как всОчкО ПбажЎаМОя ще се ОзбОрат през " 
    3154 "тазО въМшМа лОМОя. МПгат Ўа се ОзпПлзват за ЎПбавяМе ОлО преЌаѠ
    3155 Ð²Ð°ÐœÐµ Ма " 
    3156 "префОксО. НПЌерата кПОтП Ме съвпаЎат с МОтП еЎМа Пт сѠ
    3157 ÐµÐŒÐžÑ‚е ПпреЎелеМО тук " 
    3158 "ще се ОзбОрат кактП са сО. ИЌайте в преЎвОЎ, че сѠ
    3159 ÐµÐŒÐž без + ОлО | (Ўа ЎПбавО " 
    3160 "ОлО преЌаѠ
    3161 ÐœÐµ префОкс) МяЌа Ўа Маправят МОкаквО прПЌеМО в МабраМОя МПЌер, МП " 
    3162 "ще съзЎаЎе съвпаЎеМОе. СаЌП първПтП правОлП кПетП ПтгПваря ще бъЎе " 
    3163 "ОзпълМеМП, катП ПстаМалОте МяЌа Ўа бъЎат съпПставеМО." 
    3164  
    3165 msgid "wildcard, matches one or more characters (not allowed before a | or +)" 
    3166 msgstr "" 
    3167 "тПчка, ПтгПваря Ма еЎОМ ОлО пПвече сОЌвПла (Ме се пПзвПлява преЎО | ОлО +)" 
    3168  
    3169 msgid "" 
    3170 "removes a dialing prefix from the number (for example, 613|NXXXXXX would " 
    3171 "match when some dialed \"6135551234\" but would only pass \"5551234\" to the " 
    3172 "trunk)" 
    3173 msgstr "" 
    3174 "преЌаѠ
    3175 Ð²Ð° префОкс за ОзбОраМе Пт МПЌера (МапрОЌер, 613|NXXXXXX ще ПтгПваря " 
    3176 "кПгатП МякПй Мабере \"6135551234\" МП ще прПпусМе саЌП \"5551234\" къЌ " 
    3177 "въМшМата лОМОя)" 
    3178  
    3179 msgid "" 
    3180 "adds a dialing prefix from the number (for example, 1613+NXXXXXX would match " 
    3181 "when some dialed \"5551234\" and would pass \"16135551234\" to the trunk)" 
    3182 msgstr "" 
    3183 "ЎПбавя префОкс за ОзбОраМе къЌ МПЌера (МапрОЌер, 1613+NXXXXXX ще ПтгПваря " 
    3184 "кПгатП МякПй Мабере \"5551234\" МП ще ОзпратО \"16135551234\" къЌ въМшМата " 
    3185 "лОМОя)" 
    3186  
    3187 msgid "" 
    3188 "You can also use both + and |, for example: 01+0|1ZXXXXXXXXX would match " 
    3189 "\"016065551234\" and dial it as \"0116065551234\" Note that the order does " 
    3190 "not matter, eg. 0|01+1ZXXXXXXXXX does the same thing." 
    3191 msgstr "" 
    3192 "СъщП така ЌПжете Ўа ОзпПлзвате еЎМПвреЌеММП + О |, МапрОЌер: 01+0|" 
    3193 "1ZXXXXXXXXX ще ПтгПваря Ма \"016065551234\" О ще гП МабОра катП " 
    3194 "\"0116065551234\" ИЌайте в преЎвОЎ че пПслеЎПвателМПстта МяЌа зМачеМОе, катП " 
    3195 "0|01+1ZXXXXXXXXX ПзМачава същПтП." 
     3228msgid "Dialed Number Manipulation Rules" 
     3229msgstr "" 
     3230 
     3231msgid "" 
     3232"These rules can manipulate the dialed number before sending it out this " 
     3233"trunk. If no rule applies, the number is not changed. The original dialed " 
     3234"number is passed down from the route where some manipulation may have " 
     3235"already occurred. This trunk has the option to further manipulate the " 
     3236"number. If the number matches the combined values in the <b>prefix</b> plus " 
     3237"the <b>match pattern</b> boxes, the rule will be applied and all subsequent " 
     3238"rules ignored.<br/> Upon a match, the <b>prefix</b>, if defined, will be " 
     3239"stripped. Next the <b>prepend</b> will be inserted in front of the <b>match " 
     3240"pattern</b> and the resulting number will be sent to the trunk. All fields " 
     3241"are optional." 
     3242msgstr "" 
     3243 
     3244msgid "" 
     3245"Digits to prepend upon a successful match. If the dialed number matches the " 
     3246"patterns in the <b>prefix</b> and <b>match pattern</b> boxes, this will be " 
     3247"prepended before sending to the trunk." 
     3248msgstr "" 
     3249 
     3250msgid "" 
     3251"Prefix to remove upon a successful match. If the dialed number matches this " 
     3252"plus the <b>match pattern</b> box, this prefix is removed before adding the " 
     3253"optional <b>prepend</b> box and sending the results to the trunk." 
     3254msgstr "" 
     3255 
     3256msgid "" 
     3257"The dialed number will be compared against the <b>prefix</b> plus this " 
     3258"pattern. Upon a match, this portion of the number will be sent to the trunks " 
     3259"after removing the <b>prefix</b> and appending the <b>prepend</b> digits" 
     3260msgstr "" 
     3261 
     3262msgid "" 
     3263"You can completely replace a number by matching on the <b>prefix</b> only, " 
     3264"replacing it with a <b>prepend</b> and leaving the <b>match pattern</b> " 
     3265"blank." 
     3266msgstr "" 
     3267 
     3268msgid "+ Add More Dial Pattern Fields" 
     3269msgstr "" 
     3270 
     3271msgid "Clear all Fields" 
     3272msgstr "" 
    31963273 
    31973274msgid "Dial Rules Wizards" 
     
    32133290 
    32143291msgid "" 
    3215 "is useful for ZAP trunks, where if a local number is dialed as \"6135551234" 
    3216 "\", it can be converted to \"555-1234\"." 
    3217 msgstr "" 
    3218 "е уЎачМП за ZAP въМшМО лОМОО, къЎетП акП граЎскО МПЌер е ОзбраМ катП " 
    3219 "\"6135551234\", ЌПже Ўа бъЎе преПбразуваМ в \"555-1234\"." 
     3292"is useful for ZAP and DAHDI trunks, where if a local number is dialed as " 
     3293"\"6135551234\", it can be converted to \"555-1234\"." 
     3294msgstr "" 
     3295 
     3296msgid "Setup Google for directory assistance" 
     3297msgstr "" 
     3298 
     3299msgid "" 
     3300"is useful to translate a call to directory assistance (default: 411) to " 
     3301"Google's toll free directory (default: 18004664411) or any other number of " 
     3302"your choosing" 
     3303msgstr "" 
    32203304 
    32213305msgid "Lookup numbers for local trunk" 
     
    32943378msgstr "" 
    32953379"(МапрОЌер NXXNXXXXXX за US/CAN 10-цОфрПвП ОзбОраМе, NXXXXXX за 7-цОфрО)" 
     3380 
     3381msgid "" 
     3382"What is the directory assistance number you will dial locally in the format " 
     3383"that is passed to this trunk, ie 411" 
     3384msgstr "" 
     3385 
     3386msgid "\"411\"" 
     3387msgstr "" 
     3388 
     3389msgid "Invalid pattern. Only 0-9, #, *" 
     3390msgstr "" 
     3391 
     3392msgid "" 
     3393"Google 411 number to dial, or alternative number you want dialed when " 
     3394"calling directory assistance on this trunk" 
     3395msgstr "" 
     3396 
     3397msgid "18004664411" 
     3398msgstr "" 
     3399 
     3400msgid "Invalid number. Only 0-9, #,  and * are allowed." 
     3401msgstr "" 
    32963402 
    32973403msgid "Outbound Dial Prefix" 
     
    33223428ПЎящО НастрПйкО" 
    33233429 
    3324 msgid "Zap Identifier (trunk name)
    3325 msgstr "Zap ИЎеМтОфОкатПр (ОЌе Ма въМшМа лОМОя)
     3430msgid "Zap Identifier
     3431msgstr "
    33263432 
    33273433msgid "" 
     
    33323438"ZAP каМалОте се ПтМасят за всекО МПЌер Ма група ОлО МПЌер Ма каМал (кПетП е " 
    33333439"ПпреЎелеМП в zapata.conf).  <br><br>ПП-пПЎразбОраМе <b>g0</b> (група Мула)." 
     3440 
     3441msgid "DAHDI Identifier" 
     3442msgstr "" 
     3443 
     3444msgid "" 
     3445"DAHDI channels are referenced either by a group number or channel number " 
     3446"(which is defined in chan_dahdi.conf).  <br><br>The default setting is " 
     3447"<b>g0</b> (group zero)." 
     3448msgstr "" 
    33343449 
    33353450msgid "Custom Dial String" 
     
    33553470"ЎетайлОте в лПкалМОя dundi.conf файл. ИзОсква се ЎПпълМОтелМП кПМфОгурОраМе " 
    33563471"Ма ръка Ма DUNDi за Ўа се ОзпПлзва тазО въМшМа лОМОя." 
    3357  
    3358 msgid "Trunk Name" 
    3359 msgstr "ИЌе Ма ВъМшМа ЛОМОя" 
    33603472 
    33613473msgid "Give this trunk a unique name.  Example: myiaxtel" 
     
    34553567 
    34563568msgid "" 
    3457 "You must define an Outbound Caller ID when Choosing Never Override CallerID" 
    3458 msgstr "" 
    3459 "Трябва Ўа ПпреЎелОте ИзѠ
    3460 ÐŸÐŽÑÑ‰ Caller ID кПгатП ОзбОрате Не ПреМапОсвай " 
    3461 "CallerID" 
     3569"You must define an Outbound Caller ID when Choosing this CID Options value" 
     3570msgstr "" 
     3571 
     3572msgid "" 
     3573"It is highly recommended that you define an Outbound Caller ID on all " 
     3574"trunks, undefined behavior can result when nothing is specified. The CID " 
     3575"Options can control when this CID is used. Do you still want to continue?" 
     3576msgstr "" 
    34623577 
    34633578msgid "" 
  • freepbx/trunk/amp_conf/htdocs/admin/i18n/de_DE/LC_MESSAGES/amp.po

    r9070 r10122  
    1010"Project-Id-Version: AMP VERSION\n" 
    1111"Report-Msgid-Bugs-To: \n" 
    12 "POT-Creation-Date: 2010-02-28 20:57+0100\n" 
     12"POT-Creation-Date: 2010-06-27 12:16+0200\n" 
    1313"PO-Revision-Date: 2005-07-14 09:12+0200\n" 
    1414"Last-Translator: Alex Zagler, Silvio Schneider <az@zagler.net, suvi@gmx.ch>\n" 
     
    2121msgstr "" 
    2222 
     23msgid "Please select a valid destination." 
     24msgstr "" 
     25 
    2326msgid "Internal Options & Configuration" 
    2427msgstr "" 
     
    6972msgstr "" 
    7073 
     74msgid "Trace Back" 
     75msgstr "" 
     76 
    7177#, php-format 
    7278msgid "Exit code was %s and output was: %s" 
     
    107113msgstr "Hinzuf&uuml;gen" 
    108114 
    109 msgid "Unknown Destination" 
    110 msgstr "" 
    111  
    112 msgid "" 
    113 "ERROR: You have an unknown destination. If this was carried over as a Custom " 
    114 "App from an earlier version, you must go register the destination in the " 
    115 "Custom Destination tab provided by the Custom Applications module.<br />This " 
    116 "will remain active until you change it but you can no longer edit or add a " 
    117 "new one here." 
     115msgid "choose one" 
     116msgstr "" 
     117 
     118msgid "Terminate Call" 
     119msgstr "" 
     120 
     121msgid "description" 
    118122msgstr "" 
    119123 
     
    357361"You are using the default Asterisk Manager password that is widely known, " 
    358362"you should set a secure password" 
     363msgstr "" 
     364 
     365msgid "Default ARI Admin password Used" 
     366msgstr "" 
     367 
     368msgid "" 
     369"You are using the default ARI Admin password that is widely known, you " 
     370"should change to a new password. Do this in amportal.conf" 
    359371msgstr "" 
    360372 
     
    699711#, php-format 
    700712msgid "Description for version %s" 
    701 msgstr "" 
    702  
    703 msgid "description" 
    704713msgstr "" 
    705714 
     
    795804 
    796805msgid "SUSPECT LINK:" 
     806msgstr "" 
     807 
     808msgid "click to expand/collapse section" 
    797809msgstr "" 
    798810 
     
    10781090msgstr "" 
    10791091 
    1080 msgid "Terminate Call" 
    1081 msgstr "" 
    1082  
    10831092msgid "Hangup" 
    10841093msgstr "" 
     
    11011110#, php-format 
    11021111msgid "User Extension %s: %s" 
     1112msgstr "" 
     1113 
     1114#, php-format 
     1115msgid "Trunk: %s (%s)" 
     1116msgstr "" 
     1117 
     1118#, php-format 
     1119msgid "Calling Out Route: %s" 
    11031120msgstr "" 
    11041121 
     
    11371154 
    11381155msgid "Error Duplicate Channel Entry" 
     1156msgstr "" 
     1157 
     1158#, php-format 
     1159msgid "Outbound Route: %s" 
    11391160msgstr "" 
    11401161 
     
    14241445msgstr "" 
    14251446 
     1447msgid "Generic DAHDI Device" 
     1448msgstr "" 
     1449 
    14261450msgid "Other (Custom) Device" 
    14271451msgstr "" 
     
    16521676 
    16531677msgid "done" 
    1654 msgstr "" 
    1655  
    1656 msgid "Checking if trunks_dialpatterns table exists.." 
    1657 msgstr "" 
    1658  
    1659 msgid "created" 
    1660 msgstr "" 
    1661  
    1662 msgid "loading table from localprefixes.conf.." 
    1663 msgstr "" 
    1664  
    1665 msgid "loaded" 
    16661678msgstr "" 
    16671679 
     
    20872099msgstr "" 
    20882100 
     2101msgid "Operator Extension:" 
     2102msgstr "" 
     2103 
     2104msgid "" 
     2105"Default number to dial when callers hit '0' from voicemail or the built in " 
     2106"IVR directory (it has no effect on the Directory Module). This does NOT need " 
     2107"to be an extension, it can be a Ring Group, or even an external number." 
     2108msgstr "" 
     2109 
    20892110msgid "Voicemail VmX Locator" 
    20902111msgstr "" 
     
    21692190msgstr "" 
    21702191 
    2171 msgid "Company Directory" 
    2172 msgstr "Telefonbuch
     2192msgid "Legacy Company Directory" 
     2193msgstr "
    21732194 
    21742195msgid "Find users in the Company Directory by:" 
     
    21972218"lets the caller know what extension to use in the future when connecting " 
    21982219"from the company directory." 
    2199 msgstr "" 
    2200  
    2201 msgid "Operator Extension:" 
    2202 msgstr "" 
    2203  
    2204 msgid "" 
    2205 "When users hit '0' in the directory, they are put through to this number. " 
    2206 "Note that it" 
    2207 msgstr "" 
    2208  
    2209 msgid "" 
    2210 " does NOT need to be an extension, it can be a Ring Group, or even an " 
    2211 "external number." 
    22122220msgstr "" 
    22132221 
     
    22922300msgstr "" 
    22932301 
    2294 msgid "Error renaming route: duplicate name" 
    2295 msgstr "Fehler beim Umbenennen: Name bereits vergeben" 
    2296  
    22972302msgid "Error fetching prefix list for: " 
    22982303msgstr "Fehler beim abrufen der Vorwahlliste f&uuml;r:" 
     
    23012306msgstr "Falsches Format f&uuml;r den NPA-NXX code (muss NXXNXX sein)" 
    23022307 
     2308msgid "" 
     2309"An unknown error occurred repositioning routes, refresh your browser to see " 
     2310"the current correct route positions" 
     2311msgstr "" 
     2312 
    23032313msgid "Add Route" 
    23042314msgstr "Verbindung hinzufgen" 
    23052315 
    2306 msgid "Move Up" 
    2307 msgstr "" 
    2308  
    2309 msgid "Move Down" 
     2316msgid "Drag up or down to reposition, click to choose" 
    23102317msgstr "" 
    23112318 
    23122319msgid "Edit Route" 
    23132320msgstr "Verbindung bearbeiten" 
     2321 
     2322msgid "Route Settings" 
     2323msgstr "" 
    23142324 
    23152325msgid "Route Name" 
     
    23202330"matches (for example, 'local' or 'longdistance')." 
    23212331msgstr "Name der Verbindung. Beschreibt welche Art von Anrufen hier zutrifft." 
    2322  
    2323 msgid "Rename" 
    2324 msgstr "Umbenennen" 
    2325  
    2326 msgid "Rename route" 
    2327 msgstr "" 
    2328  
    2329 msgid "to:" 
    2330 msgstr "an:" 
    2331  
    2332 msgid "Route name is invalid...please try again" 
    2333 msgstr "" 
    23342332 
    23352333msgid "Route CID" 
     
    23442342msgstr "" 
    23452343 
    2346 msgid "Override Extension CID" 
     2344msgid "Override Extension" 
     2345msgstr "" 
     2346 
     2347msgid "" 
     2348"If checked the extension's Outbound CID will be ignored in favor of this " 
     2349"CID. The extension's Emergency CID will still be used if the route is an " 
     2350"Emergency Route and the Extension has a defined Emergency CID." 
    23472351msgstr "" 
    23482352 
     
    23552359"destinations or 1-900 numbers.<br><br>A numerical password, or the path to " 
    23562360"an Authenticate password file can be used.<br><br>Leave this field blank to " 
    2357 "not prompt for password.</span>" 
    2358 msgstr "" 
    2359  
    2360 msgid "Emergency Dialing" 
    2361 msgstr "" 
    2362  
    2363 msgid "" 
    2364 "Optional: Selecting this option will enforce the use of a device's Emergency " 
    2365 "CID setting (if set).  Select this option if this set of routes is used for " 
    2366 "emergency dialing (ie: 911).</span>" 
    2367 msgstr "" 
    2368  
    2369 msgid "Intra Company Route" 
    2370 msgstr "" 
    2371  
    2372 msgid "" 
    2373 "Optional: Selecting this option will treat this route as a intra-company " 
    2374 "connection, preserving the internal Caller ID information and not use the " 
    2375 "outbound CID of either the extension or trunk.</span>" 
     2361"not prompt for password." 
     2362msgstr "" 
     2363 
     2364msgid "Route Type" 
     2365msgstr "" 
     2366 
     2367msgid "" 
     2368"Optional: Selecting Emergency will enforce the use of a device's Emergency " 
     2369"CID setting (if set).  Select this option if this route is used for " 
     2370"emergency dialing (ie: 911)." 
     2371msgstr "" 
     2372 
     2373msgid "" 
     2374"Optional: Selecting Intra-Company will treat this route as an intra-company " 
     2375"connection, preserving the internal Caller ID information instead of the " 
     2376"outbound CID of either the extension or trunk." 
     2377msgstr "" 
     2378 
     2379msgid "Emergency" 
     2380msgstr "" 
     2381 
     2382msgid "Intra-Company" 
    23762383msgstr "" 
    23772384 
     
    23852392msgstr "" 
    23862393 
    2387 msgid "Dial Patterns" 
    2388 msgstr "W&auml;hlfolge" 
    2389  
    2390 msgid "" 
    2391 "A Dial Pattern is a unique set of digits that will select this trunk. Enter " 
    2392 "one dial pattern per line." 
    2393 msgstr "" 
    2394 "Eine W&auml;hlfolge ist eine einmalige Zahlenkombination die diese Leitung " 
    2395 "verwendet." 
     2394msgid "default" 
     2395msgstr "" 
     2396 
     2397msgid "Time Group:" 
     2398msgstr "" 
     2399 
     2400msgid "" 
     2401"If this route should only be available during certain times then Select a " 
     2402"Time Group created under Time Groups. The route will be ignored outside of " 
     2403"times specified in that Time Group. If left as default of Permanent Route " 
     2404"then it will always be available." 
     2405msgstr "" 
     2406 
     2407msgid "---Permanent Route---" 
     2408msgstr "" 
     2409 
     2410msgid "Route Position" 
     2411msgstr "" 
     2412 
     2413msgid "Where to insert this route or relocate it relative to the other routes." 
     2414msgstr "" 
     2415 
     2416#, php-format 
     2417msgid "First before %s" 
     2418msgstr "" 
     2419 
     2420msgid "---No Change---" 
     2421msgstr "" 
     2422 
     2423#, php-format 
     2424msgid "Before %s" 
     2425msgstr "" 
     2426 
     2427#, php-format 
     2428msgid "Last after %s" 
     2429msgstr "" 
     2430 
     2431msgid "Additional Settings" 
     2432msgstr "" 
     2433 
     2434msgid "Dial Patterns that will use this Route" 
     2435msgstr "" 
     2436 
     2437msgid "" 
     2438"A Dial Pattern is a unique set of digits that will select this route and " 
     2439"send the call to the designated trunks. If a dialed pattern matches this " 
     2440"route, no subsequent routes will be tried. If Time Groups are enabled, " 
     2441"subsequent routes will be checked for matches outside of the designated time" 
     2442"(s)." 
     2443msgstr "" 
    23962444 
    23972445msgid "Rules:" 
     
    24072455msgstr "gilt f&uuml;r Zahlen von 2-9" 
    24082456 
    2409 msgid "" 
    2410 "matches any digit or letter in the brackets (in this example, 1,2,3,7,8,9)" 
    2411 msgstr "gilt f&uuml;r Zahlen innerhalb von Klammern (z.B., 1,2,3,7,8,9) " 
    2412  
    2413 msgid "wildcard, matches one or more characters" 
    2414 msgstr "ein oder mehrere Zeichen" 
    2415  
    2416 msgid "" 
    2417 "separates a dialing prefix from the number (for example, 9|NXXXXXX would " 
    2418 "match when some dialed \"95551234\" but would only pass \"5551234\" to the " 
    2419 "trunks)" 
    2420 msgstr "" 
    2421  
    2422 msgid "" 
    2423 "appended to a dial pattern, matches a callerid or callerid pattern (for " 
    2424 "example, NXXXXXX/104 would match only if dialed by extension \"104\")" 
    2425 msgstr "" 
    2426  
    2427 msgid "Clean & Remove duplicates" 
    2428 msgstr "Bereinigen und Duplikate entfernen" 
     2457msgid "matches any digit in the brackets (example: 1,2,3,7,8,9)" 
     2458msgstr "" 
     2459 
     2460msgid "wildcard, matches one or more dialed digits" 
     2461msgstr "" 
     2462 
     2463msgid "prepend:" 
     2464msgstr "" 
     2465 
     2466msgid "" 
     2467"Digits to prepend to a successful match. If the dialed number matches the " 
     2468"patterns specified by the subsequent columns, then this will be prepended " 
     2469"before sending to the trunks." 
     2470msgstr "" 
     2471 
     2472msgid "prefix:" 
     2473msgstr "" 
     2474 
     2475msgid "" 
     2476"Prefix to remove on a successful match. The dialed number is compared to " 
     2477"this and the subsequent columns for a match. Upon a match, this prefix is " 
     2478"removed from the dialed number before sending it to the trunks." 
     2479msgstr "" 
     2480 
     2481msgid "match pattern:" 
     2482msgstr "" 
     2483 
     2484msgid "" 
     2485"The dialed number will be compared against the  prefix + this match pattern. " 
     2486"Upon a match, the match pattern portion of the dialed number will be sent to " 
     2487"the trunks" 
     2488msgstr "" 
     2489 
     2490msgid "CallerID:" 
     2491msgstr "" 
     2492 
     2493msgid "" 
     2494"If CallerID is supplied, the dialed number will only match the prefix + " 
     2495"match pattern if the CallerID being transmitted matches this. When " 
     2496"extensions make outbound calls, the CallerID will be their extension number " 
     2497"and NOT their Outbound CID. The above special matching sequences can be used " 
     2498"for CallerID matching similar to other number matches." 
     2499msgstr "" 
     2500 
     2501msgid "prepend" 
     2502msgstr "" 
     2503 
     2504msgid "prefix" 
     2505msgstr "" 
     2506 
     2507msgid "match pattern" 
     2508msgstr "" 
     2509 
     2510msgid "CallerId" 
     2511msgstr "" 
    24292512 
    24302513msgid "Dial patterns wizards" 
     
    24652548msgstr "" 
    24662549 
     2550msgid "NXXXXXX" 
     2551msgstr "" 
     2552 
     2553msgid "NXXXXXX,NXXNXXXXXX" 
     2554msgstr "" 
     2555 
     2556msgid "1800NXXXXXX,1888NXXXXXX,1877NXXXXXX,1866NXXXXXX" 
     2557msgstr "" 
     2558 
     2559msgid "1NXXNXXXXXX" 
     2560msgstr "" 
     2561 
     2562msgid "011." 
     2563msgstr "" 
     2564 
     2565msgid "411,311" 
     2566msgstr "" 
     2567 
     2568msgid "911" 
     2569msgstr "" 
     2570 
    24672571msgid "(pick one)" 
    24682572msgstr "Eines ausw&auml;hlen" 
     
    24862590msgstr "" 
    24872591 
    2488 msgid "Emergency" 
    2489 msgstr "" 
    2490  
    2491 msgid "Trunk Sequence" 
    2492 msgstr "Leitungssequenz" 
     2592msgid "Trunk Sequence for Matched Routes" 
     2593msgstr "" 
    24932594 
    24942595msgid "" 
     
    25002601msgstr "Die Leitungssequenz steuert die Reihenfolge der Hauptleitungen." 
    25012602 
     2603msgid "Move Up" 
     2604msgstr "" 
     2605 
     2606msgid "Move Down" 
     2607msgstr "" 
     2608 
     2609msgid "Add Trunk" 
     2610msgstr "Hauptleitung zuf&uuml;gen" 
     2611 
     2612msgid "remove" 
     2613msgstr "" 
     2614 
     2615msgid "Click here to remove this pattern" 
     2616msgstr "" 
     2617 
    25022618msgid "Route name is invalid, please try again" 
    25032619msgstr "" 
     
    25102626msgstr "" 
    25112627 
    2512 msgid "Dial pattern is invalid" 
    2513 msgstr "" 
    2514  
    25152628msgid "At least one trunk must be picked" 
    25162629msgstr "Mindestens ein Netzanschluss muss ausgew&auml;hlt werden" 
     
    25192632msgstr "" 
    25202633 
    2521 msgid "Add Trunk" 
    2522 msgstr "Hauptleitung zuf&uuml;gen" 
     2634msgid "No dial pattern, there must be at least one" 
     2635msgstr "" 
     2636 
     2637msgid "Dial pattern is invalid" 
     2638msgstr "" 
    25232639 
    25242640#, php-format 
     
    25292645msgstr "Eine Hauptleitung zuf&uuml;gen" 
    25302646 
    2531 msgid "Add Zap Trunk" 
    2532 msgstr "" 
    2533  
    2534 msgid "DAHDI compatibility mode" 
    2535 msgstr "" 
    2536  
    25372647msgid "Add SIP Trunk" 
    25382648msgstr "SIP Hauptleitung zuf&uuml;gen" 
     2649 
     2650msgid "Add DAHDI Trunk" 
     2651msgstr "" 
     2652 
     2653msgid "Add Zap Trunk" 
     2654msgstr "" 
     2655 
     2656msgid "DAHDI compatibility mode" 
     2657msgstr "" 
    25392658 
    25402659msgid "Add IAX2 Trunk" 
     
    26012720"have a mapping on the remote system, and corresponding configurations in " 
    26022721"dundi.conf locally, that looks as follows:<br /><br />[mappings]<br />priv " 
    2603 "=> dundi-extens,0,IAX2,priv:${SECRET}@218.23.42.26/${NUMBER},noparital<br /" 
     2722"=> dundi-extens,0,IAX2,priv:${SECRET}@218.23.42.26/${NUMBER},nopartial<br /" 
    26042723"><br />In this example, you would create this trunk and name it priv. You " 
    26052724"would then create the corresponding IAX2 trunk with proper settings to work " 
     
    26122731msgstr "" 
    26132732 
    2614 msgid "Trunk Description
    2615 msgstr "
     2733msgid "Trunk Name
     2734msgstr "Name des Netzanschlusses
    26162735 
    26172736msgid "Descriptive Name for this Trunk" 
     
    26882807msgstr "" 
    26892808 
    2690 msgid "Outgoing Dial Rules" 
    2691 msgstr "Externe Wahlregeln" 
    2692  
    2693 msgid "Dial Rules" 
    2694 msgstr "Wahlregeln" 
    2695  
    2696 msgid "" 
    2697 "A Dial Rule controls how calls will be dialed on this trunk. It can be used " 
    2698 "to add or remove prefixes. Numbers that don't match any patterns defined " 
    2699 "here will be dialed as-is. Note that a pattern without a + or | (to add or " 
    2700 "remove a prefix) will not make any changes but will create a match. Only the " 
    2701 "first matched rule will be executed and the remaining rules will not be " 
    2702 "acted on." 
    2703 msgstr "" 
    2704  
    2705 msgid "wildcard, matches one or more characters (not allowed before a | or +)" 
    2706 msgstr "" 
    2707 "wildcard, gilt f&uuml;r ein oder mehrere Zeichen (jedoch nicht vor einem | " 
    2708 "oder +)" 
    2709  
    2710 msgid "" 
    2711 "removes a dialing prefix from the number (for example, 613|NXXXXXX would " 
    2712 "match when some dialed \"6135551234\" but would only pass \"5551234\" to the " 
    2713 "trunk)" 
    2714 msgstr "" 
    2715 "Trennt ein W&auml;hlpr&auml;fix von einer Nummer (z. B. 613|NXXXXXX w&uuml;" 
    2716 "rde mit der gew&auml;hlten \"6135551234\" &uuml;bereinstimmen, an die " 
    2717 "Hauptleitung w&uuml;rde jedoch nur \"5551234\" weitergegeben werden) " 
    2718  
    2719 msgid "" 
    2720 "adds a dialing prefix from the number (for example, 1613+NXXXXXX would match " 
    2721 "when some dialed \"5551234\" and would pass \"16135551234\" to the trunk)" 
    2722 msgstr "" 
    2723 "F&uuml;gt ein W&auml;hlpr&auml;fix zu einer Nummer zu (z. B. 1613+NXXXXXX " 
    2724 "w&uuml;rde mit der gew&auml;hlten\"5551234\" &uuml;bereinstimmen und an die " 
    2725 "Hauptleitung als \"16135551234\" weitergegeben werden)" 
    2726  
    2727 msgid "" 
    2728 "You can also use both + and |, for example: 01+0|1ZXXXXXXXXX would match " 
    2729 "\"016065551234\" and dial it as \"0116065551234\" Note that the order does " 
    2730 "not matter, eg. 0|01+1ZXXXXXXXXX does the same thing." 
     2809msgid "Dialed Number Manipulation Rules" 
     2810msgstr "" 
     2811 
     2812msgid "" 
     2813"These rules can manipulate the dialed number before sending it out this " 
     2814"trunk. If no rule applies, the number is not changed. The original dialed " 
     2815"number is passed down from the route where some manipulation may have " 
     2816"already occurred. This trunk has the option to further manipulate the " 
     2817"number. If the number matches the combined values in the <b>prefix</b> plus " 
     2818"the <b>match pattern</b> boxes, the rule will be applied and all subsequent " 
     2819"rules ignored.<br/> Upon a match, the <b>prefix</b>, if defined, will be " 
     2820"stripped. Next the <b>prepend</b> will be inserted in front of the <b>match " 
     2821"pattern</b> and the resulting number will be sent to the trunk. All fields " 
     2822"are optional." 
     2823msgstr "" 
     2824 
     2825msgid "" 
     2826"Digits to prepend upon a successful match. If the dialed number matches the " 
     2827"patterns in the <b>prefix</b> and <b>match pattern</b> boxes, this will be " 
     2828"prepended before sending to the trunk." 
     2829msgstr "" 
     2830 
     2831msgid "" 
     2832"Prefix to remove upon a successful match. If the dialed number matches this " 
     2833"plus the <b>match pattern</b> box, this prefix is removed before adding the " 
     2834"optional <b>prepend</b> box and sending the results to the trunk." 
     2835msgstr "" 
     2836 
     2837msgid "" 
     2838"The dialed number will be compared against the <b>prefix</b> plus this " 
     2839"pattern. Upon a match, this portion of the number will be sent to the trunks " 
     2840"after removing the <b>prefix</b> and appending the <b>prepend</b> digits" 
     2841msgstr "" 
     2842 
     2843msgid "" 
     2844"You can completely replace a number by matching on the <b>prefix</b> only, " 
     2845"replacing it with a <b>prepend</b> and leaving the <b>match pattern</b> " 
     2846"blank." 
     2847msgstr "" 
     2848 
     2849msgid "+ Add More Dial Pattern Fields" 
     2850msgstr "" 
     2851 
     2852msgid "Clear all Fields" 
    27312853msgstr "" 
    27322854 
     
    27482870 
    27492871msgid "" 
    2750 "is useful for ZAP trunks, where if a local number is dialed as \"6135551234" 
    2751 "\", it can be converted to \"555-1234\"." 
     2872"is useful for ZAP and DAHDI trunks, where if a local number is dialed as " 
     2873"\"6135551234\", it can be converted to \"555-1234\"." 
     2874msgstr "" 
     2875 
     2876msgid "Setup Google for directory assistance" 
     2877msgstr "" 
     2878 
     2879msgid "" 
     2880"is useful to translate a call to directory assistance (default: 411) to " 
     2881"Google's toll free directory (default: 18004664411) or any other number of " 
     2882"your choosing" 
    27522883msgstr "" 
    27532884 
     
    28152946"(z. B. NXXNXXXXXX f&uuml;r US/CAN 10-stelliges W&auml;hlen, NXXXXXX f&uuml;r " 
    28162947"7-stelliges)" 
     2948 
     2949msgid "" 
     2950"What is the directory assistance number you will dial locally in the format " 
     2951"that is passed to this trunk, ie 411" 
     2952msgstr "" 
     2953 
     2954msgid "\"411\"" 
     2955msgstr "" 
     2956 
     2957msgid "Invalid pattern. Only 0-9, #, *" 
     2958msgstr "" 
     2959 
     2960msgid "" 
     2961"Google 411 number to dial, or alternative number you want dialed when " 
     2962"calling directory assistance on this trunk" 
     2963msgstr "" 
     2964 
     2965msgid "18004664411" 
     2966msgstr "" 
     2967 
     2968msgid "Invalid number. Only 0-9, #,  and * are allowed." 
     2969msgstr "" 
    28172970 
    28182971msgid "Outbound Dial Prefix" 
     
    28312984msgstr "Ausgehende Einstellungen" 
    28322985 
    2833 msgid "Zap Identifier (trunk name)
    2834 msgstr "Zap Kennung (Hauptleitungsname)
     2986msgid "Zap Identifier
     2987msgstr "
    28352988 
    28362989msgid "" 
     
    28422995"verwiesen,(welche in zapata.conf definiert wird).  <br><br>Die " 
    28432996"Standardeinstellung ist hier <b>g0</b> (Gruppe Null)." 
     2997 
     2998msgid "DAHDI Identifier" 
     2999msgstr "" 
     3000 
     3001msgid "" 
     3002"DAHDI channels are referenced either by a group number or channel number " 
     3003"(which is defined in chan_dahdi.conf).  <br><br>The default setting is " 
     3004"<b>g0</b> (group zero)." 
     3005msgstr "" 
    28443006 
    28453007msgid "Custom Dial String" 
     
    28613023"configuration of DUNDi to use this trunk." 
    28623024msgstr "" 
    2863  
    2864 msgid "Trunk Name" 
    2865 msgstr "Name des Netzanschlusses" 
    28663025 
    28673026msgid "Give this trunk a unique name.  Example: myiaxtel" 
     
    29443103 
    29453104msgid "" 
    2946 "You must define an Outbound Caller ID when Choosing Never Override CallerID" 
     3105"You must define an Outbound Caller ID when Choosing this CID Options value" 
     3106msgstr "" 
     3107 
     3108msgid "" 
     3109"It is highly recommended that you define an Outbound Caller ID on all " 
     3110"trunks, undefined behavior can result when nothing is specified. The CID " 
     3111"Options can control when this CID is used. Do you still want to continue?" 
    29473112msgstr "" 
    29483113 
  • freepbx/trunk/amp_conf/htdocs/admin/i18n/es_ES/LC_MESSAGES/amp.po

    r9571 r10122  
    33"Project-Id-Version: FreePBX - Spanish translation\n" 
    44"Report-Msgid-Bugs-To: \n" 
    5 "POT-Creation-Date: 2010-02-28 20:57+0100\n" 
     5"POT-Creation-Date: 2010-06-27 12:16+0200\n" 
    66"PO-Revision-Date: 2009-01-22 11:29+0100\n" 
    77"Last-Translator: Juan Asensio Sánchez <okelet@gmail.com>\n" 
     
    1717msgstr "Enviar" 
    1818 
     19msgid "Please select a valid destination." 
     20msgstr "" 
     21 
    1922msgid "Internal Options & Configuration" 
    2023msgstr "Opciones internas y configuración" 
     
    6770msgid "Used as Destination by %s %s" 
    6871msgstr "Usado como destino por %s %s" 
     72 
     73msgid "Trace Back" 
     74msgstr "" 
    6975 
    7076#, php-format 
     
    113119msgstr "Añadir" 
    114120 
    115 msgid "Unknown Destination" 
    116 msgstr "Destino desconocido" 
    117  
    118 #, fuzzy 
    119 msgid "" 
    120 "ERROR: You have an unknown destination. If this was carried over as a Custom " 
    121 "App from an earlier version, you must go register the destination in the " 
    122 "Custom Destination tab provided by the Custom Applications module.<br />This " 
    123 "will remain active until you change it but you can no longer edit or add a " 
    124 "new one here." 
    125 msgstr "ERROR: Tiene un destino desconocido. " 
     121msgid "choose one" 
     122msgstr "" 
     123 
     124msgid "Terminate Call" 
     125msgstr "Terminar llamada" 
     126 
     127msgid "description" 
     128msgstr "Descripción" 
    126129 
    127130msgid "" 
     
    382385"Está usando la contraseña del gestor de Asterisk por defecto, que es " 
    383386"ampliamente conocida. Debería cambiar esta contraseña a una más segura." 
     387 
     388msgid "Default ARI Admin password Used" 
     389msgstr "" 
     390 
     391msgid "" 
     392"You are using the default ARI Admin password that is widely known, you " 
     393"should change to a new password. Do this in amportal.conf" 
     394msgstr "" 
    384395 
    385396msgid "Module Administration" 
     
    754765msgid "Description for version %s" 
    755766msgstr "Descripción para la versión %s" 
    756  
    757 msgid "description" 
    758 msgstr "Descripción" 
    759767 
    760768msgid "No description is available." 
     
    849857 
    850858msgid "SUSPECT LINK:" 
     859msgstr "" 
     860 
     861msgid "click to expand/collapse section" 
    851862msgstr "" 
    852863 
     
    11641175msgstr "Soporte FreePBX" 
    11651176 
    1166 msgid "Terminate Call" 
    1167 msgstr "Terminar llamada" 
    1168  
    11691177msgid "Hangup" 
    11701178msgstr "Colgar" 
     
    11891197msgstr "Extensión del usuario %s: %s" 
    11901198 
     1199#, php-format 
     1200msgid "Trunk: %s (%s)" 
     1201msgstr "" 
     1202 
     1203#, php-format 
     1204msgid "Calling Out Route: %s" 
     1205msgstr "" 
     1206 
    11911207msgid "A route for this DID/CID already exists!" 
    11921208msgstr "¡Ya existe una ruta para este DID/CID!" 
     
    12241240msgid "Error Duplicate Channel Entry" 
    12251241msgstr "Error: Canal duplicado" 
     1242 
     1243#, php-format 
     1244msgid "Outbound Route: %s" 
     1245msgstr "" 
    12261246 
    12271247#, php-format 
     
    15281548msgstr "Dispositivo Zap genérico" 
    15291549 
     1550msgid "Generic DAHDI Device" 
     1551msgstr "" 
     1552 
    15301553msgid "Other (Custom) Device" 
    15311554msgstr "Otro dispositivo personalizado" 
     
    17601783 
    17611784msgid "done" 
    1762 msgstr "" 
    1763  
    1764 msgid "Checking if trunks_dialpatterns table exists.." 
    1765 msgstr "" 
    1766  
    1767 msgid "created" 
    1768 msgstr "" 
    1769  
    1770 msgid "loading table from localprefixes.conf.." 
    1771 msgstr "" 
    1772  
    1773 msgid "loaded" 
    17741785msgstr "" 
    17751786 
     
    22272238msgstr "" 
    22282239 
     2240msgid "Operator Extension:" 
     2241msgstr "Extensión del operador" 
     2242 
     2243msgid "" 
     2244"Default number to dial when callers hit '0' from voicemail or the built in " 
     2245"IVR directory (it has no effect on the Directory Module). This does NOT need " 
     2246"to be an extension, it can be a Ring Group, or even an external number." 
     2247msgstr "" 
     2248 
    22292249msgid "Voicemail VmX Locator" 
    22302250msgstr "Buzón de voz del localizador VmX" 
     
    23092329msgstr "" 
    23102330 
    2311 msgid "Company Directory" 
    2312 msgstr "Directorio de empresa
     2331msgid "Legacy Company Directory" 
     2332msgstr "
    23132333 
    23142334msgid "Find users in the Company Directory by:" 
     
    23372357"lets the caller know what extension to use in the future when connecting " 
    23382358"from the company directory." 
    2339 msgstr "" 
    2340  
    2341 msgid "Operator Extension:" 
    2342 msgstr "Extensión del operador" 
    2343  
    2344 msgid "" 
    2345 "When users hit '0' in the directory, they are put through to this number. " 
    2346 "Note that it" 
    2347 msgstr "" 
    2348  
    2349 msgid "" 
    2350 " does NOT need to be an extension, it can be a Ring Group, or even an " 
    2351 "external number." 
    23522359msgstr "" 
    23532360 
     
    24362443msgstr "" 
    24372444 
    2438 msgid "Error renaming route: duplicate name" 
    2439 msgstr "" 
    2440  
    24412445msgid "Error fetching prefix list for: " 
    24422446msgstr "" 
    24432447 
    24442448msgid "Invalid format for NPA-NXX code (must be format: NXXNXX)" 
     2449msgstr "" 
     2450 
     2451msgid "" 
     2452"An unknown error occurred repositioning routes, refresh your browser to see " 
     2453"the current correct route positions" 
    24452454msgstr "" 
    24462455 
     
    24482457msgstr "Añadir ruta" 
    24492458 
    2450 msgid "Move Up" 
    2451 msgstr "Mover arriba" 
    2452  
    2453 msgid "Move Down" 
    2454 msgstr "Mover abajo" 
     2459msgid "Drag up or down to reposition, click to choose" 
     2460msgstr "" 
    24552461 
    24562462msgid "Edit Route" 
    24572463msgstr "Editar ruta" 
    24582464 
     2465msgid "Route Settings" 
     2466msgstr "" 
     2467 
    24592468msgid "Route Name" 
    24602469msgstr "Nombre de la ruta" 
     
    24662475"Nombre de esta ruta. Debería ser usado para describir qué tipo de llamadas " 
    24672476"permite esta ruta (por ejemplo, 'locales' o 'larga-distancia')" 
    2468  
    2469 msgid "Rename" 
    2470 msgstr "Renombrar" 
    2471  
    2472 msgid "Rename route" 
    2473 msgstr "Renombrar ruta" 
    2474  
    2475 msgid "to:" 
    2476 msgstr "a:" 
    2477  
    2478 msgid "Route name is invalid...please try again" 
    2479 msgstr "El nombre de la ruta no es válido; por favor, inténtelo de nuevo" 
    24802477 
    24812478msgid "Route CID" 
     
    24902487msgstr "" 
    24912488 
    2492 msgid "Override Extension CID" 
     2489msgid "Override Extension" 
     2490msgstr "" 
     2491 
     2492msgid "" 
     2493"If checked the extension's Outbound CID will be ignored in favor of this " 
     2494"CID. The extension's Emergency CID will still be used if the route is an " 
     2495"Emergency Route and the Extension has a defined Emergency CID." 
    24932496msgstr "" 
    24942497 
     
    25012504"destinations or 1-900 numbers.<br><br>A numerical password, or the path to " 
    25022505"an Authenticate password file can be used.<br><br>Leave this field blank to " 
    2503 "not prompt for password.</span>" 
    2504 msgstr "" 
    2505  
    2506 msgid "Emergency Dialing" 
    2507 msgstr "" 
    2508  
    2509 msgid "" 
    2510 "Optional: Selecting this option will enforce the use of a device's Emergency " 
    2511 "CID setting (if set).  Select this option if this set of routes is used for " 
    2512 "emergency dialing (ie: 911).</span>" 
    2513 msgstr "" 
    2514  
    2515 msgid "Intra Company Route" 
    2516 msgstr "" 
    2517  
    2518 msgid "" 
    2519 "Optional: Selecting this option will treat this route as a intra-company " 
    2520 "connection, preserving the internal Caller ID information and not use the " 
    2521 "outbound CID of either the extension or trunk.</span>" 
     2506"not prompt for password." 
     2507msgstr "" 
     2508 
     2509msgid "Route Type" 
     2510msgstr "" 
     2511 
     2512msgid "" 
     2513"Optional: Selecting Emergency will enforce the use of a device's Emergency " 
     2514"CID setting (if set).  Select this option if this route is used for " 
     2515"emergency dialing (ie: 911)." 
     2516msgstr "" 
     2517 
     2518msgid "" 
     2519"Optional: Selecting Intra-Company will treat this route as an intra-company " 
     2520"connection, preserving the internal Caller ID information instead of the " 
     2521"outbound CID of either the extension or trunk." 
     2522msgstr "" 
     2523 
     2524msgid "Emergency" 
     2525msgstr "Emergencia" 
     2526 
     2527msgid "Intra-Company" 
    25222528msgstr "" 
    25232529 
     
    25312537msgstr "" 
    25322538 
    2533 msgid "Dial Patterns" 
    2534 msgstr "Reglas de marcación" 
    2535  
    2536 msgid "" 
    2537 "A Dial Pattern is a unique set of digits that will select this trunk. Enter " 
    2538 "one dial pattern per line." 
     2539msgid "default" 
     2540msgstr "" 
     2541 
     2542msgid "Time Group:" 
     2543msgstr "" 
     2544 
     2545msgid "" 
     2546"If this route should only be available during certain times then Select a " 
     2547"Time Group created under Time Groups. The route will be ignored outside of " 
     2548"times specified in that Time Group. If left as default of Permanent Route " 
     2549"then it will always be available." 
     2550msgstr "" 
     2551 
     2552msgid "---Permanent Route---" 
     2553msgstr "" 
     2554 
     2555msgid "Route Position" 
     2556msgstr "" 
     2557 
     2558msgid "Where to insert this route or relocate it relative to the other routes." 
     2559msgstr "" 
     2560 
     2561#, php-format 
     2562msgid "First before %s" 
     2563msgstr "" 
     2564 
     2565msgid "---No Change---" 
     2566msgstr "" 
     2567 
     2568#, php-format 
     2569msgid "Before %s" 
     2570msgstr "" 
     2571 
     2572#, php-format 
     2573msgid "Last after %s" 
     2574msgstr "" 
     2575 
     2576msgid "Additional Settings" 
     2577msgstr "" 
     2578 
     2579msgid "Dial Patterns that will use this Route" 
     2580msgstr "" 
     2581 
     2582msgid "" 
     2583"A Dial Pattern is a unique set of digits that will select this route and " 
     2584"send the call to the designated trunks. If a dialed pattern matches this " 
     2585"route, no subsequent routes will be tried. If Time Groups are enabled, " 
     2586"subsequent routes will be checked for matches outside of the designated time" 
     2587"(s)." 
    25392588msgstr "" 
    25402589 
     
    25512600msgstr "Acepta cualquier dígito entre 2 y 9" 
    25522601 
    2553 msgid "" 
    2554 "matches any digit or letter in the brackets (in this example, 1,2,3,7,8,9)" 
    2555 msgstr "" 
    2556 "Acepta cualquier dígito que se encuentre entre los corchetes (en este " 
    2557 "ejemplo, 1,2,3,7,8,9)" 
    2558  
    2559 msgid "wildcard, matches one or more characters" 
    2560 msgstr "Asterisco, acepta uno o más dígitos" 
    2561  
    2562 msgid "" 
    2563 "separates a dialing prefix from the number (for example, 9|NXXXXXX would " 
    2564 "match when some dialed \"95551234\" but would only pass \"5551234\" to the " 
    2565 "trunks)" 
    2566 msgstr "" 
    2567 "Separa un prefijo de marcación del número (por ejemplo, 9|NXXXXXX se " 
    2568 "cumpliría cuando alguien marcara \"95551234\" pero sólo pasaría \"5551234\" " 
    2569 "a las líneas troncales)" 
    2570  
    2571 msgid "" 
    2572 "appended to a dial pattern, matches a callerid or callerid pattern (for " 
    2573 "example, NXXXXXX/104 would match only if dialed by extension \"104\")" 
    2574 msgstr "" 
    2575  
    2576 msgid "Clean & Remove duplicates" 
    2577 msgstr "Limpiar y eliminar duplicados" 
     2602msgid "matches any digit in the brackets (example: 1,2,3,7,8,9)" 
     2603msgstr "" 
     2604 
     2605msgid "wildcard, matches one or more dialed digits" 
     2606msgstr "" 
     2607 
     2608msgid "prepend:" 
     2609msgstr "" 
     2610 
     2611msgid "" 
     2612"Digits to prepend to a successful match. If the dialed number matches the " 
     2613"patterns specified by the subsequent columns, then this will be prepended " 
     2614"before sending to the trunks." 
     2615msgstr "" 
     2616 
     2617msgid "prefix:" 
     2618msgstr "" 
     2619 
     2620msgid "" 
     2621"Prefix to remove on a successful match. The dialed number is compared to " 
     2622"this and the subsequent columns for a match. Upon a match, this prefix is " 
     2623"removed from the dialed number before sending it to the trunks." 
     2624msgstr "" 
     2625 
     2626msgid "match pattern:" 
     2627msgstr "" 
     2628 
     2629msgid "" 
     2630"The dialed number will be compared against the  prefix + this match pattern. " 
     2631"Upon a match, the match pattern portion of the dialed number will be sent to " 
     2632"the trunks" 
     2633msgstr "" 
     2634 
     2635msgid "CallerID:" 
     2636msgstr "" 
     2637 
     2638msgid "" 
     2639"If CallerID is supplied, the dialed number will only match the prefix + " 
     2640"match pattern if the CallerID being transmitted matches this. When " 
     2641"extensions make outbound calls, the CallerID will be their extension number " 
     2642"and NOT their Outbound CID. The above special matching sequences can be used " 
     2643"for CallerID matching similar to other number matches." 
     2644msgstr "" 
     2645 
     2646msgid "prepend" 
     2647msgstr "" 
     2648 
     2649msgid "prefix" 
     2650msgstr "" 
     2651 
     2652msgid "match pattern" 
     2653msgstr "" 
     2654 
     2655msgid "CallerId" 
     2656msgstr "" 
    25782657 
    25792658msgid "Dial patterns wizards" 
     
    26232702"la página web http://www.php.net/curl para obtener más información." 
    26242703 
     2704msgid "NXXXXXX" 
     2705msgstr "" 
     2706 
     2707msgid "NXXXXXX,NXXNXXXXXX" 
     2708msgstr "" 
     2709 
     2710msgid "1800NXXXXXX,1888NXXXXXX,1877NXXXXXX,1866NXXXXXX" 
     2711msgstr "" 
     2712 
     2713msgid "1NXXNXXXXXX" 
     2714msgstr "" 
     2715 
     2716msgid "011." 
     2717msgstr "" 
     2718 
     2719msgid "411,311" 
     2720msgstr "" 
     2721 
     2722msgid "911" 
     2723msgstr "" 
     2724 
    26252725msgid "(pick one)" 
    26262726msgstr "(seleccione uno)" 
     
    26442744msgstr "Información" 
    26452745 
    2646 msgid "Emergency" 
    2647 msgstr "Emergencia" 
    2648  
    2649 msgid "Trunk Sequence" 
    2650 msgstr "Secuencia de troncales" 
     2746msgid "Trunk Sequence for Matched Routes" 
     2747msgstr "" 
    26512748 
    26522749msgid "" 
     
    26642761"seguidas de las siguientes rutas más caras (líneas RTC)." 
    26652762 
     2763msgid "Move Up" 
     2764msgstr "Mover arriba" 
     2765 
     2766msgid "Move Down" 
     2767msgstr "Mover abajo" 
     2768 
     2769msgid "Add Trunk" 
     2770msgstr "Añadir línea troncal" 
     2771 
     2772msgid "remove" 
     2773msgstr "" 
     2774 
     2775msgid "Click here to remove this pattern" 
     2776msgstr "" 
     2777 
    26662778msgid "Route name is invalid, please try again" 
    26672779msgstr "El nombre de la ruta no es válido, inténtelo de nuevo" 
     
    26722784"deshabilitar el uso de contraseñas" 
    26732785 
     2786msgid "At least one trunk must be picked" 
     2787msgstr "Debe seleccionar al menos una línea troncal" 
     2788 
     2789msgid "Invalid Outbound Caller ID" 
     2790msgstr "" 
     2791 
     2792msgid "No dial pattern, there must be at least one" 
     2793msgstr "" 
     2794 
    26742795msgid "Dial pattern is invalid" 
    26752796msgstr "La regla de marcación no es válida" 
    26762797 
    2677 msgid "At least one trunk must be picked" 
    2678 msgstr "Debe seleccionar al menos una línea troncal" 
    2679  
    2680 msgid "Invalid Outbound Caller ID" 
    2681 msgstr "" 
    2682  
    2683 msgid "Add Trunk" 
    2684 msgstr "Añadir línea troncal" 
    2685  
    26862798#, php-format 
    26872799msgid "Channel %s" 
     
    26912803msgstr "Añadir línea troncal" 
    26922804 
     2805msgid "Add SIP Trunk" 
     2806msgstr "Añadir línea troncal SIP" 
     2807 
     2808msgid "Add DAHDI Trunk" 
     2809msgstr "" 
     2810 
    26932811msgid "Add Zap Trunk" 
    26942812msgstr "Añadir línea troncal Zap" 
     
    26962814msgid "DAHDI compatibility mode" 
    26972815msgstr "Modo de compatibilidad con DAHDI" 
    2698  
    2699 msgid "Add SIP Trunk" 
    2700 msgstr "Añadir línea troncal SIP" 
    27012816 
    27022817msgid "Add IAX2 Trunk" 
     
    27632878"have a mapping on the remote system, and corresponding configurations in " 
    27642879"dundi.conf locally, that looks as follows:<br /><br />[mappings]<br />priv " 
    2765 "=> dundi-extens,0,IAX2,priv:${SECRET}@218.23.42.26/${NUMBER},noparital<br /" 
     2880"=> dundi-extens,0,IAX2,priv:${SECRET}@218.23.42.26/${NUMBER},nopartial<br /" 
    27662881"><br />In this example, you would create this trunk and name it priv. You " 
    27672882"would then create the corresponding IAX2 trunk with proper settings to work " 
     
    27742889msgstr "" 
    27752890 
    2776 msgid "Trunk Description
    2777 msgstr "
     2891msgid "Trunk Name
     2892msgstr "Nombre de la línea troncal
    27782893 
    27792894msgid "Descriptive Name for this Trunk" 
     
    28652980"que no sean causados por NOANSWER o CANCEL." 
    28662981 
    2867 msgid "Outgoing Dial Rules" 
    2868 msgstr "Reglas de marcación salientes" 
    2869  
    2870 msgid "Dial Rules" 
    2871 msgstr "Reglas de marcación" 
    2872  
    2873 msgid "" 
    2874 "A Dial Rule controls how calls will be dialed on this trunk. It can be used " 
    2875 "to add or remove prefixes. Numbers that don't match any patterns defined " 
    2876 "here will be dialed as-is. Note that a pattern without a + or | (to add or " 
    2877 "remove a prefix) will not make any changes but will create a match. Only the " 
    2878 "first matched rule will be executed and the remaining rules will not be " 
    2879 "acted on." 
    2880 msgstr "" 
    2881 "Una regla de marcación controla cómo se realizarán las llamadas por esta " 
    2882 "línea troncal. Puede ser usada para añadir o eliminar prefijos. Los números " 
    2883 "que no cumplan las reglas definidas aquí serán marcados tal cual. Note que " 
    2884 "una regla sin un signo \"+\" o \"|\" (para añadir o eliminar un prefijo) no " 
    2885 "será modificada pero cumplirá la regla. Sólo la primera regla encontrada " 
    2886 "será ejecutada y no se actuará sobre las demás reglas ." 
    2887  
    2888 msgid "wildcard, matches one or more characters (not allowed before a | or +)" 
    2889 msgstr "" 
    2890 "El asterisco hace que se cumpla la regla cuando se encuentren uno o más " 
    2891 "caracteres (no se permite delante de los símbolos | y +)" 
    2892  
    2893 msgid "" 
    2894 "removes a dialing prefix from the number (for example, 613|NXXXXXX would " 
    2895 "match when some dialed \"6135551234\" but would only pass \"5551234\" to the " 
    2896 "trunk)" 
    2897 msgstr "" 
    2898 "Elimina del número un prefijo (por ejemplo, 613|NXXXXXX se cumpliría cuando " 
    2899 "alguien marcara el número \"6135551234\" pero pasaría a la línea troncal " 
    2900 "sólo la parte \"5551234\")" 
    2901  
    2902 msgid "" 
    2903 "adds a dialing prefix from the number (for example, 1613+NXXXXXX would match " 
    2904 "when some dialed \"5551234\" and would pass \"16135551234\" to the trunk)" 
    2905 msgstr "" 
    2906 "Añade un prefijo al número (por ejemplo, 1613+NXXXXXX se cumpliría cuando " 
    2907 "alguien marcara el número \"5551234\" pero pasaría a la línea troncal el " 
    2908 "número \"16135551234\")" 
    2909  
    2910 msgid "" 
    2911 "You can also use both + and |, for example: 01+0|1ZXXXXXXXXX would match " 
    2912 "\"016065551234\" and dial it as \"0116065551234\" Note that the order does " 
    2913 "not matter, eg. 0|01+1ZXXXXXXXXX does the same thing." 
     2982msgid "Dialed Number Manipulation Rules" 
     2983msgstr "" 
     2984 
     2985msgid "" 
     2986"These rules can manipulate the dialed number before sending it out this " 
     2987"trunk. If no rule applies, the number is not changed. The original dialed " 
     2988"number is passed down from the route where some manipulation may have " 
     2989"already occurred. This trunk has the option to further manipulate the " 
     2990"number. If the number matches the combined values in the <b>prefix</b> plus " 
     2991"the <b>match pattern</b> boxes, the rule will be applied and all subsequent " 
     2992"rules ignored.<br/> Upon a match, the <b>prefix</b>, if defined, will be " 
     2993"stripped. Next the <b>prepend</b> will be inserted in front of the <b>match " 
     2994"pattern</b> and the resulting number will be sent to the trunk. All fields " 
     2995"are optional." 
     2996msgstr "" 
     2997 
     2998msgid "" 
     2999"Digits to prepend upon a successful match. If the dialed number matches the " 
     3000"patterns in the <b>prefix</b> and <b>match pattern</b> boxes, this will be " 
     3001"prepended before sending to the trunk." 
     3002msgstr "" 
     3003 
     3004msgid "" 
     3005"Prefix to remove upon a successful match. If the dialed number matches this " 
     3006"plus the <b>match pattern</b> box, this prefix is removed before adding the " 
     3007"optional <b>prepend</b> box and sending the results to the trunk." 
     3008msgstr "" 
     3009 
     3010msgid "" 
     3011"The dialed number will be compared against the <b>prefix</b> plus this " 
     3012"pattern. Upon a match, this portion of the number will be sent to the trunks " 
     3013"after removing the <b>prefix</b> and appending the <b>prepend</b> digits" 
     3014msgstr "" 
     3015 
     3016msgid "" 
     3017"You can completely replace a number by matching on the <b>prefix</b> only, " 
     3018"replacing it with a <b>prepend</b> and leaving the <b>match pattern</b> " 
     3019"blank." 
     3020msgstr "" 
     3021 
     3022msgid "+ Add More Dial Pattern Fields" 
     3023msgstr "" 
     3024 
     3025msgid "Clear all Fields" 
    29143026msgstr "" 
    29153027 
     
    29313043 
    29323044msgid "" 
    2933 "is useful for ZAP trunks, where if a local number is dialed as \"6135551234" 
    2934 "\", it can be converted to \"555-1234\"." 
    2935 msgstr "" 
    2936 "es útil para líneas troncales Zap, cuando un número local marcado como " 
    2937 "\"6135551234\", se convierte a \"555-1234\"." 
     3045"is useful for ZAP and DAHDI trunks, where if a local number is dialed as " 
     3046"\"6135551234\", it can be converted to \"555-1234\"." 
     3047msgstr "" 
     3048 
     3049msgid "Setup Google for directory assistance" 
     3050msgstr "" 
     3051 
     3052msgid "" 
     3053"is useful to translate a call to directory assistance (default: 411) to " 
     3054"Google's toll free directory (default: 18004664411) or any other number of " 
     3055"your choosing" 
     3056msgstr "" 
    29383057 
    29393058msgid "Lookup numbers for local trunk" 
     
    30053124msgstr "" 
    30063125 
     3126msgid "" 
     3127"What is the directory assistance number you will dial locally in the format " 
     3128"that is passed to this trunk, ie 411" 
     3129msgstr "" 
     3130 
     3131msgid "\"411\"" 
     3132msgstr "" 
     3133 
     3134msgid "Invalid pattern. Only 0-9, #, *" 
     3135msgstr "" 
     3136 
     3137msgid "" 
     3138"Google 411 number to dial, or alternative number you want dialed when " 
     3139"calling directory assistance on this trunk" 
     3140msgstr "" 
     3141 
     3142msgid "18004664411" 
     3143msgstr "" 
     3144 
     3145msgid "Invalid number. Only 0-9, #,  and * are allowed." 
     3146msgstr "" 
     3147 
    30073148msgid "Outbound Dial Prefix" 
    30083149msgstr "Prefijo de marcación externa" 
     
    30203161msgstr "Opciones salientes" 
    30213162 
    3022 msgid "Zap Identifier (trunk name)
    3023 msgstr "Identificador Zap (nombre de línea troncal)
     3163msgid "Zap Identifier
     3164msgstr "
    30243165 
    30253166msgid "" 
     
    30273168"(which is defined in zapata.conf).  <br><br>The default setting is <b>g0</b> " 
    30283169"(group zero)." 
     3170msgstr "" 
     3171 
     3172msgid "DAHDI Identifier" 
     3173msgstr "" 
     3174 
     3175msgid "" 
     3176"DAHDI channels are referenced either by a group number or channel number " 
     3177"(which is defined in chan_dahdi.conf).  <br><br>The default setting is " 
     3178"<b>g0</b> (group zero)." 
    30293179msgstr "" 
    30303180 
     
    30473197"configuration of DUNDi to use this trunk." 
    30483198msgstr "" 
    3049  
    3050 msgid "Trunk Name" 
    3051 msgstr "Nombre de la línea troncal" 
    30523199 
    30533200msgid "Give this trunk a unique name.  Example: myiaxtel" 
     
    31293276 
    31303277msgid "" 
    3131 "You must define an Outbound Caller ID when Choosing Never Override CallerID" 
    3132 msgstr "" 
    3133 "Debe definir un identificador de llamante sliente cuando seleccione la " 
    3134 "opción Nunca sobreescribir el identificador de llamante" 
     3278"You must define an Outbound Caller ID when Choosing this CID Options value" 
     3279msgstr "" 
     3280 
     3281msgid "" 
     3282"It is highly recommended that you define an Outbound Caller ID on all " 
     3283"trunks, undefined behavior can result when nothing is specified. The CID " 
     3284"Options can control when this CID is used. Do you still want to continue?" 
     3285msgstr "" 
    31353286 
    31363287msgid "" 
  • freepbx/trunk/amp_conf/htdocs/admin/i18n/fr_FR/LC_MESSAGES/amp.po

    r9504 r10122  
    1 # SOME DESCRIPTIVE TITLE. 
    2 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 
    3 # This file is distributed under the same license as the PACKAGE package. 
    4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. 
     1# French translation for FreePBX amp 
     2# Copyright (C) 2010 Jouniaux <c.jouniaux@techtelecom.fr> 
     3# This file is distributed under the same license as the FreePBX package. 
    54# 
    65msgid "" 
     
    87"Project-Id-Version: AMP_1.10.008\n" 
    98"Report-Msgid-Bugs-To: \n" 
    10 "POT-Creation-Date: 2010-02-28 20:57+0100\n" 
    11 "PO-Revision-Date: 2008-12-10 19:28+0100\n" 
     9"POT-Creation-Date: 2010-06-27 12:16+0200\n" 
     10"PO-Revision-Date: 2010-04-16 18:39+0100\n" 
    1211"Last-Translator: Jouniaux <c.jouniaux@techtelecom.fr>\n" 
    1312"Language-Team: Francais <LL@li.org>\n" 
     
    1918msgstr "Soumettre" 
    2019 
     20msgid "Please select a valid destination." 
     21msgstr "" 
     22 
    2123msgid "Internal Options & Configuration" 
    2224msgstr "Options  et configuration internes" 
     
    4143 
    4244msgid "Call Cost" 
    43 msgstr "
     45msgstr "Coût des appels
    4446 
    4547msgid "** MISSING FEATURE CODE **" 
     
    6769msgid "Used as Destination by %s %s" 
    6870msgstr "Utilisé comme destination par %s %s" 
     71 
     72msgid "Trace Back" 
     73msgstr "" 
    6974 
    7075#, php-format 
     
    113118msgstr "Ajout" 
    114119 
    115 msgid "Unknown Destination" 
    116 msgstr "Destination inconnue" 
    117  
    118 msgid "" 
    119 "ERROR: You have an unknown destination. If this was carried over as a Custom " 
    120 "App from an earlier version, you must go register the destination in the " 
    121 "Custom Destination tab provided by the Custom Applications module.<br />This " 
    122 "will remain active until you change it but you can no longer edit or add a " 
    123 "new one here." 
    124 msgstr "" 
    125 "ERREUR: vous avez une destination inconnue. Si cela provient d'une " 
    126 "application particuliÚre d'une ancienne version, vous devez enregistrer la " 
    127 "destination dans la tabulation Destination Personnalisée fourni par le " 
    128 "module Applications Personnalisées.<br /> Cela restera actif jusqu'à ce que " 
    129 "vous le changiez mais vous ne pouvez plus éditer ou ajouter ici. " 
     120msgid "choose one" 
     121msgstr "" 
     122 
     123msgid "Terminate Call" 
     124msgstr "Fin appel" 
     125 
     126msgid "description" 
     127msgstr "description" 
    130128 
    131129msgid "" 
     
    153151#, php-format 
    154152msgid "PHP Component %s is required but missing from you PHP installation." 
    155 msgstr "
     153msgstr "Le composant PHP %s est nécessaire mais n'a pas été installé
    156154 
    157155#, php-format 
     
    160158"installation." 
    161159msgstr "" 
     160"Le composant PHP %s version %s  est nécessaire mais n'a pas été installé" 
    162161 
    163162#, php-format 
     
    181180#, php-format