ports/95279: (New Port) FreeBPX: a web gui to the asterisk PBX
Phillip Neumann
phillip at sofsis.cl
Sun Jun 4 01:40:26 UTC 2006
The following reply was made to PR ports/95279; it has been noted by GNATS.
From: Phillip Neumann <phillip at sofsis.cl>
To: bug-followup at FreeBSD.org, pneumann at gmail.com
Cc:
Subject: Re: ports/95279: (New Port) FreeBPX: a web gui to the asterisk PBX
Date: Sat, 03 Jun 2006 21:37:29 -0400
--=-tjj6TD9+sPYaU7YjeArS
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
FreePBX 2.1.0 was out, with much changes
Here is the updated port, im ataching it as a new shar file, becouse its
quite different than the first one...
Its has been working just fine with asterisk, sufring on zaptel svn
drivers over a digium TE card.
Tinderbox seems to be building the package fine too.
good luck!!
KillFill.
--=-tjj6TD9+sPYaU7YjeArS
Content-Disposition: attachment; filename=freepbx.shar
Content-Type: text/plain; name=freepbx.shar; charset=utf-8
Content-Transfer-Encoding: 7bit
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# freepbx
# freepbx/pkg-plist
# freepbx/pkg-descr
# freepbx/distinfo
# freepbx/Makefile
# freepbx/files
# freepbx/files/amportal-db-functions.sh
# freepbx/files/patch-apply_conf.sh
# freepbx/files/pkg-message.in
# freepbx/files/patch-newinstall.sql
# freepbx/files/patch-cdr_mysql_table.sql
# freepbx/files/amportal-db-remove.sh
# freepbx/files/amportal-db-install.sh
# freepbx/files/patch-install_amp
# freepbx/files/php5.ini
# freepbx/files/patch-safe_opserver
# freepbx/files/patch-bounce_op.sh
# freepbx/files/php4.ini
#
echo c - freepbx
mkdir -p freepbx > /dev/null 2>&1
echo x - freepbx/pkg-plist
sed 's/^X//' >freepbx/pkg-plist << 'END-of-freepbx/pkg-plist'
Xetc/amportal.conf
Xetc/asterisk/vm_general.inc
Xetc/asterisk/zapata.conf.template
Xetc/asterisk/phpagi.conf
Xetc/asterisk/vm_email.inc
Xetc/asterisk/extensions_custom.conf.sample
Xetc/asterisk/voicemail.conf.template
Xetc/asterisk/cdr_mysql.conf.bak
Xetc/asterisk/manager.conf.bak
Xetc/asterisk/vm_email.inc.bak
Xbin/ampbackup.pl
Xbin/archive_recordings
Xbin/callback
Xbin/fax-process.pl
Xbin/php-asmanager.php
Xbin/retrieve_backup_cron_from_mysql.pl
Xbin/retrieve_conf
Xbin/retrieve_iax_conf_from_mysql.pl
Xbin/retrieve_op_conf_from_mysql.pl
Xbin/retrieve_parse_amportal_conf.pl
Xbin/retrieve_queues_conf_from_mysql.pl
Xbin/retrieve_sip_conf_from_mysql.pl
Xbin/retrieve_zap_conf_from_mysql.pl
Xsbin/amportal
Xshare/asterisk/sounds/dir-intro-oper.gsm
Xshare/asterisk/sounds/dir-intro-fnln.gsm
Xshare/asterisk/sounds/dir-intro-fn-oper.gsm
Xshare/asterisk/sounds/dir-intro-fnln-oper.gsm
Xshare/asterisk/mohmp3/QuajiroPromo.mp3
Xshare/asterisk/mohmp3/TristeAlegriaPromo.mp3
Xshare/asterisk/agi-bin/list-item-remove.php
Xshare/asterisk/agi-bin/dialparties.agi
Xshare/asterisk/agi-bin/fixlocalprefix
Xshare/asterisk/agi-bin/recordingcheck
Xshare/asterisk/agi-bin/directory
Xshare/asterisk/agi-bin/phpagi-asmanager.php
Xshare/asterisk/agi-bin/dialparties.agi.pl
Xshare/asterisk/agi-bin/phpagi.php
X%%PORTDOCS%%%%DOCSDIR%%/README.directory
X%%PORTDOCS%%%%DOCSDIR%%/amportal-db-functions.sh
X%%PORTDOCS%%%%DOCSDIR%%/amportal-db-install.sh
X%%PORTDOCS%%%%DOCSDIR%%/amportal-db-remove.sh
X%%PORTDOCS%%%%DOCSDIR%%/cdr_mysql_table.sql
X%%PORTDOCS%%%%DOCSDIR%%/newinstall.sql
X%%APACHEDIR%%/cgi-bin/vmail.cgi
X%%APACHEDIR%%/data/FreePBX/_asterisk/animlogo.gif
X%%APACHEDIR%%/data/FreePBX/_asterisk/play.gif
X%%APACHEDIR%%/data/FreePBX/_asterisk/vmail.css
X%%APACHEDIR%%/data/FreePBX/admin/bounce_op.sh
X%%APACHEDIR%%/data/FreePBX/admin/cdr/.DS_Store
X%%APACHEDIR%%/data/FreePBX/admin/cdr/CHANGELOG.txt
X%%APACHEDIR%%/data/FreePBX/admin/cdr/about.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/call-comp.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/call-daily-load.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/call-last-month.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/call-log.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/cdr.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/counter.txt
X%%APACHEDIR%%/data/FreePBX/admin/cdr/css/content.css
X%%APACHEDIR%%/data/FreePBX/admin/cdr/css/docbook.css
X%%APACHEDIR%%/data/FreePBX/admin/cdr/css/images/corner-bl.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/css/images/corner-br.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/css/images/corner-tl.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/css/images/corner-tr.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/css/layout.css
X%%APACHEDIR%%/data/FreePBX/admin/cdr/encrypt.js
X%%APACHEDIR%%/data/FreePBX/admin/cdr/export_csv.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/export_pdf.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/graph_hourdetail.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/graph_pie.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/graph_stat.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/graph_statbar.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/asterisk.gif
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/btn_top_12x12.gif
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/button-search.gif
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/call-compare.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/call-logs.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/excel.gif
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/fleche-d.gif
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/fleche-g.gif
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/header-download.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/header-faq.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/header-projects.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/header-search.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/icon_down_12x12.GIF
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/icon_up_12x12.GIF
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/jukebox_ti60.gif
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/pdf.gif
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/print.css
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/printable.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/sidenav-selected.gif
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/spacer.gif
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/th_call-compare.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/images/th_call-logs.png
X%%APACHEDIR%%/data/FreePBX/admin/cdr/info.txt
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/imgdata_balls.inc
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/imgdata_bevels.inc
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/imgdata_diamonds.inc
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/imgdata_pushpins.inc
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/imgdata_squares.inc
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/imgdata_stars.inc
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpg-config.inc
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_antispam-digits.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_antispam.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_bar.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_canvas.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_canvtools.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_error.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_flags.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_gantt.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_gb2312.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_gradient.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_iconplot.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_imgtrans.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_line.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_log.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_pie.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_pie3d.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_plotband.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_plotmark.inc
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_polar.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_radar.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_regstat.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_scatter.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib/jpgraph_stock.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/Class.Table.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/DB-modules/ciaosql.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/DB-modules/phplib_mssql.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/DB-modules/phplib_mysql.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/DB-modules/phplib_oci8.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/DB-modules/phplib_odbc.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/DB-modules/phplib_oracle.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/DB-modules/phplib_postgres.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/DB-modules/phplib_sybase.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/defines.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/courier.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/helvetica.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/helveticab.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/helveticabi.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/helveticai.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/cp1250.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/cp1251.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/cp1252.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/cp1253.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/cp1254.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/cp1255.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/cp1257.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/cp1258.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/cp874.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/iso-8859-1.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/iso-8859-11.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/iso-8859-15.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/iso-8859-16.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/iso-8859-2.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/iso-8859-4.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/iso-8859-5.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/iso-8859-7.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/iso-8859-9.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/koi8-r.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/koi8-u.map
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont/makefont.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/symbol.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/times.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/timesb.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/timesbi.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/timesi.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/zapfdingbats.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/fpdf.php
X%%APACHEDIR%%/data/FreePBX/admin/cdr/lib/iam_csvdump.php
X%%APACHEDIR%%/data/FreePBX/admin/common/db_connect.php
X%%APACHEDIR%%/data/FreePBX/admin/common/mainstyle.css
X%%APACHEDIR%%/data/FreePBX/admin/common/php-asmanager.php
X%%APACHEDIR%%/data/FreePBX/admin/common/script.js.php
X%%APACHEDIR%%/data/FreePBX/admin/config.php
X%%APACHEDIR%%/data/FreePBX/admin/extensions.class.php
X%%APACHEDIR%%/data/FreePBX/admin/featurecodes.class.php
X%%APACHEDIR%%/data/FreePBX/admin/footer.php
X%%APACHEDIR%%/data/FreePBX/admin/functions.inc.php
X%%APACHEDIR%%/data/FreePBX/admin/functions.php
X%%APACHEDIR%%/data/FreePBX/admin/header.php
X%%APACHEDIR%%/data/FreePBX/admin/header_auth.php
X%%APACHEDIR%%/data/FreePBX/admin/i18n/de_DE/LC_MESSAGES/amp.mo
X%%APACHEDIR%%/data/FreePBX/admin/i18n/de_DE/LC_MESSAGES/amp.po
X%%APACHEDIR%%/data/FreePBX/admin/i18n/es_ES/LC_MESSAGES/amp.mo
X%%APACHEDIR%%/data/FreePBX/admin/i18n/es_ES/LC_MESSAGES/amp.po
X%%APACHEDIR%%/data/FreePBX/admin/i18n/fr_FR/LC_MESSAGES/amp.mo
X%%APACHEDIR%%/data/FreePBX/admin/i18n/fr_FR/LC_MESSAGES/amp.po
X%%APACHEDIR%%/data/FreePBX/admin/i18n/it_IT/LC_MESSAGES/amp.mo
X%%APACHEDIR%%/data/FreePBX/admin/i18n/it_IT/LC_MESSAGES/amp.po
X%%APACHEDIR%%/data/FreePBX/admin/i18n/pt_PT/LC_MESSAGES/amp.mo
X%%APACHEDIR%%/data/FreePBX/admin/i18n/pt_PT/LC_MESSAGES/amp.po
X%%APACHEDIR%%/data/FreePBX/admin/i18n/readme.txt
X%%APACHEDIR%%/data/FreePBX/admin/i18n/ru_RU/LC_MESSAGES/amp.mo
X%%APACHEDIR%%/data/FreePBX/admin/i18n/ru_RU/LC_MESSAGES/amp.po
X%%APACHEDIR%%/data/FreePBX/admin/images/amp.png
X%%APACHEDIR%%/data/FreePBX/admin/images/blank.gif
X%%APACHEDIR%%/data/FreePBX/admin/images/delete.gif
X%%APACHEDIR%%/data/FreePBX/admin/images/freepbx.png
X%%APACHEDIR%%/data/FreePBX/admin/images/freepbx_small.png
X%%APACHEDIR%%/data/FreePBX/admin/images/scrolldown.gif
X%%APACHEDIR%%/data/FreePBX/admin/images/scrollup.gif
X%%APACHEDIR%%/data/FreePBX/admin/images/trash.png
X%%APACHEDIR%%/data/FreePBX/admin/index.php
X%%APACHEDIR%%/data/FreePBX/admin/logout.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/functions.inc.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/install.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/module.xml
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/page.ampusers.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/page.devices.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/page.did.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/page.extensions.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/page.general.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/page.routing.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/page.trunks.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/core/page.users.php
X%%APACHEDIR%%/data/FreePBX/admin/modules/import.sh
X%%APACHEDIR%%/data/FreePBX/admin/modules/modlist.sh
X%%APACHEDIR%%/data/FreePBX/admin/modules/status.sh
X%%APACHEDIR%%/data/FreePBX/admin/modules/update.sh
X%%APACHEDIR%%/data/FreePBX/admin/page.modules.php
X%%APACHEDIR%%/data/FreePBX/admin/panel.php
X%%APACHEDIR%%/data/FreePBX/admin/reports.php
X%%APACHEDIR%%/data/FreePBX/admin/version.txt
X%%APACHEDIR%%/data/FreePBX/index.html
X%%APACHEDIR%%/data/FreePBX/mainstyle.css
X%%APACHEDIR%%/data/FreePBX/panel/CHANGES
X%%APACHEDIR%%/data/FreePBX/panel/FAQ
X%%APACHEDIR%%/data/FreePBX/panel/LICENSE
X%%APACHEDIR%%/data/FreePBX/panel/README
X%%APACHEDIR%%/data/FreePBX/panel/RECIPES
X%%APACHEDIR%%/data/FreePBX/panel/TODO
X%%APACHEDIR%%/data/FreePBX/panel/UPGRADE
X%%APACHEDIR%%/data/FreePBX/panel/convert_config_pre_14.pl
X%%APACHEDIR%%/data/FreePBX/panel/extensions.conf.sample
X%%APACHEDIR%%/data/FreePBX/panel/help.txt
X%%APACHEDIR%%/data/FreePBX/panel/index.php
X%%APACHEDIR%%/data/FreePBX/panel/index_amp.php
X%%APACHEDIR%%/data/FreePBX/panel/op_astdb.cfg
X%%APACHEDIR%%/data/FreePBX/panel/op_buttons.cfg
X%%APACHEDIR%%/data/FreePBX/panel/op_lang_de.cfg
X%%APACHEDIR%%/data/FreePBX/panel/op_lang_en.cfg
X%%APACHEDIR%%/data/FreePBX/panel/op_lang_es.cfg
X%%APACHEDIR%%/data/FreePBX/panel/op_lang_it.cfg
X%%APACHEDIR%%/data/FreePBX/panel/op_server.cfg
X%%APACHEDIR%%/data/FreePBX/panel/op_server.cfg.bak
X%%APACHEDIR%%/data/FreePBX/panel/op_server.pl
X%%APACHEDIR%%/data/FreePBX/panel/op_style.cfg
X%%APACHEDIR%%/data/FreePBX/panel/operator_panel.swf
X%%APACHEDIR%%/data/FreePBX/panel/safe_opserver
X%%APACHEDIR%%/data/FreePBX/recordings/CHANGE.log
X%%APACHEDIR%%/data/FreePBX/recordings/LICENSE.txt
X%%APACHEDIR%%/data/FreePBX/recordings/README.txt
X%%APACHEDIR%%/data/FreePBX/recordings/includes/ajax.php
X%%APACHEDIR%%/data/FreePBX/recordings/includes/asi.php
X%%APACHEDIR%%/data/FreePBX/recordings/includes/bootstrap.php
X%%APACHEDIR%%/data/FreePBX/recordings/includes/common.php
X%%APACHEDIR%%/data/FreePBX/recordings/includes/crypt.php
X%%APACHEDIR%%/data/FreePBX/recordings/includes/database.php
X%%APACHEDIR%%/data/FreePBX/recordings/includes/display.php
X%%APACHEDIR%%/data/FreePBX/recordings/includes/lang.php
X%%APACHEDIR%%/data/FreePBX/recordings/includes/login.php
X%%APACHEDIR%%/data/FreePBX/recordings/includes/main.conf.php
X%%APACHEDIR%%/data/FreePBX/recordings/index.php
X%%APACHEDIR%%/data/FreePBX/recordings/locale/ari.po
X%%APACHEDIR%%/data/FreePBX/recordings/locale/ari.utf-8.po
X%%APACHEDIR%%/data/FreePBX/recordings/locale/de_DE/LC_MESSAGES/ari.mo
X%%APACHEDIR%%/data/FreePBX/recordings/locale/de_DE/LC_MESSAGES/ari.po
X%%APACHEDIR%%/data/FreePBX/recordings/locale/el_GR/LC_MESSAGES/ari.mo
X%%APACHEDIR%%/data/FreePBX/recordings/locale/el_GR/LC_MESSAGES/ari.po
X%%APACHEDIR%%/data/FreePBX/recordings/locale/es_ES/LC_MESSAGES/ari.mo
X%%APACHEDIR%%/data/FreePBX/recordings/locale/es_ES/LC_MESSAGES/ari.po
X%%APACHEDIR%%/data/FreePBX/recordings/locale/fr_FR/LC_MESSAGES/ari.mo
X%%APACHEDIR%%/data/FreePBX/recordings/locale/fr_FR/LC_MESSAGES/ari.po
X%%APACHEDIR%%/data/FreePBX/recordings/locale/he_IL/LC_MESSAGES/ari.mo
X%%APACHEDIR%%/data/FreePBX/recordings/locale/he_IL/LC_MESSAGES/ari.po
X%%APACHEDIR%%/data/FreePBX/recordings/locale/hu_HU/LC_MESSAGES/ari.mo
X%%APACHEDIR%%/data/FreePBX/recordings/locale/hu_HU/LC_MESSAGES/ari.po
X%%APACHEDIR%%/data/FreePBX/recordings/locale/it_IT/LC_MESSAGES/ari.mo
X%%APACHEDIR%%/data/FreePBX/recordings/locale/it_IT/LC_MESSAGES/ari.po
X%%APACHEDIR%%/data/FreePBX/recordings/locale/locale.txt
X%%APACHEDIR%%/data/FreePBX/recordings/locale/pt_BR/LC_MESSAGES/ari.mo
X%%APACHEDIR%%/data/FreePBX/recordings/locale/pt_BR/LC_MESSAGES/ari.po
X%%APACHEDIR%%/data/FreePBX/recordings/locale/readme.txt
X%%APACHEDIR%%/data/FreePBX/recordings/locale/sv_SE/LC_MESSAGES/ari.mo
X%%APACHEDIR%%/data/FreePBX/recordings/locale/sv_SE/LC_MESSAGES/ari.po
X%%APACHEDIR%%/data/FreePBX/recordings/misc/audio.php
X%%APACHEDIR%%/data/FreePBX/recordings/misc/popup.css
X%%APACHEDIR%%/data/FreePBX/recordings/misc/recording_popup.php
X%%APACHEDIR%%/data/FreePBX/recordings/modules/callmonitor.module
X%%APACHEDIR%%/data/FreePBX/recordings/modules/help.module
X%%APACHEDIR%%/data/FreePBX/recordings/modules/settings.module
X%%APACHEDIR%%/data/FreePBX/recordings/modules/voicemail.module
X%%APACHEDIR%%/data/FreePBX/recordings/theme/global.css
X%%APACHEDIR%%/data/FreePBX/recordings/theme/header.css
X%%APACHEDIR%%/data/FreePBX/recordings/theme/iefixes.css
X%%APACHEDIR%%/data/FreePBX/recordings/theme/images/arrow-asc.gif
X%%APACHEDIR%%/data/FreePBX/recordings/theme/images/arrow-desc.gif
X%%APACHEDIR%%/data/FreePBX/recordings/theme/layout.css
X%%APACHEDIR%%/data/FreePBX/recordings/theme/logo.gif
X%%APACHEDIR%%/data/FreePBX/recordings/theme/main.css
X%%APACHEDIR%%/data/FreePBX/recordings/theme/navigation.css
X%%APACHEDIR%%/data/FreePBX/recordings/theme/page.tpl.php
X%%APACHEDIR%%/data/FreePBX/recordings/theme/spacer.gif
X%%APACHEDIR%%/data/FreePBX/recordings/theme/text.css
X%%APACHEDIR%%/data/FreePBX/recordings/version.php
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/theme/images
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/theme
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/modules
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/misc
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/sv_SE/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/sv_SE
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/pt_BR/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/pt_BR
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/it_IT/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/it_IT
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/hu_HU/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/hu_HU
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/he_IL/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/he_IL
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/fr_FR/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/fr_FR
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/es_ES/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/es_ES
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/el_GR/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/el_GR
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/de_DE/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale/de_DE
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/locale
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings/includes
X at dirrm %%APACHEDIR%%/data/FreePBX/recordings
X at dirrm %%APACHEDIR%%/data/FreePBX/panel
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/modules/core
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/modules/_cache
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/modules
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/images
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/ru_RU/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/ru_RU
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/pt_PT/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/pt_PT
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/it_IT/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/it_IT
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/fr_FR/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/fr_FR
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/es_ES/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/es_ES
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/de_DE/LC_MESSAGES
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n/de_DE
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/i18n
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/common
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font/makefont
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/cdr/lib/font
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/cdr/lib/DB-modules
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/cdr/lib
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/cdr/jpgraph_lib
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/cdr/images
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/cdr/css/images
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/cdr/css
X at dirrm %%APACHEDIR%%/data/FreePBX/admin/cdr
X at dirrm %%APACHEDIR%%/data/FreePBX/admin
X at dirrm %%APACHEDIR%%/data/FreePBX/_asterisk
X at dirrm %%APACHEDIR%%/data/FreePBX
X at dirrm share/asterisk/sounds/custom
X at unexec rmdir /var/spool/asterisk/fax
X at unexec rmdir /var/spool/asterisk/voicemail/device
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
END-of-freepbx/pkg-plist
echo x - freepbx/pkg-descr
sed 's/^X//' >freepbx/pkg-descr << 'END-of-freepbx/pkg-descr'
XFreePBX is a standardized implementation of Asterisk that includes a web-based
Xconfiguration interface and other tools.
X
XWWW: http://wiki.freepbx.org/
END-of-freepbx/pkg-descr
echo x - freepbx/distinfo
sed 's/^X//' >freepbx/distinfo << 'END-of-freepbx/distinfo'
XMD5 (freepbx-2.1.0.tar.gz) = f2b44463eea8427e8474f24f0da289c1
XSHA256 (freepbx-2.1.0.tar.gz) = 8bea31007982ca9c917fc905debed6e398f91e6e45fe469b76ed7b1dcbc71e23
XSIZE (freepbx-2.1.0.tar.gz) = 4002240
END-of-freepbx/distinfo
echo x - freepbx/Makefile
sed 's/^X//' >freepbx/Makefile << 'END-of-freepbx/Makefile'
X# New ports collection makefile for: freepbx
X# Date created: 31 Mar 2006
X# Whom: Phillip Neumann <pneumann at gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME= freepbx
XPORTVERSION= 2.1.0
XCATEGORIES= misc www net
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR= amportal
X
XMAINTAINER= pneumann at gmail.com
XCOMMENT= A modular web gui for Asterisk PBX
X
XRUN_DEPENDS= asterisk:${PORTSDIR}/net/asterisk \
X ${LOCALBASE}/lib/asterisk/modules/format_mp3.so:${PORTSDIR}/net/asterisk-addons \
X ${LOCALBASE}/share/pear/DB.php:${PORTSDIR}/databases/pear-DB \
X ${SITE_PERL}/Asterisk.pm:${PORTSDIR}/misc/p5-Asterisk \
X ${SITE_PERL}/Net/Telnet.pm:${PORTSDIR}/net/p5-Net-Telnet \
X ${SITE_PERL}/${PERL_ARCH}/DBD/mysql.pm:${PORTSDIR}/databases/p5-DBD-mysql \
X ${SITE_PERL}/${PERL_ARCH}/DBI.pm:${PORTSDIR}/databases/p5-DBI \
X ${LOCALBASE}/share/pear/Console/Getargs.php:${PORTSDIR}/devel/pear-Console_Getargs \
X bash:${PORTSDIR}/shells/bash
X
XAPACHEDIR?= www
XWEBPATH?= ${APACHEDIR}/data/FreePBX
XTARGET?= ${PREFIX}/${WEBPATH}
XWWWCGI?= ${PREFIX}/${APACHEDIR}/cgi-bin
XPANEL?= ${TARGET}/panel
X
XWWWOWN?= www
XWWWGRP?= www
XDBUSER?= asteriskuser
XDBUSERPASS?= amp109
XDBHOST?= localhost
XASTMGRUSER?= AsteriskUser
XASTMGRPASS?= AsteriskPass
XHOSTNAME?= localhost
X#Until amportal looks more descent, prepare the files here
XEXEC_FILES= ${PREFIX}/bin/retrieve_conf \
X ${PREFIX}/bin/ampbackup.pl \
X ${PREFIX}/bin/fax-process.pl \
X ${PREFIX}/bin/retrieve_queues_conf_from_mysql.pl \
X ${PREFIX}/bin/retrieve_zap_conf_from_mysql.pl \
X ${PREFIX}/bin/retrieve_sip_conf_from_mysql.pl \
X ${PREFIX}/bin/retrieve_backup_cron_from_mysql.pl \
X ${PREFIX}/bin/retrieve_op_conf_from_mysql.pl \
X ${PREFIX}/bin/retrieve_iax_conf_from_mysql.pl \
X ${PREFIX}/bin/retrieve_parse_amportal_conf.pl \
X ${PREFIX}/share/asterisk/agi-bin/dialparties.agi \
X ${PREFIX}/share/asterisk/agi-bin/fixlocalprefix \
X ${PREFIX}/share/asterisk/agi-bin/phpagi.php \
X ${PREFIX}/share/asterisk/agi-bin/dialparties.agi.pl \
X ${PREFIX}/share/asterisk/agi-bin/list-item-remove.php \
X ${PREFIX}/share/asterisk/agi-bin/recordingcheck \
X ${PREFIX}/share/asterisk/agi-bin/directory \
X ${PREFIX}/share/asterisk/agi-bin/phpagi-asmanager.php \
X ${PANEL}/op_server.pl \
X ${PANEL}/safe_opserver \
X ${TARGET}/admin/bounce_op.sh \
X ${WWWCGI}/vmail.cgi
X
XUSE_APACHE= yes
XWANT_PHP_MOD= yes
XUSE_PHP= gd gettext mysql session openssl posix
XUSE_PERL5= yes
XUSE_MYSQL= yes
XNO_BUILD= yes
XPKGMESSAGE= ${WRKDIR}/pkg-message
XSUB_FILES= pkg-message
XSUB_LIST+= TARGET=${TARGET} DOCS=${DOCSDIR}
XPLIST_SUB+= APACHEDIR=${APACHEDIR}
X
XDOCS= SQL/cdr_mysql_table.sql SQL/newinstall.sql docs/README.directory amportal-db-functions.sh amportal-db-remove.sh amportal-db-install.sh
X
X.include <bsd.port.pre.mk>
X
Xpost-patch:
X @${ECHO}
X @${ECHO} " NOTE: Apache22 user should define APACHEDIR=www/apache22..."
X @${ECHO}
X.if !exists(${LOCALBASE}/etc/php.ini)
X @${ECHO}
X @${ECHO} Making a default php.ini...
X @${CP} ${PATCHDIR}/php${PHP_VER}.ini ${LOCALBASE}/etc/php.ini
X @${REINPLACE_CMD} -e 's|%%TARGET%%|${TARGET}|g' ${LOCALBASE}/etc/php.ini
X.endif
X
Xdo-install:
X @${ECHO} Backing up your asterisk configuration...
X @(cd ${PREFIX}/etc && ${CP} -ripf asterisk asterisk.orig)
X @(${CP} ${PATCHDIR}/amportal*.sh ${WRKSRC})
X @(cd ${WRKSRC}/amp_conf && ${CHMOD} -R +x bin sbin agi-bin cgi-bin)
X @(${FIND} ${WRKSRC}/amp_conf -type f | ${XARGS} ${REINPLACE_CMD} -e 's|/usr/bin/php|${LOCALBASE}/bin/php|g')
X @(${FIND} ${WRKSRC} -type f | ${XARGS} ${REINPLACE_CMD} -e 's|/var/lib/asterisk|${LOCALBASE}/share/asterisk|g')
X @(${FIND} ${WRKSRC} -type f -name "*.bak" | ${XARGS} rm)
X @(${FIND} ${WRKSRC} -type f -name "*.orig" | ${XARGS} rm)
X @(cd ${WRKSRC} && ./install_amp --username ${DBUSER} --password ${DBUSERPASS} --dbhost ${DBHOST} --fopwebroot=${PANEL} --webroot=${TARGET} --cgibin=${WWWCGI} --bin=${PREFIX}/bin --sbin=${PREFIX}/sbin --asteriskuser=${ASTMGRUSER} --asteriskpass=${ASTMGRPASS} --systemconfig=${PREFIX}/etc)
X @(${FIND} ${TARGET} -type d | ${XARGS} ${CHMOD} 755)
X @(${FIND} ${TARGET} -type f | ${XARGS} ${CHMOD} 644)
X @(${MKDIR} ${PREFIX}/share/asterisk/sounds/custom)
X @for WRITABLE in ${PREFIX}/etc/asterisk ${TARGET}/admin/modules ${PREFIX}/share/asterisk/sounds/custom /var/spool/asterisk; do\
X ${CHMOD} -R 755 $$WRITABLE; \
X ${CHOWN} -R ${WWWOWN}:${WWWGRP} $$WRITABLE; \
X done;
X
X.if !defined(NOPORTDOCS)
X @${MKDIR} ${DOCSDIR}
X @for doc in ${DOCS}; do \
X ${CP} ${WRKSRC}/$$doc ${DOCSDIR};\
X done;
X.endif
X
X @for EXECUTABLE in ${EXEC_FILES}; do\
X ${CHMOD} +x $$EXECUTABLE; \
X done;
X
X
Xpost-install:
X @${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.post.mk>
END-of-freepbx/Makefile
echo c - freepbx/files
mkdir -p freepbx/files > /dev/null 2>&1
echo x - freepbx/files/amportal-db-functions.sh
sed 's/^X//' >freepbx/files/amportal-db-functions.sh << 'END-of-freepbx/files/amportal-db-functions.sh'
X#!/bin/sh
X
X# Written by Tzafrir Cohen <tzafrir.cohen at xorcom.com>,
X# Diego Iastrubni <diego.iastrubni at xorcom.com>,
X# Phillip Neumann <pneumann at gmail.com>
X# Copyright (C) 2005, Xorcom
X#
X# All rights reserved.
X#
X# This program is free software; you can redistribute it and/or modify
X# it under the terms of the GNU General Public License as published by
X# the Free Software Foundation; either version 2 of the License, or
X# (at your option) any later version.
X#
X# This program is distributed in the hope that it will be useful,
X# but WITHOUT ANY WARRANTY; without even the implied warranty of
X# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
X# GNU General Public License for more details.
X#
X# You should have received a copy of the GNU General Public License
X# along with this program; if not, write to the Free Software
X# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
X# a small script to manage the needed SQL tables by AMPortal
X# needs to be run as root
X
Xusage()
X{
X echo
X echo "Usage: $0 config [webadmin] [webpass] [cleandb]"
X echo
X echo -e "\t config: amportal config file (i.e. /etc/amportal.conf)"
X echo -e "\t webadmin: default web admin (admin by default)"
X echo -e "\t webpass: default web pass (admin by default)"
X echo -e "\t webhost: give db permition to this host (localhost by default)"
X echo -e "\t cleandb: Want a clean db (0 or 1, 1 means will not populate the db's)"
X}
X
Xif [ "$#" -lt "1" ]; then
X usage
X exit 0
Xfi
X
XMYSQL="mysql"
XMYSQLADMIN="mysqladmin"
XSQLDIR=.
X
XAMPORTAL=$1
X
XDEF_ADMIN_USER=${2:-"admin"}
XDEF_ADMIN_PASSWD=${3:-"admin"}
XSQL_HOST=${4:-"localhost"}
XCLEANDB=${5:-0}
X
X. "${AMPORTAL}"
X
XADMIN_SQLCLIENT="${MYSQL} -h ${AMPDBHOST}"
XUSER_SQLCLIENT="${ADMIN_SQLCLIENT} -u${AMPDBUSER} -p${AMPDBPASS}"
X
Xif [ ! -f ${AMPORTAL} ]; then
X echo "${AMPORTAL} not found, please run upgrade_amp" >&2
X exit 1
Xfi
X
Xif [ -z $AMPDBUSER ] && [ -z $AMPDBPASS ] && [ -z $AMPDBHOST ]; then
X echo "Databse not configured on ${AMPORTAL}" >&2
X echo "please update configuration and run apply_conf.sh" >&2
X exit 1
Xfi
X
X
Xdelete_db()
X{
X DB=$1
X
X ExistDB=`${ADMIN_SQLCLIENT} -e "show databases" |grep ${DB}`
X
X if [ ! -z "${ExistDB}" ]; then
X echo "Deleting $DB";
X $MYSQLADMIN -f -h ${AMPDBHOST} drop $DB
X fi
X}
X
Xcreate_db()
X{
X DB=$1
X SQL_INPUT="${SQLDIR}/$2"
X
X ExistDB=`${ADMIN_SQLCLIENT} -e "show databases" |grep ${DB}`
X if [ -z "${ExistDB}" ]; then
X echo "Creating $DB Database..."
X $MYSQLADMIN -h ${AMPDBHOST} create ${DB}
X fi
X
X CMD="GRANT ALL PRIVILEGES ON $DB.* TO $AMPDBUSER@$SQL_HOST IDENTIFIED BY '$AMPDBPASS';"
X
X ${ADMIN_SQLCLIENT} -e "${CMD}"
X
X if [ $CLEANDB != "1" ]; then
X # in case this breaks in the middle, we need to still be able
X # to run everything. So we need to prevent failed INSERTs from
X # bumping the whole process
X perl -n -e "unless (/INSERT/ .. /[;]/){print}" ${SQL_INPUT} | ${USER_SQLCLIENT} ${DB}
X perl -n -e "if (/INSERT/ .. /[;]/){s/\n//; s/;/\n/; print}" ${SQL_INPUT} \
X | while read new_insert_line
X # insert this line if it has not been already inserted.
X # TODO: update if an insert has failed?
X do echo $new_insert_line | ${USER_SQLCLIENT} ${DB} || true
X
X done
X fi
X}
X
X
X
END-of-freepbx/files/amportal-db-functions.sh
echo x - freepbx/files/patch-apply_conf.sh
sed 's/^X//' >freepbx/files/patch-apply_conf.sh << 'END-of-freepbx/files/patch-apply_conf.sh'
X--- apply_conf.sh.orig Mon May 1 17:13:46 2006
X+++ apply_conf.sh Mon May 1 17:15:49 2006
X@@ -1,4 +1,4 @@
X-#!/bin/bash
X+#!/usr/bin/env bash
X
X if [ "$1" == "-h" ]
X then
X@@ -29,31 +29,31 @@
X
X echo "Updating configuration..."
X
X-echo "/etc/asterisk/cdr_mysql.conf"
X-sed -r -i "s/user=[a-zA-Z0-9]*/user=$AMPDBUSER/" /etc/asterisk/cdr_mysql.conf
X-sed -r -i "s/password=[a-zA-Z0-9]*/password=$AMPDBPASS/" /etc/asterisk/cdr_mysql.conf
X-sed -r -i "s/hostname=[a-zA-Z0-9.-]*/hostname=$AMPDBHOST/" /etc/asterisk/cdr_mysql.conf
X-
X-echo "/etc/asterisk/manager.conf"
X-sed -r -i "s/secret = [a-zA-Z0-9]*/secret = $AMPMGRPASS/" /etc/asterisk/manager.conf
X-sed -r -i "/\[general\]/!s/\[[a-zA-Z0-9]+\]/[$AMPMGRUSER]/" /etc/asterisk/manager.conf
X+echo "$ASTETCDIR/cdr_mysql.conf"
X+sed -i.bak "s/user=[a-zA-Z0-9]*/user=$AMPDBUSER/" $ASTETCDIR/cdr_mysql.conf
X+sed -i.bak "s/password=[a-zA-Z0-9]*/password=$AMPDBPASS/" $ASTETCDIR/cdr_mysql.conf
X+sed -i.bak "s/hostname=[a-zA-Z0-9.-]*/hostname=$AMPDBHOST/" $ASTETCDIR/cdr_mysql.conf
X+
X+echo "$ASTETCDIR/manager.conf"
X+sed -i.bak "s/secret = [a-zA-Z0-9]*/secret = $AMPMGRPASS/" $ASTETCDIR/manager.conf
X+sed -i.bak "/\[general\]/!s/\[.*\]/\[$AMPMGRUSER\]/" $ASTETCDIR/manager.conf
X
X if [ -e $AMPWEBROOT"/panel/op_server.cfg" ]; then
X echo $AMPWEBROOT"/panel/op_server.cfg"
X- sed -r -i "s/manager_user=[a-zA-Z0-9]*/manager_user=$AMPMGRUSER/" $FOPWEBROOT/op_server.cfg
X- sed -r -i "s/manager_secret=[a-zA-Z0-9]*/manager_secret=$AMPMGRPASS/" $FOPWEBROOT/op_server.cfg
X- sed -r -i "s/web_hostname=[a-zA-Z0-9_.-]*/web_hostname=$AMPWEBADDRESS/" $FOPWEBROOT/op_server.cfg
X- sed -r -i "s/security_code=[a-zA-Z0-9]*/security_code=$FOPPASSWORD/" $FOPWEBROOT/op_server.cfg
X- sed -r -i "s!flash_dir=[a-zA-Z0-9_./\-]*!flash_dir=$FOPWEBROOT!" $FOPWEBROOT/op_server.cfg
X- sed -r -i "s!web_hostname=[a-zA-Z0-9.-]*!web_hostname=$AMPWEBADDRESS!" $FOPWEBROOT/op_server.cfg
X- sed -r -i "s!web_hostname=[a-zA-Z0-9.-]*!web_hostname=$AMPWEBADDRESS!" $FOPWEBROOT/op_server.cfg
X+ sed -i.bak "s/manager_user=[a-zA-Z0-9]*/manager_user=$AMPMGRUSER/" $FOPWEBROOT/op_server.cfg
X+ sed -i.bak "s/manager_secret=[a-zA-Z0-9]*/manager_secret=$AMPMGRPASS/" $FOPWEBROOT/op_server.cfg
X+ sed -i.bak "s/web_hostname=[a-zA-Z0-9_.-]*/web_hostname=$AMPWEBADDRESS/" $FOPWEBROOT/op_server.cfg
X+ sed -i.bak "s/security_code=[a-zA-Z0-9]*/security_code=$FOPPASSWORD/" $FOPWEBROOT/op_server.cfg
X+ sed -i.bak "s!flash_dir=[a-zA-Z0-9_./\-]*!flash_dir=$FOPWEBROOT!" $FOPWEBROOT/op_server.cfg
X+ sed -i.bak "s!web_hostname=[a-zA-Z0-9.-]*!web_hostname=$AMPWEBADDRESS!" $FOPWEBROOT/op_server.cfg
X+ sed -i.bak "s!web_hostname=[a-zA-Z0-9.-]*!web_hostname=$AMPWEBADDRESS!" $FOPWEBROOT/op_server.cfg
X fi
X
X-echo "/etc/asterisk/vm_email.inc"
X+echo "$ASTETCDIR/vm_email.inc"
X if [ "xx$AMPWEBADDRESS" = "xx" ]; then
X echo "You might need to modify /etc/asterisk/vm_email.inc manually"
X else
X- sed -r -i "s!http://.*/recordings!http://$AMPWEBADDRESS/recordings!" /etc/asterisk/vm_email.inc
X+ sed -i.bak "s!http://.*/recordings!http://$AMPWEBADDRESS/recordings!" $ASTETCDIR/vm_email.inc
X fi
X
X
END-of-freepbx/files/patch-apply_conf.sh
echo x - freepbx/files/pkg-message.in
sed 's/^X//' >freepbx/files/pkg-message.in << 'END-of-freepbx/files/pkg-message.in'
X
XDont forget to:
X
X 1) enable .php files in your apache config
X 2) adding index.php as default index files
X 3) add pear and %%TARGET%%/admin to your php.ini includes
X (include_path = .:/usr/local/share/pear:%%TARGET%%/admin")
X 4) Make sure asterisk and mysql are running fine
X 5) make sure asterisk accepts connection (manager.conf)
X
XIf this is a new instalation (not an upgrade), setup you database
Xwith the following command:
X
Xcd %%DOCS%%
X./amportal-db-install.sh %%PREFIX%%/etc/amportal.conf
X
X
END-of-freepbx/files/pkg-message.in
echo x - freepbx/files/patch-newinstall.sql
sed 's/^X//' >freepbx/files/patch-newinstall.sql << 'END-of-freepbx/files/patch-newinstall.sql'
X--- SQL/newinstall.sql.orig Tue May 16 02:48:58 2006
X+++ SQL/newinstall.sql Tue May 16 02:48:18 2006
X@@ -1,222 +1,379 @@
X--- phpMyAdmin SQL Dump
X--- version 2.6.0-alpha1
X--- http://www.phpmyadmin.net
X---
X--- Host: localhost
X--- Generation Time: May 20, 2004 at 04:00 PM
X--- Server version: 3.23.58
X--- PHP Version: 4.3.2
X---
X--- Database : `asterisk`
X---
X+-- MySQL dump 10.10
X+--
X+-- Host: localhost Database: asterisk
X+-- ------------------------------------------------------
X+-- Server version 5.0.21
X+
X+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
X+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
X+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
X+/*!40101 SET NAMES utf8 */;
X+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
X+/*!40103 SET TIME_ZONE='+00:00' */;
X+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
X+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
X+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
X+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
X+
X+--
X+-- Table structure for table `Backup`
X+--
X+
X+DROP TABLE IF EXISTS `Backup`;
X+CREATE TABLE `Backup` (
X+ `Name` varchar(50) default NULL,
X+ `Voicemail` varchar(50) default NULL,
X+ `Recordings` varchar(50) default NULL,
X+ `Configurations` varchar(50) default NULL,
X+ `CDR` varchar(55) default NULL,
X+ `FOP` varchar(50) default NULL,
X+ `Minutes` varchar(50) default NULL,
X+ `Hours` varchar(50) default NULL,
X+ `Days` varchar(50) default NULL,
X+ `Months` varchar(50) default NULL,
X+ `Weekdays` varchar(50) default NULL,
X+ `Command` varchar(200) default NULL,
X+ `Method` varchar(50) default NULL,
X+ `ID` int(11) NOT NULL auto_increment,
X+ PRIMARY KEY (`ID`)
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X+
X+--
X+-- Dumping data for table `Backup`
X+--
X+
X
X--- --------------------------------------------------------
X+/*!40000 ALTER TABLE `Backup` DISABLE KEYS */;
X+LOCK TABLES `Backup` WRITE;
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `Backup` ENABLE KEYS */;
X
X---
X+--
X -- Table structure for table `admin`
X---
X+--
X
X-CREATE TABLE IF NOT EXISTS `admin` (
X+DROP TABLE IF EXISTS `admin`;
X+CREATE TABLE `admin` (
X `variable` varchar(20) NOT NULL default '',
X `value` varchar(80) NOT NULL default '',
X PRIMARY KEY (`variable`)
X-) TYPE=MyISAM;
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X
X---
X+--
X -- Dumping data for table `admin`
X---
X+--
X+
X+
X+/*!40000 ALTER TABLE `admin` DISABLE KEYS */;
X+LOCK TABLES `admin` WRITE;
X+INSERT INTO `admin` VALUES ('need_reload','false'),('version','2.1.0');
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `admin` ENABLE KEYS */;
X+
X+--
X+-- Table structure for table `ampusers`
X+--
X+
X+DROP TABLE IF EXISTS `ampusers`;
X+CREATE TABLE `ampusers` (
X+ `username` varchar(20) NOT NULL default '',
X+ `password` varchar(20) NOT NULL default '',
X+ `extension_low` varchar(20) NOT NULL default '',
X+ `extension_high` varchar(20) NOT NULL default '',
X+ `deptname` varchar(20) NOT NULL default '',
X+ `sections` varchar(255) NOT NULL default '',
X+ PRIMARY KEY (`username`)
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X+
X+--
X+-- Dumping data for table `ampusers`
X+--
X
X-INSERT INTO `admin` VALUES ('need_reload', 'false');
X-INSERT INTO `admin` VALUES ('version','2.0.0');
X--- --------------------------------------------------------
X
X---
X+/*!40000 ALTER TABLE `ampusers` DISABLE KEYS */;
X+LOCK TABLES `ampusers` WRITE;
X+INSERT INTO `ampusers` VALUES ('admin','admin','','','','*');
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `ampusers` ENABLE KEYS */;
X+
X+--
X+-- Table structure for table `devices`
X+--
X+
X+DROP TABLE IF EXISTS `devices`;
X+CREATE TABLE `devices` (
X+ `id` varchar(20) NOT NULL,
X+ `tech` varchar(10) NOT NULL,
X+ `dial` varchar(50) NOT NULL,
X+ `devicetype` varchar(5) NOT NULL,
X+ `user` varchar(50) default NULL,
X+ `description` varchar(50) default NULL,
X+ `emergency_cid` varchar(100) default NULL
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X+
X+--
X+-- Dumping data for table `devices`
X+--
X+
X+
X+/*!40000 ALTER TABLE `devices` DISABLE KEYS */;
X+LOCK TABLES `devices` WRITE;
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `devices` ENABLE KEYS */;
X+
X+--
X -- Table structure for table `extensions`
X---
X+--
X
X-CREATE TABLE IF NOT EXISTS `extensions` (
X+DROP TABLE IF EXISTS `extensions`;
X+CREATE TABLE `extensions` (
X `context` varchar(45) NOT NULL default 'default',
X `extension` varchar(45) NOT NULL default '',
X- `priority` VARCHAR(5) NOT NULL default '1',
X+ `priority` varchar(5) NOT NULL default '1',
X `application` varchar(45) NOT NULL default '',
X `args` varchar(255) default NULL,
X `descr` text,
X `flags` int(1) NOT NULL default '0',
X PRIMARY KEY (`context`,`extension`,`priority`)
X-) TYPE=MyISAM;
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X
X+--
X+-- Dumping data for table `extensions`
X+--
X
X---
X--- Create a default route (9 to get out)
X---
X
X-INSERT INTO extensions (context, extension, priority, application, args) VALUES
X- ('outrt-001-9_outside','_9.','1','Macro','dialout-trunk,1,${EXTEN:1}');
X+/*!40000 ALTER TABLE `extensions` DISABLE KEYS */;
X+LOCK TABLES `extensions` WRITE;
X+INSERT INTO `extensions` VALUES ('outrt-001-9_outside','_9.','1','Macro','dialout-trunk,1,${EXTEN:1}',NULL,0),('outrt-001-9_outside','_9.','2','Macro','outisbusy','No available circuits',0),('outbound-allroutes','include','1','outrt-001-9_outside','','',2);
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `extensions` ENABLE KEYS */;
X
X-INSERT INTO extensions (context, extension, priority, application, args, descr) VALUES
X- ('outrt-001-9_outside','_9.','2','Macro','outisbusy','No available circuits');
X+--
X+-- Table structure for table `featurecodes`
X+--
X+
X+DROP TABLE IF EXISTS `featurecodes`;
X+CREATE TABLE `featurecodes` (
X+ `modulename` varchar(50) NOT NULL,
X+ `featurename` varchar(50) NOT NULL,
X+ `description` varchar(200) NOT NULL,
X+ `defaultcode` varchar(20) default NULL,
X+ `customcode` varchar(20) default NULL,
X+ `enabled` tinyint(4) NOT NULL default '0',
X+ PRIMARY KEY (`modulename`,`featurename`),
X+ KEY `enabled` (`enabled`)
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X+
X+--
X+-- Dumping data for table `featurecodes`
X+--
X
X-INSERT INTO extensions (context, extension, priority, application, args, descr, flags) VALUES
X- ('outbound-allroutes','include','1','outrt-001-9_outside','','','2');
X-
X--- --------------------------------------------------------
X
X---
X+/*!40000 ALTER TABLE `featurecodes` DISABLE KEYS */;
X+LOCK TABLES `featurecodes` WRITE;
X+INSERT INTO `featurecodes` VALUES ('core','userlogon','User Logon','*11',NULL,1),('core','userlogoff','User Logoff','*12',NULL,1),('core','zapbarge','ZapBarge','888',NULL,1),('core','simu_pstn','Simulate Incoming Call','7777',NULL,1),('core','simu_fax','Simulate Incoming FAX Call','666',NULL,1);
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `featurecodes` ENABLE KEYS */;
X+
X+--
X -- Table structure for table `globals`
X---
X+--
X
X-CREATE TABLE IF NOT EXISTS `globals` (
X+DROP TABLE IF EXISTS `globals`;
X+CREATE TABLE `globals` (
X `variable` char(20) NOT NULL default '',
X `value` char(50) NOT NULL default '',
X PRIMARY KEY (`variable`)
X-) TYPE=MyISAM;
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X
X---
X+--
X -- Dumping data for table `globals`
X---
X+--
X
X-INSERT INTO `globals` VALUES ('CALLFILENAME', '""');
X-INSERT INTO `globals` VALUES ('DIAL_OPTIONS', 'tr');
X-INSERT INTO `globals` VALUES ('TRUNK_OPTIONS', 'r');
X-INSERT INTO `globals` VALUES ('DIAL_OUT', '9');
X-INSERT INTO `globals` VALUES ('FAX', '');
X-INSERT INTO `globals` VALUES ('FAX_RX', 'system');
X-INSERT INTO `globals` VALUES ('FAX_RX_EMAIL', 'fax at mydomain.com');
X-INSERT INTO `globals` VALUES ('INCOMING', 'group-all');
X-INSERT INTO `globals` VALUES ('NULL', '""');
X-INSERT INTO `globals` VALUES ('OPERATOR', '');
X-INSERT INTO `globals` VALUES ('PARKNOTIFY', 'SIP/200');
X-INSERT INTO `globals` VALUES ('RECORDEXTEN', '""');
X-INSERT INTO `globals` VALUES ('RINGTIMER', '15');
X-INSERT INTO `globals` VALUES ('DIRECTORY', 'last');
X-INSERT INTO `globals` VALUES ('AFTER_INCOMING', '');
X-INSERT INTO `globals` VALUES ('IN_OVERRIDE', 'forcereghours');
X-INSERT INTO `globals` VALUES ('REGTIME', '7:55-17:05');
X-INSERT INTO `globals` VALUES ('REGDAYS', 'mon-fri');
X-INSERT INTO `globals` VALUES ('DIRECTORY_OPTS', '');
X-INSERT INTO `globals` VALUES ('DIALOUTIDS', '1');
X-INSERT INTO `globals` VALUES ('OUT_1', 'ZAP/g0');
X-INSERT INTO `globals` VALUES ('VM_PREFIX', '*');
X
X--- --------------------------------------------------------
X+/*!40000 ALTER TABLE `globals` DISABLE KEYS */;
X+LOCK TABLES `globals` WRITE;
X+INSERT INTO `globals` VALUES ('CALLFILENAME','\"\"'),('DIAL_OPTIONS','tr'),('TRUNK_OPTIONS','r'),('DIAL_OUT','9'),('FAX',''),('FAX_RX','system'),('FAX_RX_EMAIL','fax at mydomain.com'),('INCOMING','group-all'),('NULL','\"\"'),('OPERATOR',''),('PARKNOTIFY','SIP/200'),('RECORDEXTEN','\"\"'),('RINGTIMER','15'),('DIRECTORY','last'),('AFTER_INCOMING',''),('IN_OVERRIDE','forcereghours'),('REGTIME','7:55-17:05'),('REGDAYS','mon-fri'),('DIRECTORY_OPTS',''),('DIALOUTIDS','1'),('OUT_1','ZAP/g0'),('VM_PREFIX','*'),('TO NEZONE','us'),('ALLOW_SIP_ANON','no'),('FAX_RX_FROM','freepbx at gmail.com'),('VM_DDTYPE',''),('VM_GAIN','');
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `globals` ENABLE KEYS */;
X
X---
X--- Table structure for table `sip`
X---
X+--
X+-- Table structure for table `iax`
X+--
X
X-CREATE TABLE IF NOT EXISTS `sip` (
X- `id` VARCHAR( 20 ) NOT NULL default '-1',
X+DROP TABLE IF EXISTS `iax`;
X+CREATE TABLE `iax` (
X+ `id` varchar(20) NOT NULL default '-1',
X `keyword` varchar(30) NOT NULL default '',
X `data` varchar(150) NOT NULL default '',
X `flags` int(1) NOT NULL default '0',
X PRIMARY KEY (`id`,`keyword`)
X-) TYPE=MyISAM;
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X
X---
X--- Dumping data for table `sip`
X---
X+--
X+-- Dumping data for table `iax`
X+--
X
X--- ----------------------------------------------------------
X
X+/*!40000 ALTER TABLE `iax` DISABLE KEYS */;
X+LOCK TABLES `iax` WRITE;
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `iax` ENABLE KEYS */;
X
X---
X--- Table structure for table `ampusers`
X---
X+--
X+-- Table structure for table `incoming`
X+--
X
X-CREATE TABLE IF NOT EXISTS `ampusers` (
X- `username` varchar(20) NOT NULL default '',
X- `password` varchar(20) NOT NULL default '',
X- `extension_low` varchar(20) NOT NULL default '',
X- `extension_high` varchar(20) NOT NULL default '',
X- `deptname` varchar(20) NOT NULL default '',
X- `sections` varchar(255) NOT NULL default '',
X- PRIMARY KEY (`username`)
X-) TYPE=MyISAM;
X+DROP TABLE IF EXISTS `incoming`;
X+CREATE TABLE `incoming` (
X+ `cidnum` varchar(20) default NULL,
X+ `extension` varchar(20) default NULL,
X+ `destination` varchar(50) default NULL,
X+ `faxexten` varchar(20) default NULL,
X+ `faxemail` varchar(50) default NULL,
X+ `answer` tinyint(1) default NULL,
X+ `wait` int(2) default NULL,
X+ `privacyman` tinyint(1) default NULL,
X+ `alertinfo` varchar(32) default NULL,
X+ `channel` varchar(20) default NULL
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X
X-INSERT INTO ampusers (username, password, extension_low, extension_high, deptname, sections) VALUES
X- ('admin','admin','','','','*');
X-
X---
X--- Table structure for table `iax`
X---
X-
X-CREATE TABLE IF NOT EXISTS `iax` (
X- `id` VARCHAR( 20 ) NOT NULL default '-1',
X- `keyword` varchar(30) NOT NULL default '',
X- `data` varchar(150) NOT NULL default '',
X- `flags` int(1) NOT NULL default '0',
X- PRIMARY KEY (`id`,`keyword`)
X- ) TYPE=MyISAM;
X+--
X+-- Dumping data for table `incoming`
X+--
X
X-
X---
X--- Table structure for table `zap`
X---
X
X-CREATE TABLE IF NOT EXISTS `zap` (
X- `id` VARCHAR( 20 ) NOT NULL default '-1',
X- `keyword`varchar(30) NOT NULL default '',
X- `data`varchar(150) NOT NULL default '',
X- `flags` int(1) NOT NULL default '0',
X- PRIMARY KEY (`id`,`keyword`)
X- ) TYPE=MyISAM;
X-
X---
X+/*!40000 ALTER TABLE `incoming` DISABLE KEYS */;
X+LOCK TABLES `incoming` WRITE;
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `incoming` ENABLE KEYS */;
X+
X+--
X+-- Table structure for table `modules`
X+--
X+
X+DROP TABLE IF EXISTS `modules`;
X+CREATE TABLE `modules` (
X+ `id` int(11) NOT NULL auto_increment,
X+ `modulename` varchar(50) NOT NULL,
X+ `version` varchar(20) NOT NULL,
X+ `enabled` tinyint(4) NOT NULL,
X+ PRIMARY KEY (`id`)
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X+
X+--
X+-- Dumping data for table `modules`
X+--
X+
X+
X+/*!40000 ALTER TABLE `modules` DISABLE KEYS */;
X+LOCK TABLES `modules` WRITE;
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `modules` ENABLE KEYS */;
X+
X+--
X -- Table structure for table `queues`
X---
X+--
X
X-CREATE TABLE IF NOT EXISTS `queues` (
X+DROP TABLE IF EXISTS `queues`;
X+CREATE TABLE `queues` (
X `id` bigint(11) NOT NULL default '-1',
X `keyword` varchar(20) NOT NULL default '',
X `data` varchar(150) NOT NULL default '',
X `flags` int(1) NOT NULL default '0',
X PRIMARY KEY (`id`,`keyword`,`data`)
X-) TYPE=MyISAM;;
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X+
X+--
X+-- Dumping data for table `queues`
X+--
X
X-CREATE TABLE IF NOT EXISTS `devices` (
X-`id` VARCHAR( 20 ) NOT NULL ,
X-`tech` VARCHAR( 10 ) NOT NULL ,
X-`dial` VARCHAR( 50 ) NOT NULL ,
X-`devicetype` VARCHAR( 5 ) NOT NULL ,
X-`user` VARCHAR( 50 ) ,
X-`description` VARCHAR( 50 ) ,
X-`emergency_cid` VARCHAR( 100 ) NULL
X-) TYPE = MYISAM ;
X
X-CREATE TABLE IF NOT EXISTS users (extension VARCHAR( 20 ) NOT NULL , password VARCHAR( 20 ) , name VARCHAR( 50 ) , voicemail VARCHAR( 50 ) , ringtimer INT(3) , noanswer VARCHAR( 100 ) , recording VARCHAR( 50 ) , outboundcid VARCHAR( 50 ) , directdid VARCHAR( 50 ) NULL, didalert VARCHAR ( 50 ) NULL );
X+/*!40000 ALTER TABLE `queues` DISABLE KEYS */;
X+LOCK TABLES `queues` WRITE;
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `queues` ENABLE KEYS */;
X
X --
X--- Needs to be changed to their new structure, comment out for now
X+-- Table structure for table `sip`
X --
X-CREATE TABLE IF NOT EXISTS `incoming` ( `cidnum` VARCHAR( 20 ) , `extension` VARCHAR( 20 ) , `destination` VARCHAR( 50 ) , `faxexten` VARCHAR( 20 ) , `faxemail` VARCHAR( 50 ) , `answer` TINYINT( 1 ) , `wait` INT( 2 ) , `privacyman` TINYINT( 1 ) , alertinfo VARCHAR( 32 ) , `channel` VARCHAR( 20 ) );
X+
X+DROP TABLE IF EXISTS `sip`;
X+CREATE TABLE `sip` (
X+ `id` varchar(20) NOT NULL default '-1',
X+ `keyword` varchar(30) NOT NULL default '',
X+ `data` varchar(150) NOT NULL default '',
X+ `flags` int(1) NOT NULL default '0',
X+ PRIMARY KEY (`id`,`keyword`)
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X+
X --
X+-- Dumping data for table `sip`
X --
X
X-CREATE TABLE IF NOT EXISTS `Backup` (`Name` varchar(50) default NULL,`Voicemail` varchar(50) default NULL,`Recordings` varchar(50) default NULL,`Configurations` varchar(50) default NULL,`CDR` varchar(55) default NULL,`FOP` varchar(50) default NULL,`Minutes` varchar(50) default NULL,`Hours` varchar(50) default NULL,`Days` varchar(50) default NULL,`Months` varchar(50) default NULL,`Weekdays` varchar(50) default NULL,`Command` varchar(200) default NULL,`Method` varchar(50) default NULL,`ID` int(11) NOT NULL auto_increment,PRIMARY KEY (ID));
X
X---
X--- Create module tables
X---
X+/*!40000 ALTER TABLE `sip` DISABLE KEYS */;
X+LOCK TABLES `sip` WRITE;
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `sip` ENABLE KEYS */;
X+
X+--
X+-- Table structure for table `users`
X+--
X
X-CREATE TABLE IF NOT EXISTS `modules` (
X-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
X-`modulename` VARCHAR( 50 ) NOT NULL ,
X-`version` VARCHAR( 20 ) NOT NULL ,
X-`enabled` TINYINT NOT NULL
X-) TYPE = MYISAM ;
X+DROP TABLE IF EXISTS `users`;
X+CREATE TABLE `users` (
X+ `extension` varchar(20) NOT NULL,
X+ `password` varchar(20) default NULL,
X+ `name` varchar(50) default NULL,
X+ `voicemail` varchar(50) default NULL,
X+ `ringtimer` int(3) default NULL,
X+ `noanswer` varchar(100) default NULL,
X+ `recording` varchar(50) default NULL,
X+ `outboundcid` varchar(50) default NULL,
X+ `directdid` varchar(50) default NULL,
X+ `didalert` varchar(50) default NULL
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X
X --
X--- Table structure for table `featurecodes`
X+-- Dumping data for table `users`
X --
X
X-CREATE TABLE IF NOT EXISTS `featurecodes` (
X- `modulename` varchar(50) NOT NULL,
X- `featurename` varchar(50) NOT NULL,
X- `description` varchar(200) NOT NULL,
X- `defaultcode` varchar(20) default NULL,
X- `customcode` varchar(20) default NULL,
X- `enabled` tinyint(4) NOT NULL default '0',
X- PRIMARY KEY (`modulename`,`featurename`),
X- KEY `enabled` (`enabled`)
X-) TYPE=MyISAM;
X+
X+/*!40000 ALTER TABLE `users` DISABLE KEYS */;
X+LOCK TABLES `users` WRITE;
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `users` ENABLE KEYS */;
X+
X+--
X+-- Table structure for table `zap`
X+--
X+
X+DROP TABLE IF EXISTS `zap`;
X+CREATE TABLE `zap` (
X+ `id` varchar(20) NOT NULL default '-1',
X+ `keyword` varchar(30) NOT NULL default '',
X+ `data` varchar(150) NOT NULL default '',
X+ `flags` int(1) NOT NULL default '0',
X+ PRIMARY KEY (`id`,`keyword`)
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X+
X+--
X+-- Dumping data for table `zap`
X+--
X+
X+
X+/*!40000 ALTER TABLE `zap` DISABLE KEYS */;
X+LOCK TABLES `zap` WRITE;
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `zap` ENABLE KEYS */;
X+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
X+
X+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
X+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
X+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
X+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
X+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
X+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
X+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
X
END-of-freepbx/files/patch-newinstall.sql
echo x - freepbx/files/patch-cdr_mysql_table.sql
sed 's/^X//' >freepbx/files/patch-cdr_mysql_table.sql << 'END-of-freepbx/files/patch-cdr_mysql_table.sql'
X--- SQL/cdr_mysql_table.sql.orig Tue May 16 02:48:51 2006
X+++ SQL/cdr_mysql_table.sql Tue May 16 02:48:24 2006
X@@ -1,18 +1,60 @@
X-CREATE TABLE cdr (
X- calldate datetime NOT NULL default '0000-00-00 00:00:00',
X- clid varchar(80) NOT NULL default '',
X- src varchar(80) NOT NULL default '',
X- dst varchar(80) NOT NULL default '',
X- dcontext varchar(80) NOT NULL default '',
X- channel varchar(80) NOT NULL default '',
X- dstchannel varchar(80) NOT NULL default '',
X- lastapp varchar(80) NOT NULL default '',
X- lastdata varchar(80) NOT NULL default '',
X- duration int(11) NOT NULL default '0',
X- billsec int(11) NOT NULL default '0',
X- disposition varchar(45) NOT NULL default '',
X- amaflags int(11) NOT NULL default '0',
X- accountcode varchar(20) NOT NULL default '',
X- uniqueid varchar(32) NOT NULL default '',
X- userfield varchar(255) NOT NULL default ''
X-);
X+-- MySQL dump 10.10
X+--
X+-- Host: localhost Database: asteriskcdrdb
X+-- ------------------------------------------------------
X+-- Server version 5.0.21
X+
X+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
X+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
X+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
X+/*!40101 SET NAMES utf8 */;
X+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
X+/*!40103 SET TIME_ZONE='+00:00' */;
X+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
X+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
X+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
X+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
X+
X+--
X+-- Table structure for table `cdr`
X+--
X+
X+DROP TABLE IF EXISTS `cdr`;
X+CREATE TABLE `cdr` (
X+ `calldate` datetime NOT NULL default '0000-00-00 00:00:00',
X+ `clid` varchar(80) NOT NULL default '',
X+ `src` varchar(80) NOT NULL default '',
X+ `dst` varchar(80) NOT NULL default '',
X+ `dcontext` varchar(80) NOT NULL default '',
X+ `channel` varchar(80) NOT NULL default '',
X+ `dstchannel` varchar(80) NOT NULL default '',
X+ `lastapp` varchar(80) NOT NULL default '',
X+ `lastdata` varchar(80) NOT NULL default '',
X+ `duration` int(11) NOT NULL default '0',
X+ `billsec` int(11) NOT NULL default '0',
X+ `disposition` varchar(45) NOT NULL default '',
X+ `amaflags` int(11) NOT NULL default '0',
X+ `accountcode` varchar(20) NOT NULL default '',
X+ `uniqueid` varchar(32) NOT NULL default '',
X+ `userfield` varchar(255) NOT NULL default ''
X+) ENGINE=MyISAM DEFAULT CHARSET=latin1;
X+
X+--
X+-- Dumping data for table `cdr`
X+--
X+
X+
X+/*!40000 ALTER TABLE `cdr` DISABLE KEYS */;
X+LOCK TABLES `cdr` WRITE;
X+UNLOCK TABLES;
X+/*!40000 ALTER TABLE `cdr` ENABLE KEYS */;
X+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
X+
X+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
X+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
X+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
X+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
X+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
X+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
X+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
X+
END-of-freepbx/files/patch-cdr_mysql_table.sql
echo x - freepbx/files/amportal-db-remove.sh
sed 's/^X//' >freepbx/files/amportal-db-remove.sh << 'END-of-freepbx/files/amportal-db-remove.sh'
X#!/bin/sh
X
X# Written by Tzafrir Cohen <tzafrir.cohen at xorcom.com>,
X# Diego Iastrubni <diego.iastrubni at xorcom.com>
X# Phillip Neumann <pneumann at gmail.com>
X# Copyright (C) 2005, Xorcom
X#
X# All rights reserved.
X#
X# This program is free software; you can redistribute it and/or modify
X# it under the terms of the GNU General Public License as published by
X# the Free Software Foundation; either version 2 of the License, or
X# (at your option) any later version.
X#
X# This program is distributed in the hope that it will be useful,
X# but WITHOUT ANY WARRANTY; without even the implied warranty of
X# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
X# GNU General Public License for more details.
X#
X# You should have received a copy of the GNU General Public License
X# along with this program; if not, write to the Free Software
X# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
X# a small script to generate the needed SQL tables by AMPortal
X# needs to be run as root
X
X. amportal-db-functions.sh $1 $2 $3 $4 $5 || usage
X
Xdelete_db "asteriskcdrdb"
Xdelete_db "asterisk"
X
Xecho
Xecho "The amportal databases have been purged"
Xecho
END-of-freepbx/files/amportal-db-remove.sh
echo x - freepbx/files/amportal-db-install.sh
sed 's/^X//' >freepbx/files/amportal-db-install.sh << 'END-of-freepbx/files/amportal-db-install.sh'
X#!/bin/sh
X
X# Written by Tzafrir Cohen <tzafrir.cohen at xorcom.com>,
X# Diego Iastrubni <diego.iastrubni at xorcom.com>
X# Phillip Neumann <pneumann at gmail.com>
X# Copyright (C) 2005, Xorcom
X#
X# All rights reserved.
X#
X# This program is free software; you can redistribute it and/or modify
X# it under the terms of the GNU General Public License as published by
X# the Free Software Foundation; either version 2 of the License, or
X# (at your option) any later version.
X#
X# This program is distributed in the hope that it will be useful,
X# but WITHOUT ANY WARRANTY; without even the implied warranty of
X# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
X# GNU General Public License for more details.
X#
X# You should have received a copy of the GNU General Public License
X# along with this program; if not, write to the Free Software
X# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
X# a small script to generate the needed SQL tables by AMPortal
X
X. amportal-db-functions.sh $1 $2 $3 $4 $5 || usage
X
X
Xecho "creating asterisk DB"
Xcreate_db "asterisk" "newinstall.sql"
X
Xecho "creating asteriskcdr DB"
Xcreate_db "asteriskcdrdb" "cdr_mysql_table.sql"
X
Xif [ $CLEANDB != "1" ]; then
X echo "Making a default AMPortal administrator"
X echo "UPDATE \`ampusers\` SET username='$DEF_ADMIN_USER'" | $USER_SQLCLIENT asterisk
X echo "UPDATE \`ampusers\` SET password='$DEF_ADMIN_PASSWD'" | $USER_SQLCLIENT asterisk
Xfi
X
Xecho "The default user and password for the database is [$AMPDBUSER:$AMPDBPASS]"
Xecho "The default administrator for AMPortal is [$DEF_ADMIN_USER:$DEF_ADMIN_PASSWD]"
END-of-freepbx/files/amportal-db-install.sh
echo x - freepbx/files/patch-install_amp
sed 's/^X//' >freepbx/files/patch-install_amp << 'END-of-freepbx/files/patch-install_amp'
X--- install_amp.orig Mon May 15 13:41:00 2006
X+++ install_amp Wed May 17 20:15:12 2006
X@@ -1,4 +1,4 @@
X-#!/usr/bin/php -q
X+#!/usr/bin/env php
X <?php
X
X // define versions. latest version must be last
X@@ -31,10 +31,6 @@
X '2.1.0'
X );
X
X-define("AMP_CONF", "/etc/amportal.conf");
X-
X-define("ASTERISK_CONF", "/etc/asterisk/asterisk.conf");
X-
X define("UPGRADE_DIR", dirname(__FILE__)."/upgrades");
X
X /********************************************************************************************************************/
X@@ -65,12 +61,23 @@
X function showHelp() {
X out("Optional parameters:");
X out(" --help, -h, -? Show this help");
X+
X+ out(" --dbhost <ip address> Use a remote database server");
X out(" --username <user> Use <user> to connect to db and write config");
X out(" --password <pass> Use <pass> to connect to db and write config");
X+
X+ out(" --fopwebroot <path> Web path where fop will be installed");
X+ out(" --webroot <path> Web root where freepbx will be installed");
X+ out(" --cgibin <path> Path where cgi-bin's lives");
X+ out(" --bin <path> Path of asterisk binaries");
X+ out(" --sbin <path> Path of system admin binaries");
X+ out(" --asteriskuser <user> Asterisk Manager username");
X+ out(" --asteriskpass <pass> Asterisk Manager password");
X+ out(" --systemconfig <path> System config files");
X+
X out(" --debug Enable debug output");
X out(" --dry-run Don't actually do anything");
X out(" --force-version <ver> Force upgrade from version <ver>");
X- out(" --dbhost <ip address> Use a remote database server");
X out(" --no-files Just run updates without installing files");
X }
X
X@@ -96,7 +103,12 @@
X
X //get the version number
X function install_getversion() {
X- global $db;
X+ global $db, $new_install, $versions;
X+
X+ if ($new_install){
X+ return end($versions);
X+ }
X+
X $sql = "SELECT value FROM admin WHERE variable = 'version'";
X $results = $db->getAll($sql);
X if(DB::IsError($results)) {
X@@ -415,120 +427,96 @@
X /** Collect AMP settings
X */
X function collect_settings($filename, $dbhost = '', $dbuser = '', $dbpass = '') {
X- out("Creating new /etc/amportal.conf");
X+ out("Creating new ".$filename);
X+ global $asteriskuser, $asteriskpass, $webroot, $fopwebroot, $cgibin, $bin, $sbin;
X
X- outn("Enter your USERNAME to connect to the 'asterisk' database:\n [".($dbuser ? $dbuser : "asteriskuser")."] ");
X- $key = trim(fgets(STDIN,1024));
X+ $key = $dbuser;
X if (preg_match('/^$/',$key)) $amp_conf["AMPDBUSER"] = ($dbuser ? $dbuser : "asteriskuser");
X else $amp_conf["AMPDBUSER"] = $key;
X
X- outn("Enter your PASSWORD to connect to the 'asterisk' database:\n [".($dbpass ? $dbpass : "amp109")."] ");
X- $key = trim(fgets(STDIN,1024));
X+ $key = $dbpassword;
X if (preg_match('/^$/',$key)) $amp_conf["AMPDBPASS"] = ($dbpass ? $dbpass : "amp109");
X else $amp_conf["AMPDBPASS"] = $key;
X
X- outn("Enter the hostname of the 'asterisk' database:\n [".($dbhost ? $dbhost : "localhost")."] ");
X- $key = trim(fgets(STDIN,1024));
X+ $key = $dbhost;
X if (preg_match('/^$/',$key)) $amp_conf["AMPDBHOST"] = ($dbhost ? $dbhost : "localhost");
X else $amp_conf["AMPDBHOST"] = $key;
X
X- outn("Enter a USERNAME to connect to the Asterisk Manager interface:\n [admin] ");
X- $key = trim(fgets(STDIN,1024));
X+ $key = $asteriskuser;
X if (preg_match('/^$/',$key)) $amp_conf["AMPMGRUSER"] = "admin";
X else $amp_conf["AMPMGRUSER"] = $key;
X
X- outn("Enter a PASSWORD to connect to the Asterisk Manager interface:\n [amp111] ");
X- $key = trim(fgets(STDIN,1024));
X+ $key = $asteriskpass;
X if (preg_match('/^$/',$key)) $amp_conf["AMPMGRPASS"] = "amp111";
X else $amp_conf["AMPMGRPASS"] = $key;
X
X- do {
X- out("Enter the path to use for your AMP web root:\n [/var/www/html] ");
X- $key = trim(fgets(STDIN,1024));
X- if (preg_match('/^$/',$key)) $amp_conf["AMPWEBROOT"] = "/var/www/html";
X- else $amp_conf["AMPWEBROOT"] = rtrim($key,'/');
X- if (is_dir($amp_conf["AMPWEBROOT"])) {
X- break;
X- } else if (amp_mkdir($amp_conf["AMPWEBROOT"],"0755",true)){
X- out("Created ".$amp_conf["AMPWEBROOT"]);
X- break;
X- } else {
X- fatal("Cannot create ".$amp_conf["AMPWEBROOT"]."!");
X- }
X- } while(1);
X-
X- do {
X- out("Enter the path to use for your FOP web root:\n [/var/www/html/panel] ");
X- $key = trim(fgets(STDIN,1024));
X- if (preg_match('/^$/',$key)) $amp_conf["FOPWEBROOT"] = "/var/www/html/panel";
X- else $amp_conf["FOPWEBROOT"] = rtrim($key,'/');
X- if (is_dir($amp_conf["FOPWEBROOT"])) {
X- break;
X- } else if (amp_mkdir($amp_conf["FOPWEBROOT"],"0755",true)){
X- out("Created ".$amp_conf["FOPWEBROOT"]);
X- break;
X- } else {
X- fatal("Cannot create ".$amp_conf["FOPWEBROOT"]."!");
X- }
X- } while(1);
X+ $key = $webroot;
X+ if (preg_match('/^$/',$key)) $amp_conf["AMPWEBROOT"] = "/var/www/html";
X+ else $amp_conf["AMPWEBROOT"] = rtrim($key,'/');
X+ if (is_dir($amp_conf["AMPWEBROOT"])) {
X+
X+ } else if (amp_mkdir($amp_conf["AMPWEBROOT"],"0755",true)){
X+ out("Created ".$amp_conf["AMPWEBROOT"]);
X+
X+ } else {
X+ fatal("Cannot create ".$amp_conf["AMPWEBROOT"]."!");
X+ }
X+
X+ $key = $fopwebroot;
X+ if (preg_match('/^$/',$key)) $amp_conf["FOPWEBROOT"] = "/var/www/html/panel";
X+ else $amp_conf["FOPWEBROOT"] = rtrim($key,'/');
X+ if (is_dir($amp_conf["FOPWEBROOT"])) {
X+
X+ } else if (amp_mkdir($amp_conf["FOPWEBROOT"],"0755",true)){
X+ out("Created ".$amp_conf["FOPWEBROOT"]);
X+
X+ } else {
X+ fatal("Cannot create ".$amp_conf["FOPWEBROOT"]."!");
X+ }
X
X- do {
X- outn("Enter the path to your Apache cgi-bin:\n [/var/www/cgi-bin] ");
X- $key = trim(fgets(STDIN,1024));
X- if (preg_match('/^$/',$key)) $amp_conf["AMPCGIBIN"] = "/var/www/cgi-bin";
X- else $amp_conf["AMPCGIBIN"] = rtrim($key,'/');
X- if (is_dir($amp_conf["AMPCGIBIN"])) break;
X- else fatal($amp_conf["AMPCGIBIN"]." is not a directory!");
X- } while(1);
X+ $key = $cgibin;
X+ if (preg_match('/^$/',$key)) $amp_conf["AMPCGIBIN"] = "/var/www/cgi-bin";
X+ else $amp_conf["AMPCGIBIN"] = rtrim($key,'/');
X+ if (is_dir($amp_conf["AMPCGIBIN"])) {}
X+ else fatal($amp_conf["AMPCGIBIN"]." is not a directory!");
X+
X
X- outn("Enter the IP ADDRESS or hostname used to access the AMP web-admin:\n [xx.xx.xx.xx] ");
X- $key = trim(fgets(STDIN,1024));
X+ $key = "localhost"; //asume...
X if (preg_match('/^$/',$key)) $amp_conf["AMPWEBADDRESS"] = "xx.xx.xx.xx";
X else $amp_conf["AMPWEBADDRESS"] = $key;
X
X- outn("Enter a PASSWORD to perform call transfers with the Flash Operator Panel:\n [passw0rd] ");
X- $key = trim(fgets(STDIN,1024));
X+ $key = "passw0rd"; //asume...
X if (preg_match('/^$/',$key)) $amp_conf["FOPPASSWORD"] = "passw0rd";
X else $amp_conf["FOPPASSWORD"] = $key;
X
X- outn("Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?\n [extensions] ");
X- $key = trim(fgets(STDIN,1024));
X+ $key = "extensions"; //asume...
X if (preg_match('/^$/',$key)) $amp_conf["AMPEXTENSIONS"] = "extensions";
X else $amp_conf["AMPEXTENSIONS"] = $key;
X
X- do {
X- out("Enter directory in which to store AMP executable scripts:\n [/var/lib/asterisk/bin] ");
X- $key = trim(fgets(STDIN,1024));
X- if (preg_match('/^$/',$key)) $amp_conf["AMPBIN"] = "/var/lib/asterisk/bin";
X- else $amp_conf["AMPBIN"] = rtrim($key,'/');
X- if (is_dir($amp_conf["AMPBIN"])) {
X- break;
X- } else if (amp_mkdir($amp_conf["AMPBIN"],"0755",true)){
X- out("Created ".$amp_conf["AMPBIN"]);
X- break;
X- } else {
X- fatal("Cannot create ".$amp_conf["AMPBIN"]."!");
X- }
X- } while(1);
X+ $key = $bin;
X+ if (preg_match('/^$/',$key)) $amp_conf["AMPBIN"] = "/var/lib/asterisk/bin";
X+ else $amp_conf["AMPBIN"] = rtrim($key,'/');
X+ if (is_dir($amp_conf["AMPBIN"])) {
X+ } else if (amp_mkdir($amp_conf["AMPBIN"],"0755",true)){
X+ out("Created ".$amp_conf["AMPBIN"]);
X+ } else {
X+ fatal("Cannot create ".$amp_conf["AMPBIN"]."!");
X+ }
X
X- do {
X- out("Enter directory in which to store super-user scripts:\n [/usr/sbin] ");
X- $key = trim(fgets(STDIN,1024));
X- if (preg_match('/^$/',$key)) $amp_conf["AMPSBIN"] = "/usr/sbin";
X- else $amp_conf["AMPSBIN"] = rtrim($key,'/');
X- if (is_dir($amp_conf["AMPSBIN"])) {
X- break;
X- } else if (amp_mkdir($amp_conf["AMPSBIN"],"0755",true)){
X- out("Created ".$amp_conf["AMPSBIN"]);
X- break;
X- } else {
X- fatal("Cannot create ".$amp_conf["AMPSBIN"]."!");
X- }
X- } while(1);
X+ $key = $sbin;
X+ if (preg_match('/^$/',$key)) $amp_conf["AMPSBIN"] = "/usr/sbin";
X+ else $amp_conf["AMPSBIN"] = rtrim($key,'/');
X+ if (is_dir($amp_conf["AMPSBIN"])) {
X+ } else if (amp_mkdir($amp_conf["AMPSBIN"],"0755",true)){
X+ out("Created ".$amp_conf["AMPSBIN"]);
X+ } else {
X+ fatal("Cannot create ".$amp_conf["AMPSBIN"]."!");
X+ }
X+
X
X // write amportal.conf
X write_amportal_conf($filename, $amp_conf);
X- outn("/etc/amportal.conf written");
X+ outn($filename." written ");
X }
X
X /********************************************************************************************************************/
X@@ -561,6 +549,7 @@
X }
X out("OK");
X
X+
X /* RC: WE SOULDN'T NEED THESE WITH NEW PHP DIALPARTIES
X // **** Make sure we have libasteriskperl
X $perl_test = "perl -e 'use Asterisk::AGI'";
X@@ -588,7 +577,7 @@
X // **** Parse out command-line options
X
X $shortopts = "h?u:p:";
X-$longopts = array("help","debug","dry-run","username=","password=","force-version=","dbhost=","no-files");
X+$longopts = array("help","debug","dry-run","username=","password=","force-version=","dbhost=","no-files","fopwebroot=","webroot=","cgibin=","bin=","sbin=","asteriskuser=","asteriskpass=","systemconfig=");
X
X $args = Console_Getopt::getopt(Console_Getopt::readPHPArgv(), $shortopts, $longopts);
X if (is_object($args)) {
X@@ -600,6 +589,16 @@
X $debug = false;
X $dryrun = false;
X $install_files = true;
X+$new_install = false;
X+
X+$fopwebroot = "/var/www/html/panel";
X+$webroot = "/var/www/html";
X+$cgibin = "/var/www/cgi-bin";
X+$bin = "/var/lib/asterisk/bin";
X+$sbin = "/usr/sbin";
X+$asteriskuser = "admin";
X+$asteriskpass = "amp111";
X+$systemconfig = "/etc";
X
X //initialize variables to avoid php notices
X $dbhost = null;
X@@ -640,10 +639,51 @@
X $install_files = false;
X out("Running upgrade only, without installing files.");
X break;
X+ case "--fopwebroot":
X+ $fopwebroot = $arg[1];
X+ out("Using fop at ".$fopwebroot);
X+ break;
X+ case "--webroot":
X+ $webroot = $arg[1];
X+ out("Using Webroot at ".$webroot);
X+ break;
X+ case "--cgibin":
X+ $cgibin = $arg[1];
X+ out("Using CGI-BIN at ".$cgibin);
X+ break;
X+ case "--bin":
X+ $bin = $arg[1];
X+ out("Using bin at ".$bin);
X+ break;
X+ case "--sbin":
X+ $sbin = $arg[1];
X+ out("Using sbin ar ".$sbin);
X+ break;
X+ case "--asteriskuser":
X+ $asteriskuser = $arg[1];
X+ out("Using Asterisk user ".$asteriskuser);
X+ break;
X+ case "--asteriskpass":
X+ $asteriskpass = $arg[1];
X+ out("Using asteriskpass ".str_repeat("*",strlen($arg[1])));
X+ break;
X+ case "--systemconfig":
X+ $systemconfig = $arg[1];
X+ out("Using system config at ". $systemconfig);
X+
X+
X }
X+
X }
X+define("AMP_CONF", $systemconfig."/amportal.conf");
X+define("ASTERISK_CONF", $systemconfig."/asterisk/asterisk.conf");
X
X
X+// **** Replace the asterisk and ampconfig configuration paths:
X+exec("find amp_conf -type f |xargs sed -i.bak 's|/etc/asterisk|$systemconfig/asterisk|g'");
X+exec("find amp_conf -type f |xargs sed -i.bak 's|/etc/amportal.conf|$systemconfig/amportal.conf|g'");
X+exec("find amp_conf -name *.bak -type f |xargs rm ");
X+
X // **** Look for user = root
X
X outn("Checking user..");
X@@ -661,12 +701,15 @@
X
X outn("Checking for ".AMP_CONF."..");
X if (!file_exists(AMP_CONF)) {
X+ $new_install=true;
X+ out ("This is a new instalation. Copyng default ".AMP_CONF." and creating the databases...");
X out(AMP_CONF." does not exist, copying default");
X- copy("amportal.conf", "/etc/amportal.conf");
X+ copy("amportal.conf", $systemconfig."/amportal.conf");
X collect_settings(AMP_CONF, $dbhost, $new_username, $new_password);
X }
X out("OK");
X
X+
X // **** read amportal.conf
X
X outn("Reading ".AMP_CONF."..");
X@@ -676,6 +719,8 @@
X }
X out("OK");
X
X+
X+
X // Ensure our "critical" variables are set. We absolutely need these to copy in files.
X
X if (!array_key_exists("FOPWEBROOT",$amp_conf) ||
X@@ -714,6 +759,8 @@
X write_amportal_conf(AMP_CONF, $amp_conf);
X }
X
X+
X+
X if (isset($new_username) || isset($new_password) || isset($dbhost)) {
X // new username/pwd
X
X@@ -732,17 +779,30 @@
X write_amportal_conf(AMP_CONF, $amp_conf);
X }
X
X+
X+
X+
X // **** Check for amportal.conf, create if necessary
X
X outn("Checking for ".ASTERISK_CONF."..");
X+
X if (!file_exists(ASTERISK_CONF)) {
X- out(ASTERISK_CONF." does not exist, copying default");
X- copy("asterisk.conf", "/etc/asterisk/asterisk.conf");
X+
X+ //Check if there is a default config distribution file installed in the system, and use that.
X+ $defaultconfig = ASTERISK_CONF."-dist";
X+ if (!file_exists($defaultconfig)){
X+ $defaultconfig = "asterisk.conf";
X+ }
X+
X+ out(ASTERISK_CONF." does not exist, copying default ");
X+ copy($defaultconfig, ASTERISK_CONF);
X //TODO - need to prompt for asterisk specific directories - using * defaults for now
X //collect_ast_settings(ASTERISK_CONF, $dbhost, $new_username, $new_password);
X+
X }
X out("OK");
X
X+
X // **** read asterisk.conf
X
X outn("Reading ".ASTERISK_CONF."..");
X@@ -752,6 +812,8 @@
X }
X out("OK");
X
X+
X+
X if (isset($asterisk_conf['astetcdir'])) { $amp_conf['ASTETCDIR'] = $asterisk_conf['astetcdir']; }
X if (isset($asterisk_conf['astmoddir'])) { $amp_conf['ASTMODDIR'] = $asterisk_conf['astmoddir']; }
X if (isset($asterisk_conf['astvarlibdir'])) { $amp_conf['ASTVARLIBDIR'] = $asterisk_conf['astvarlibdir']; }
X@@ -762,6 +824,8 @@
X
X write_amportal_conf(AMP_CONF, $amp_conf);
X
X+
X+
X // **** Check for func_callerid.so - this is only in asterisk 1.2
X
X outn("Checking for Asterisk 1.2..");
X@@ -779,34 +843,35 @@
X }
X out("OK");
X
X-// **** Connect to database
X+if (!$new_install){
X
X-outn("Connecting to database..");
X-
X-$db_user = $amp_conf["AMPDBUSER"];
X-$db_pass = $amp_conf["AMPDBPASS"];
X-$db_host = $amp_conf["AMPDBHOST"];
X-$db_name = 'asterisk';
X-$db_engine = 'mysql';
X-
X-$datasource = $db_engine.'://'.$db_user.':'.$db_pass.'@'.$db_host.'/'.$db_name;
X-
X-if (!function_exists($db_engine.'_connect')) {
X- out("FAILED");
X- fatal($db_engine." PHP libraries not installed");
X-}
X-
X-$db = DB::connect($datasource); // attempt connection
X-
X-if(DB::isError($db)) {
X- out("FAILED");
X- debug($db->userinfo);
X- out("Try running ".$argv[0]." --username=user --password=pass (using your own user and pass)");
X- fatal("Cannot connect to database");
X+ // **** Connect to database
X+ outn("Connecting to database..");
X+
X+ $db_user = $amp_conf["AMPDBUSER"];
X+ $db_pass = $amp_conf["AMPDBPASS"];
X+ $db_host = $amp_conf["AMPDBHOST"];
X+ $db_name = 'asterisk';
X+ $db_engine = 'mysql';
X
X+ $datasource = $db_engine.'://'.$db_user.':'.$db_pass.'@'.$db_host.'/'.$db_name;
X+
X+ if (!function_exists($db_engine.'_connect')) {
X+ out("FAILED");
X+ fatal($db_engine." PHP libraries not installed");
X+ }
X+
X+ $db = DB::connect($datasource); // attempt connection
X+
X+ if(DB::isError($db)) {
X+ out("FAILED");
X+ debug($db->userinfo);
X+ out("Try running ".$argv[0]." --username=user --password=pass (using your own user and pass)");
X+ fatal("Cannot connect to database");
X+
X+ }
X+ out("OK");
X }
X-out("OK");
X-
X
X // **** Read DB for version info
X
X@@ -823,14 +888,13 @@
X
X
X // **** Copy files
X-
X if ($install_files)
X {
X outn("Installing new AMP files..");
X $check_md5s=true;
X $md5sums = read_md5_file(UPGRADE_DIR."/".$version.".md5");
X recursive_copy("amp_conf", "", $md5sums);
X- if (!is_file("/etc/asterisk/voicemail.conf")) copy("/etc/asterisk/voicemail.conf.template","/etc/asterisk/voicemail.conf");
X+ if (!is_file($systemconfig."/asterisk/voicemail.conf")) copy($systemconfig."/asterisk/voicemail.conf.template",$systemconfig."/asterisk/voicemail.conf");
X if (!is_dir("/var/spool/asterisk/voicemail/device")) amp_mkdir("/var/spool/asterisk/voicemail/device", "0755", true);
X out("OK");
X }
X@@ -841,7 +905,7 @@
X if (!$dryrun) {
X if (file_exists($amp_conf["AMPSBIN"]."/amportal"))
X exec("chmod u+x ".$amp_conf["AMPSBIN"]."/amportal");
X- exec(dirname(__FILE__)."/apply_conf.sh");
X+ exec(dirname(__FILE__)."/apply_conf.sh ".$systemconfig."/amportal.conf");
X }
X out("OK");
X
X@@ -864,32 +928,33 @@
X }
X
X
X-// **** Read upgrades/ directory
X+if (! $new_install ) {
X
X-outn("Checking for upgrades..");
X-
X-// read it from ugprades/ unless $version has already been defined
X-if (!isset($versions)) {
X- $versions = array();
X- $dir = opendir(UPGRADE_DIR);
X- while ($file = readdir($dir)) {
X- if (($file[0] != ".") && is_dir(UPGRADE_DIR."/".$file)) {
X- $versions[] = $file;
X+ // **** Read upgrades/ directory
X+ outn("Checking for upgrades..");
X+ // read it from ugprades/ unless $version has already been defined
X+ if (!isset($versions)) {
X+ $versions = array();
X+ $dir = opendir(UPGRADE_DIR);
X+ while ($file = readdir($dir)) {
X+ if (($file[0] != ".") && is_dir(UPGRADE_DIR."/".$file)) {
X+ $versions[] = $file;
X+ }
X }
X+ closedir($dir);
X+
X+ // callback to use php's version_compare() to sort
X+ usort($versions, "version_compare");
X }
X- closedir($dir);
X-
X- // callback to use php's version_compare() to sort
X- usort($versions, "version_compare");
X-}
X
X-if (false !== ($pos = array_search($version, $versions))) {
X- $upgrades = array_slice($versions, $pos+1);
X- out(count($upgrades)." found");
X-
X- run_upgrade($upgrades);
X-} else {
X- out("Current version not found");
X+ if (false !== ($pos = array_search($version, $versions))) {
X+ $upgrades = array_slice($versions, $pos+1);
X+ out(count($upgrades)." found");
X+
X+ run_upgrade($upgrades);
X+ } else {
X+ out("Current version not found");
X+ }
X }
X
X
X@@ -914,7 +979,7 @@
X
X
X // **** Set reload flag for AMP admin
X-install_needreload();
X+//install_needreload();
X
X if ($amp_conf["AMPWEBADDRESS"])
X {
END-of-freepbx/files/patch-install_amp
echo x - freepbx/files/php5.ini
sed 's/^X//' >freepbx/files/php5.ini << 'END-of-freepbx/files/php5.ini'
X[PHP]
X
X;;;;;;;;;;;
X; WARNING ;
X;;;;;;;;;;;
X; This is the default settings file for new PHP installations.
X; By default, PHP installs itself with a configuration suitable for
X; development purposes, and *NOT* for production purposes.
X; For several security-oriented considerations that should be taken
X; before going online with your site, please consult php.ini-recommended
X; and http://php.net/manual/en/security.php.
X
X
X;;;;;;;;;;;;;;;;;;;
X; About php.ini ;
X;;;;;;;;;;;;;;;;;;;
X; This file controls many aspects of PHP's behavior. In order for PHP to
X; read it, it must be named 'php.ini'. PHP looks for it in the current
X; working directory, in the path designated by the environment variable
X; PHPRC, and in the path that was defined in compile time (in that order).
X; Under Windows, the compile-time path is the Windows directory. The
X; path in which the php.ini file is looked for can be overridden using
X; the -c argument in command line mode.
X;
X; The syntax of the file is extremely simple. Whitespace and Lines
X; beginning with a semicolon are silently ignored (as you probably guessed).
X; Section headers (e.g. [Foo]) are also silently ignored, even though
X; they might mean something in the future.
X;
X; Directives are specified using the following syntax:
X; directive = value
X; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
X;
X; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
X; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
X; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
X;
X; Expressions in the INI file are limited to bitwise operators and parentheses:
X; | bitwise OR
X; & bitwise AND
X; ~ bitwise NOT
X; ! boolean NOT
X;
X; Boolean flags can be turned on using the values 1, On, True or Yes.
X; They can be turned off using the values 0, Off, False or No.
X;
X; An empty string can be denoted by simply not writing anything after the equal
X; sign, or by using the None keyword:
X;
X; foo = ; sets foo to an empty string
X; foo = none ; sets foo to an empty string
X; foo = "none" ; sets foo to the string 'none'
X;
X; If you use constants in your value, and these constants belong to a
X; dynamically loaded extension (either a PHP extension or a Zend extension),
X; you may only use these constants *after* the line that loads the extension.
X;
X;
X;;;;;;;;;;;;;;;;;;;
X; About this file ;
X;;;;;;;;;;;;;;;;;;;
X; All the values in the php.ini-dist file correspond to the builtin
X; defaults (that is, if no php.ini is used, or if you delete these lines,
X; the builtin defaults will be identical).
X
X
X;;;;;;;;;;;;;;;;;;;;
X; Language Options ;
X;;;;;;;;;;;;;;;;;;;;
X
X; Enable the PHP scripting language engine under Apache.
Xengine = On
X
X; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
Xzend.ze1_compatibility_mode = Off
X
X; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
X; NOTE: Using short tags should be avoided when developing applications or
X; libraries that are meant for redistribution, or deployment on PHP
X; servers which are not under your control, because short tags may not
X; be supported on the target server. For portable, redistributable code,
X; be sure not to use short tags.
Xshort_open_tag = On
X
X; Allow ASP-style <% %> tags.
Xasp_tags = Off
X
X; The number of significant digits displayed in floating point numbers.
Xprecision = 12
X
X; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
Xy2k_compliance = On
X
X; Output buffering allows you to send header lines (including cookies) even
X; after you send body content, at the price of slowing PHP's output layer a
X; bit. You can enable output buffering during runtime by calling the output
X; buffering functions. You can also enable output buffering for all files by
X; setting this directive to On. If you wish to limit the size of the buffer
X; to a certain size - you can use a maximum number of bytes instead of 'On', as
X; a value for this directive (e.g., output_buffering=4096).
Xoutput_buffering = Off
X
X; You can redirect all of the output of your scripts to a function. For
X; example, if you set output_handler to "mb_output_handler", character
X; encoding will be transparently converted to the specified encoding.
X; Setting any output handler automatically turns on output buffering.
X; Note: People who wrote portable scripts should not depend on this ini
X; directive. Instead, explicitly set the output handler using ob_start().
X; Using this ini directive may cause problems unless you know what script
X; is doing.
X; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
X; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
X; Note: output_handler must be empty if this is set 'On' !!!!
X; Instead you must use zlib.output_handler.
X;output_handler =
X
X; Transparent output compression using the zlib library
X; Valid values for this option are 'off', 'on', or a specific buffer size
X; to be used for compression (default is 4KB)
X; Note: Resulting chunk size may vary due to nature of compression. PHP
X; outputs chunks that are few hundreds bytes each as a result of
X; compression. If you prefer a larger chunk size for better
X; performance, enable output_buffering in addition.
X; Note: You need to use zlib.output_handler instead of the standard
X; output_handler, or otherwise the output will be corrupted.
Xzlib.output_compression = Off
X
X; You cannot specify additional output handlers if zlib.output_compression
X; is activated here. This setting does the same as output_handler but in
X; a different order.
X;zlib.output_handler =
X
X; Implicit flush tells PHP to tell the output layer to flush itself
X; automatically after every output block. This is equivalent to calling the
X; PHP function flush() after each and every call to print() or echo() and each
X; and every HTML block. Turning this option on has serious performance
X; implications and is generally recommended for debugging purposes only.
Ximplicit_flush = Off
X
X; The unserialize callback function will be called (with the undefined class'
X; name as parameter), if the unserializer finds an undefined class
X; which should be instantiated.
X; A warning appears if the specified function is not defined, or if the
X; function doesn't include/implement the missing class.
X; So only set this entry, if you really want to implement such a
X; callback-function.
Xunserialize_callback_func=
X
X; When floats & doubles are serialized store serialize_precision significant
X; digits after the floating point. The default value ensures that when floats
X; are decoded with unserialize, the data will remain the same.
Xserialize_precision = 100
X
X; Whether to enable the ability to force arguments to be passed by reference
X; at function call time. This method is deprecated and is likely to be
X; unsupported in future versions of PHP/Zend. The encouraged method of
X; specifying which arguments should be passed by reference is in the function
X; declaration. You're encouraged to try and turn this option Off and make
X; sure your scripts work properly with it in order to ensure they will work
X; with future versions of the language (you will receive a warning each time
X; you use this feature, and the argument will be passed by value instead of by
X; reference).
Xallow_call_time_pass_reference = On
X
X;
X; Safe Mode
X;
Xsafe_mode = Off
X
X; By default, Safe Mode does a UID compare check when
X; opening files. If you want to relax this to a GID compare,
X; then turn on safe_mode_gid.
Xsafe_mode_gid = Off
X
X; When safe_mode is on, UID/GID checks are bypassed when
X; including files from this directory and its subdirectories.
X; (directory must also be in include_path or full path must
X; be used when including)
Xsafe_mode_include_dir =
X
X; When safe_mode is on, only executables located in the safe_mode_exec_dir
X; will be allowed to be executed via the exec family of functions.
Xsafe_mode_exec_dir =
X
X; Setting certain environment variables may be a potential security breach.
X; This directive contains a comma-delimited list of prefixes. In Safe Mode,
X; the user may only alter environment variables whose names begin with the
X; prefixes supplied here. By default, users will only be able to set
X; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
X;
X; Note: If this directive is empty, PHP will let the user modify ANY
X; environment variable!
Xsafe_mode_allowed_env_vars = PHP_
X
X; This directive contains a comma-delimited list of environment variables that
X; the end user won't be able to change using putenv(). These variables will be
X; protected even if safe_mode_allowed_env_vars is set to allow to change them.
Xsafe_mode_protected_env_vars = LD_LIBRARY_PATH
X
X; open_basedir, if set, limits all file operations to the defined directory
X; and below. This directive makes most sense if used in a per-directory
X; or per-virtualhost web server configuration file. This directive is
X; *NOT* affected by whether Safe Mode is turned On or Off.
X;open_basedir =
X
X; This directive allows you to disable certain functions for security reasons.
X; It receives a comma-delimited list of function names. This directive is
X; *NOT* affected by whether Safe Mode is turned On or Off.
Xdisable_functions =
X
X; This directive allows you to disable certain classes for security reasons.
X; It receives a comma-delimited list of class names. This directive is
X; *NOT* affected by whether Safe Mode is turned On or Off.
Xdisable_classes =
X
X; Colors for Syntax Highlighting mode. Anything that's acceptable in
X; <span style="color: ???????"> would work.
X;highlight.string = #DD0000
X;highlight.comment = #FF9900
X;highlight.keyword = #007700
X;highlight.bg = #FFFFFF
X;highlight.default = #0000BB
X;highlight.html = #000000
X
X; If enabled, the request will be allowed to complete even if the user aborts
X; the request. Consider enabling it if executing long request, which may end up
X; being interrupted by the user or a browser timing out.
X; ignore_user_abort = On
X
X;
X; Misc
X;
X; Decides whether PHP may expose the fact that it is installed on the server
X; (e.g. by adding its signature to the Web server header). It is no security
X; threat in any way, but it makes it possible to determine whether you use PHP
X; on your server or not.
Xexpose_php = On
X
X
X;;;;;;;;;;;;;;;;;;;
X; Resource Limits ;
X;;;;;;;;;;;;;;;;;;;
X
Xmax_execution_time = 30 ; Maximum execution time of each script, in seconds
Xmax_input_time = 60 ; Maximum amount of time each script may spend parsing request data
Xmemory_limit = 20M ; Maximum amount of memory a script may consume (8MB)
X
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X; Error handling and logging ;
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X; error_reporting is a bit-field. Or each number up to get desired error
X; reporting level
X; E_ALL - All errors and warnings (doesn't include E_STRICT)
X; E_ERROR - fatal run-time errors
X; E_WARNING - run-time warnings (non-fatal errors)
X; E_PARSE - compile-time parse errors
X; E_NOTICE - run-time notices (these are warnings which often result
X; from a bug in your code, but it's possible that it was
X; intentional (e.g., using an uninitialized variable and
X; relying on the fact it's automatically initialized to an
X; empty string)
X; E_STRICT - run-time notices, enable to have PHP suggest changes
X; to your code which will ensure the best interoperability
X; and forward compatibility of your code
X; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
X; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
X; initial startup
X; E_COMPILE_ERROR - fatal compile-time errors
X; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
X; E_USER_ERROR - user-generated error message
X; E_USER_WARNING - user-generated warning message
X; E_USER_NOTICE - user-generated notice message
X;
X; Examples:
X;
X; - Show all errors, except for notices and coding standards warnings
X;
X;error_reporting = E_ALL & ~E_NOTICE
X;
X; - Show all errors, except for notices
X;
X;error_reporting = E_ALL & ~E_NOTICE | E_STRICT
X;
X; - Show only errors
X;
X;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
X;
X; - Show all errors except for notices and coding standards warnings
X;
Xerror_reporting = E_ALL & ~E_NOTICE
X
X; Print out errors (as a part of the output). For production web sites,
X; you're strongly encouraged to turn this feature off, and use error logging
X; instead (see below). Keeping display_errors enabled on a production web site
X; may reveal security information to end users, such as file paths on your Web
X; server, your database schema or other information.
Xdisplay_errors = On
X
X; Even when display_errors is on, errors that occur during PHP's startup
X; sequence are not displayed. It's strongly recommended to keep
X; display_startup_errors off, except for when debugging.
Xdisplay_startup_errors = Off
X
X; Log errors into a log file (server-specific log, stderr, or error_log (below))
X; As stated above, you're strongly advised to use error logging in place of
X; error displaying on production web sites.
Xlog_errors = Off
X
X; Set maximum length of log_errors. In error_log information about the source is
X; added. The default is 1024 and 0 allows to not apply any maximum length at all.
Xlog_errors_max_len = 1024
X
X; Do not log repeated messages. Repeated errors must occur in same file on same
X; line until ignore_repeated_source is set true.
Xignore_repeated_errors = Off
X
X; Ignore source of message when ignoring repeated messages. When this setting
X; is On you will not log errors with repeated messages from different files or
X; sourcelines.
Xignore_repeated_source = Off
X
X; If this parameter is set to Off, then memory leaks will not be shown (on
X; stdout or in the log). This has only effect in a debug compile, and if
X; error reporting includes E_WARNING in the allowed list
Xreport_memleaks = On
X
X; Store the last error/warning message in $php_errormsg (boolean).
Xtrack_errors = Off
X
X; Disable the inclusion of HTML tags in error messages.
X; Note: Never use this feature for production boxes.
X;html_errors = Off
X
X; If html_errors is set On PHP produces clickable error messages that direct
X; to a page describing the error or function causing the error in detail.
X; You can download a copy of the PHP manual from http://www.php.net/docs.php
X; and change docref_root to the base URL of your local copy including the
X; leading '/'. You must also specify the file extension being used including
X; the dot.
X; Note: Never use this feature for production boxes.
X;docref_root = "/phpmanual/"
X;docref_ext = .html
X
X; String to output before an error message.
X;error_prepend_string = "<font color=ff0000>"
X
X; String to output after an error message.
X;error_append_string = "</font>"
X
X; Log errors to specified file.
X;error_log = filename
X
X; Log errors to syslog (Event Log on NT, not valid in Windows 95).
X;error_log = syslog
X
X
X;;;;;;;;;;;;;;;;;
X; Data Handling ;
X;;;;;;;;;;;;;;;;;
X;
X; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
X
X; The separator used in PHP generated URLs to separate arguments.
X; Default is "&".
X;arg_separator.output = "&"
X
X; List of separator(s) used by PHP to parse input URLs into variables.
X; Default is "&".
X; NOTE: Every character in this directive is considered as separator!
X;arg_separator.input = ";&"
X
X; This directive describes the order in which PHP registers GET, POST, Cookie,
X; Environment and Built-in variables (G, P, C, E & S respectively, often
X; referred to as EGPCS or GPC). Registration is done from left to right, newer
X; values override older values.
Xvariables_order = "EGPCS"
X
X; Whether or not to register the EGPCS variables as global variables. You may
X; want to turn this off if you don't want to clutter your scripts' global scope
X; with user data. This makes most sense when coupled with track_vars - in which
X; case you can access all of the GPC variables through the $HTTP_*_VARS[],
X; variables.
X;
X; You should do your best to write your scripts so that they do not require
X; register_globals to be on; Using form variables as globals can easily lead
X; to possible security problems, if the code is not very well thought of.
Xregister_globals = Off
X
X; Whether or not to register the old-style input arrays, HTTP_GET_VARS
X; and friends. If you're not using them, it's recommended to turn them off,
X; for performance reasons.
Xregister_long_arrays = On
X
X; This directive tells PHP whether to declare the argv&argc variables (that
X; would contain the GET information). If you don't use these variables, you
X; should turn it off for increased performance.
Xregister_argc_argv = On
X
X; When enabled, the SERVER and ENV variables are created when they're first
X; used (Just In Time) instead of when the script starts. If these variables
X; are not used within a script, having this directive on will result in a
X; performance gain. The PHP directives register_globals, register_long_arrays,
X; and register_argc_argv must be disabled for this directive to have any affect.
Xauto_globals_jit = On
X
X; Maximum size of POST data that PHP will accept.
Xpost_max_size = 8M
X
X; Magic quotes
X;
X
X; Magic quotes for incoming GET/POST/Cookie data.
Xmagic_quotes_gpc = On
X
X; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
Xmagic_quotes_runtime = Off
X
X; Use Sybase-style magic quotes (escape ' with '' instead of \').
Xmagic_quotes_sybase = Off
X
X; Automatically add files before or after any PHP document.
Xauto_prepend_file =
Xauto_append_file =
X
X; As of 4.0b4, PHP always outputs a character encoding by default in
X; the Content-type: header. To disable sending of the charset, simply
X; set it to be empty.
X;
X; PHP's built-in default is text/html
Xdefault_mimetype = "text/html"
X;default_charset = "iso-8859-1"
X
X; Always populate the $HTTP_RAW_POST_DATA variable.
X;always_populate_raw_post_data = On
X
X
X;;;;;;;;;;;;;;;;;;;;;;;;;
X; Paths and Directories ;
X;;;;;;;;;;;;;;;;;;;;;;;;;
X
X; UNIX: "/path1:/path2"
X;include_path = ".:/php/includes"
X;
X; Windows: "\path1;\path2"
X;include_path = ".;c:\php\includes"
Xinclude_path = ".:/usr/local/share/pear:%%TARGET%%/admin"
X
X
X; The root of the PHP pages, used only if nonempty.
X; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
X; if you are running php as a CGI under any web server (other than IIS)
X; see documentation for security issues. The alternate is to use the
X; cgi.force_redirect configuration below
Xdoc_root =
X
X; The directory under which PHP opens the script using /~username used only
X; if nonempty.
Xuser_dir =
X
X; Directory in which the loadable extensions (modules) reside.
X; extension_dir = "./"
X
X; Whether or not to enable the dl() function. The dl() function does NOT work
X; properly in multithreaded servers, such as IIS or Zeus, and is automatically
X; disabled on them.
Xenable_dl = On
X
X; cgi.force_redirect is necessary to provide security running PHP as a CGI under
X; most web servers. Left undefined, PHP turns this on by default. You can
X; turn it off here AT YOUR OWN RISK
X; **You CAN safely turn this off for IIS, in fact, you MUST.**
X; cgi.force_redirect = 1
X
X; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
X; every request.
X; cgi.nph = 1
X
X; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
X; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
X; will look for to know it is OK to continue execution. Setting this variable MAY
X; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
X; cgi.redirect_status_env = ;
X
X; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
X; security tokens of the calling client. This allows IIS to define the
X; security context that the request runs under. mod_fastcgi under Apache
X; does not currently support this feature (03/17/2002)
X; Set to 1 if running under IIS. Default is zero.
X; fastcgi.impersonate = 1;
X
X; Disable logging through FastCGI connection
X; fastcgi.log = 0
X
X; cgi.rfc2616_headers configuration option tells PHP what type of headers to
X; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
X; is supported by Apache. When this option is set to 1 PHP will send
X; RFC2616 compliant header.
X; Default is zero.
X;cgi.rfc2616_headers = 0
X
X
X;;;;;;;;;;;;;;;;
X; File Uploads ;
X;;;;;;;;;;;;;;;;
X
X; Whether to allow HTTP file uploads.
Xfile_uploads = On
X
X; Temporary directory for HTTP uploaded files (will use system default if not
X; specified).
X;upload_tmp_dir =
X
X; Maximum allowed size for uploaded files.
Xupload_max_filesize = 2M
X
X
X;;;;;;;;;;;;;;;;;;
X; Fopen wrappers ;
X;;;;;;;;;;;;;;;;;;
X
X; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
Xallow_url_fopen = On
X
X; Define the anonymous ftp password (your email address)
X;from="john at doe.com"
X
X; Define the User-Agent string
X; user_agent="PHP"
X
X; Default timeout for socket based streams (seconds)
Xdefault_socket_timeout = 60
X
X; If your scripts have to deal with files from Macintosh systems,
X; or you are running on a Mac and need to deal with files from
X; unix or win32 systems, setting this flag will cause PHP to
X; automatically detect the EOL character in those files so that
X; fgets() and file() will work regardless of the source of the file.
X; auto_detect_line_endings = Off
X
X
X;;;;;;;;;;;;;;;;;;;;;;
X; Dynamic Extensions ;
X;;;;;;;;;;;;;;;;;;;;;;
X;
X; If you wish to have an extension loaded automatically, use the following
X; syntax:
X;
X; extension=modulename.extension
X;
X; For example, on Windows:
X;
X; extension=msql.dll
X;
X; ... or under UNIX:
X;
X; extension=msql.so
X;
X; Note that it should be the name of the module only; no directory information
X; needs to go here. Specify the location of the extension with the
X; extension_dir directive above.
X
X
X; Windows Extensions
X; Note that ODBC support is built in, so no dll is needed for it.
X; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
X; extension folders as well as the separate PECL DLL download (PHP 5).
X; Be sure to appropriately set the extension_dir directive.
X
X;extension=php_mbstring.dll
X;extension=php_bz2.dll
X;extension=php_curl.dll
X;extension=php_dba.dll
X;extension=php_dbase.dll
X;extension=php_exif.dll
X;extension=php_fdf.dll
X;extension=php_filepro.dll
X;extension=php_gd2.dll
X;extension=php_gettext.dll
X;extension=php_ifx.dll
X;extension=php_imap.dll
X;extension=php_interbase.dll
X;extension=php_ldap.dll
X;extension=php_mcrypt.dll
X;extension=php_mhash.dll
X;extension=php_mime_magic.dll
X;extension=php_ming.dll
X;extension=php_mssql.dll
X;extension=php_msql.dll
X;extension=php_mysql.dll
X;extension=php_oci8.dll
X;extension=php_openssl.dll
X;extension=php_oracle.dll
X;extension=php_pgsql.dll
X;extension=php_shmop.dll
X;extension=php_snmp.dll
X;extension=php_sockets.dll
X;extension=php_sqlite.dll
X;extension=php_sybase_ct.dll
X;extension=php_tidy.dll
X;extension=php_xmlrpc.dll
X;extension=php_xsl.dll
X
X
X;;;;;;;;;;;;;;;;;;;
X; Module Settings ;
X;;;;;;;;;;;;;;;;;;;
X
X[Date]
X; Defines the default timezone used by the date functions
X;date.timezone =
X
X[Syslog]
X; Whether or not to define the various syslog variables (e.g. $LOG_PID,
X; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In
X; runtime, you can define these variables by calling define_syslog_variables().
Xdefine_syslog_variables = Off
X
X[mail function]
X; For Win32 only.
XSMTP = localhost
Xsmtp_port = 25
X
X; For Win32 only.
X;sendmail_from = me at example.com
X
X; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
X;sendmail_path =
X
X; Force the addition of the specified parameters to be passed as extra parameters
X; to the sendmail binary. These parameters will always replace the value of
X; the 5th parameter to mail(), even in safe mode.
X;mail.force_extra_parameters =
X
X[SQL]
Xsql.safe_mode = Off
X
X[ODBC]
X;odbc.default_db = Not yet implemented
X;odbc.default_user = Not yet implemented
X;odbc.default_pw = Not yet implemented
X
X; Allow or prevent persistent links.
Xodbc.allow_persistent = On
X
X; Check that a connection is still valid before reuse.
Xodbc.check_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xodbc.max_persistent = -1
X
X; Maximum number of links (persistent + non-persistent). -1 means no limit.
Xodbc.max_links = -1
X
X; Handling of LONG fields. Returns number of bytes to variables. 0 means
X; passthru.
Xodbc.defaultlrl = 4096
X
X; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
X; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
X; of uodbc.defaultlrl and uodbc.defaultbinmode
Xodbc.defaultbinmode = 1
X
X[MySQL]
X; Allow or prevent persistent links.
Xmysql.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xmysql.max_persistent = -1
X
X; Maximum number of links (persistent + non-persistent). -1 means no limit.
Xmysql.max_links = -1
X
X; Default port number for mysql_connect(). If unset, mysql_connect() will use
X; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
X; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
X; at MYSQL_PORT.
Xmysql.default_port =
X
X; Default socket name for local MySQL connects. If empty, uses the built-in
X; MySQL defaults.
Xmysql.default_socket =
X
X; Default host for mysql_connect() (doesn't apply in safe mode).
Xmysql.default_host =
X
X; Default user for mysql_connect() (doesn't apply in safe mode).
Xmysql.default_user =
X
X; Default password for mysql_connect() (doesn't apply in safe mode).
X; Note that this is generally a *bad* idea to store passwords in this file.
X; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
X; and reveal this password! And of course, any users with read access to this
X; file will be able to reveal the password as well.
Xmysql.default_password =
X
X; Maximum time (in secondes) for connect timeout. -1 means no limit
Xmysql.connect_timeout = 60
X
X; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
X; SQL-Errors will be displayed.
Xmysql.trace_mode = Off
X
X[MySQLi]
X
X; Maximum number of links. -1 means no limit.
Xmysqli.max_links = -1
X
X; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
X; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
X; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
X; at MYSQL_PORT.
Xmysqli.default_port = 3306
X
X; Default socket name for local MySQL connects. If empty, uses the built-in
X; MySQL defaults.
Xmysqli.default_socket =
X
X; Default host for mysql_connect() (doesn't apply in safe mode).
Xmysqli.default_host =
X
X; Default user for mysql_connect() (doesn't apply in safe mode).
Xmysqli.default_user =
X
X; Default password for mysqli_connect() (doesn't apply in safe mode).
X; Note that this is generally a *bad* idea to store passwords in this file.
X; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
X; and reveal this password! And of course, any users with read access to this
X; file will be able to reveal the password as well.
Xmysqli.default_pw =
X
X; Allow or prevent reconnect
Xmysqli.reconnect = Off
X
X[mSQL]
X; Allow or prevent persistent links.
Xmsql.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xmsql.max_persistent = -1
X
X; Maximum number of links (persistent+non persistent). -1 means no limit.
Xmsql.max_links = -1
X
X[PostgresSQL]
X; Allow or prevent persistent links.
Xpgsql.allow_persistent = On
X
X; Detect broken persistent links always with pg_pconnect().
X; Auto reset feature requires a little overheads.
Xpgsql.auto_reset_persistent = Off
X
X; Maximum number of persistent links. -1 means no limit.
Xpgsql.max_persistent = -1
X
X; Maximum number of links (persistent+non persistent). -1 means no limit.
Xpgsql.max_links = -1
X
X; Ignore PostgreSQL backends Notice message or not.
X; Notice message logging require a little overheads.
Xpgsql.ignore_notice = 0
X
X; Log PostgreSQL backends Noitce message or not.
X; Unless pgsql.ignore_notice=0, module cannot log notice message.
Xpgsql.log_notice = 0
X
X[Sybase]
X; Allow or prevent persistent links.
Xsybase.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xsybase.max_persistent = -1
X
X; Maximum number of links (persistent + non-persistent). -1 means no limit.
Xsybase.max_links = -1
X
X;sybase.interface_file = "/usr/sybase/interfaces"
X
X; Minimum error severity to display.
Xsybase.min_error_severity = 10
X
X; Minimum message severity to display.
Xsybase.min_message_severity = 10
X
X; Compatability mode with old versions of PHP 3.0.
X; If on, this will cause PHP to automatically assign types to results according
X; to their Sybase type, instead of treating them all as strings. This
X; compatibility mode will probably not stay around forever, so try applying
X; whatever necessary changes to your code, and turn it off.
Xsybase.compatability_mode = Off
X
X[Sybase-CT]
X; Allow or prevent persistent links.
Xsybct.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xsybct.max_persistent = -1
X
X; Maximum number of links (persistent + non-persistent). -1 means no limit.
Xsybct.max_links = -1
X
X; Minimum server message severity to display.
Xsybct.min_server_severity = 10
X
X; Minimum client message severity to display.
Xsybct.min_client_severity = 10
X
X[bcmath]
X; Number of decimal digits for all bcmath functions.
Xbcmath.scale = 0
X
X[browscap]
X;browscap = extra/browscap.ini
X
X[Informix]
X; Default host for ifx_connect() (doesn't apply in safe mode).
Xifx.default_host =
X
X; Default user for ifx_connect() (doesn't apply in safe mode).
Xifx.default_user =
X
X; Default password for ifx_connect() (doesn't apply in safe mode).
Xifx.default_password =
X
X; Allow or prevent persistent links.
Xifx.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xifx.max_persistent = -1
X
X; Maximum number of links (persistent + non-persistent). -1 means no limit.
Xifx.max_links = -1
X
X; If on, select statements return the contents of a text blob instead of its id.
Xifx.textasvarchar = 0
X
X; If on, select statements return the contents of a byte blob instead of its id.
Xifx.byteasvarchar = 0
X
X; Trailing blanks are stripped from fixed-length char columns. May help the
X; life of Informix SE users.
Xifx.charasvarchar = 0
X
X; If on, the contents of text and byte blobs are dumped to a file instead of
X; keeping them in memory.
Xifx.blobinfile = 0
X
X; NULL's are returned as empty strings, unless this is set to 1. In that case,
X; NULL's are returned as string 'NULL'.
Xifx.nullformat = 0
X
X[Session]
X; Handler used to store/retrieve data.
Xsession.save_handler = files
X
X; Argument passed to save_handler. In the case of files, this is the path
X; where data files are stored. Note: Windows users have to change this
X; variable in order to use PHP's session functions.
X;
X; As of PHP 4.0.1, you can define the path as:
X;
X; session.save_path = "N;/path"
X;
X; where N is an integer. Instead of storing all the session files in
X; /path, what this will do is use subdirectories N-levels deep, and
X; store the session data in those directories. This is useful if you
X; or your OS have problems with lots of files in one directory, and is
X; a more efficient layout for servers that handle lots of sessions.
X;
X; NOTE 1: PHP will not create this directory structure automatically.
X; You can use the script in the ext/session dir for that purpose.
X; NOTE 2: See the section on garbage collection below if you choose to
X; use subdirectories for session storage
X;
X; The file storage module creates files using mode 600 by default.
X; You can change that by using
X;
X; session.save_path = "N;MODE;/path"
X;
X; where MODE is the octal representation of the mode. Note that this
X; does not overwrite the process's umask.
X;session.save_path = "/tmp"
X
X; Whether to use cookies.
Xsession.use_cookies = 1
X
X; This option enables administrators to make their users invulnerable to
X; attacks which involve passing session ids in URLs; defaults to 0.
X; session.use_only_cookies = 1
X
X; Name of the session (used as cookie name).
Xsession.name = PHPSESSID
X
X; Initialize session on request startup.
Xsession.auto_start = 0
X
X; Lifetime in seconds of cookie or, if 0, until browser is restarted.
Xsession.cookie_lifetime = 0
X
X; The path for which the cookie is valid.
Xsession.cookie_path = /
X
X; The domain for which the cookie is valid.
Xsession.cookie_domain =
X
X; Handler used to serialize data. php is the standard serializer of PHP.
Xsession.serialize_handler = php
X
X; Define the probability that the 'garbage collection' process is started
X; on every session initialization.
X; The probability is calculated by using gc_probability/gc_divisor,
X; e.g. 1/100 means there is a 1% chance that the GC process starts
X; on each request.
X
Xsession.gc_probability = 1
Xsession.gc_divisor = 100
X
X; After this number of seconds, stored data will be seen as 'garbage' and
X; cleaned up by the garbage collection process.
Xsession.gc_maxlifetime = 1440
X
X; NOTE: If you are using the subdirectory option for storing session files
X; (see session.save_path above), then garbage collection does *not*
X; happen automatically. You will need to do your own garbage
X; collection through a shell script, cron entry, or some other method.
X; For example, the following script would is the equivalent of
X; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
X; cd /path/to/sessions; find -cmin +24 | xargs rm
X
X; PHP 4.2 and less have an undocumented feature/bug that allows you to
X; to initialize a session variable in the global scope, albeit register_globals
X; is disabled. PHP 4.3 and later will warn you, if this feature is used.
X; You can disable the feature and the warning separately. At this time,
X; the warning is only displayed, if bug_compat_42 is enabled.
X
Xsession.bug_compat_42 = 1
Xsession.bug_compat_warn = 1
X
X; Check HTTP Referer to invalidate externally stored URLs containing ids.
X; HTTP_REFERER has to contain this substring for the session to be
X; considered as valid.
Xsession.referer_check =
X
X; How many bytes to read from the file.
Xsession.entropy_length = 0
X
X; Specified here to create the session id.
Xsession.entropy_file =
X
X;session.entropy_length = 16
X
X;session.entropy_file = /dev/urandom
X
X; Set to {nocache,private,public,} to determine HTTP caching aspects
X; or leave this empty to avoid sending anti-caching headers.
Xsession.cache_limiter = nocache
X
X; Document expires after n minutes.
Xsession.cache_expire = 180
X
X; trans sid support is disabled by default.
X; Use of trans sid may risk your users security.
X; Use this option with caution.
X; - User may send URL contains active session ID
X; to other person via. email/irc/etc.
X; - URL that contains active session ID may be stored
X; in publically accessible computer.
X; - User may access your site with the same session ID
X; always using URL stored in browser's history or bookmarks.
Xsession.use_trans_sid = 0
X
X; Select a hash function
X; 0: MD5 (128 bits)
X; 1: SHA-1 (160 bits)
Xsession.hash_function = 0
X
X; Define how many bits are stored in each character when converting
X; the binary hash data to something readable.
X;
X; 4 bits: 0-9, a-f
X; 5 bits: 0-9, a-v
X; 6 bits: 0-9, a-z, A-Z, "-", ","
Xsession.hash_bits_per_character = 4
X
X; The URL rewriter will look for URLs in a defined set of HTML tags.
X; form/fieldset are special; if you include them here, the rewriter will
X; add a hidden <input> field with the info which is otherwise appended
X; to URLs. If you want XHTML conformity, remove the form entry.
X; Note that all valid entries require a "=", even if no value follows.
Xurl_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
X
X[MSSQL]
X; Allow or prevent persistent links.
Xmssql.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xmssql.max_persistent = -1
X
X; Maximum number of links (persistent+non persistent). -1 means no limit.
Xmssql.max_links = -1
X
X; Minimum error severity to display.
Xmssql.min_error_severity = 10
X
X; Minimum message severity to display.
Xmssql.min_message_severity = 10
X
X; Compatability mode with old versions of PHP 3.0.
Xmssql.compatability_mode = Off
X
X; Connect timeout
X;mssql.connect_timeout = 5
X
X; Query timeout
X;mssql.timeout = 60
X
X; Valid range 0 - 2147483647. Default = 4096.
X;mssql.textlimit = 4096
X
X; Valid range 0 - 2147483647. Default = 4096.
X;mssql.textsize = 4096
X
X; Limits the number of records in each batch. 0 = all records in one batch.
X;mssql.batchsize = 0
X
X; Specify how datetime and datetim4 columns are returned
X; On => Returns data converted to SQL server settings
X; Off => Returns values as YYYY-MM-DD hh:mm:ss
X;mssql.datetimeconvert = On
X
X; Use NT authentication when connecting to the server
Xmssql.secure_connection = Off
X
X; Specify max number of processes. -1 = library default
X; msdlib defaults to 25
X; FreeTDS defaults to 4096
X;mssql.max_procs = -1
X
X; Specify client character set.
X; If empty or not set the client charset from freetds.comf is used
X; This is only used when compiled with FreeTDS
X;mssql.charset = "ISO-8859-1"
X
X[Assertion]
X; Assert(expr); active by default.
X;assert.active = On
X
X; Issue a PHP warning for each failed assertion.
X;assert.warning = On
X
X; Don't bail out by default.
X;assert.bail = Off
X
X; User-function to be called if an assertion fails.
X;assert.callback = 0
X
X; Eval the expression with current error_reporting(). Set to true if you want
X; error_reporting(0) around the eval().
X;assert.quiet_eval = 0
X
X[Verisign Payflow Pro]
X; Default Payflow Pro server.
Xpfpro.defaulthost = "test-payflow.verisign.com"
X
X; Default port to connect to.
Xpfpro.defaultport = 443
X
X; Default timeout in seconds.
Xpfpro.defaulttimeout = 30
X
X; Default proxy IP address (if required).
X;pfpro.proxyaddress =
X
X; Default proxy port.
X;pfpro.proxyport =
X
X; Default proxy logon.
X;pfpro.proxylogon =
X
X; Default proxy password.
X;pfpro.proxypassword =
X
X[COM]
X; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
X;com.typelib_file =
X; allow Distributed-COM calls
X;com.allow_dcom = true
X; autoregister constants of a components typlib on com_load()
X;com.autoregister_typelib = true
X; register constants casesensitive
X;com.autoregister_casesensitive = false
X; show warnings on duplicate constat registrations
X;com.autoregister_verbose = true
X
X[mbstring]
X; language for internal character representation.
X;mbstring.language = Japanese
X
X; internal/script encoding.
X; Some encoding cannot work as internal encoding.
X; (e.g. SJIS, BIG5, ISO-2022-*)
X;mbstring.internal_encoding = EUC-JP
X
X; http input encoding.
X;mbstring.http_input = auto
X
X; http output encoding. mb_output_handler must be
X; registered as output buffer to function
X;mbstring.http_output = SJIS
X
X; enable automatic encoding translation according to
X; mbstring.internal_encoding setting. Input chars are
X; converted to internal encoding by setting this to On.
X; Note: Do _not_ use automatic encoding translation for
X; portable libs/applications.
X;mbstring.encoding_translation = Off
X
X; automatic encoding detection order.
X; auto means
X;mbstring.detect_order = auto
X
X; substitute_character used when character cannot be converted
X; one from another
X;mbstring.substitute_character = none;
X
X; overload(replace) single byte functions by mbstring functions.
X; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
X; etc. Possible values are 0,1,2,4 or combination of them.
X; For example, 7 for overload everything.
X; 0: No overload
X; 1: Overload mail() function
X; 2: Overload str*() functions
X; 4: Overload ereg*() functions
X;mbstring.func_overload = 0
X
X[FrontBase]
X;fbsql.allow_persistent = On
X;fbsql.autocommit = On
X;fbsql.default_database =
X;fbsql.default_database_password =
X;fbsql.default_host =
X;fbsql.default_password =
X;fbsql.default_user = "_SYSTEM"
X;fbsql.generate_warnings = Off
X;fbsql.max_connections = 128
X;fbsql.max_links = 128
X;fbsql.max_persistent = -1
X;fbsql.max_results = 128
X;fbsql.batchSize = 1000
X
X[exif]
X; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
X; With mbstring support this will automatically be converted into the encoding
X; given by corresponding encode setting. When empty mbstring.internal_encoding
X; is used. For the decode settings you can distinguish between motorola and
X; intel byte order. A decode setting cannot be empty.
X;exif.encode_unicode = ISO-8859-15
X;exif.decode_unicode_motorola = UCS-2BE
X;exif.decode_unicode_intel = UCS-2LE
X;exif.encode_jis =
X;exif.decode_jis_motorola = JIS
X;exif.decode_jis_intel = JIS
X
X[Tidy]
X; The path to a default tidy configuration file to use when using tidy
X;tidy.default_config = /usr/local/lib/php/default.tcfg
X
X; Should tidy clean and repair output automatically?
X; WARNING: Do not use this option if you are generating non-html content
X; such as dynamic images
Xtidy.clean_output = Off
X
X[soap]
X; Enables or disables WSDL caching feature.
Xsoap.wsdl_cache_enabled=1
X; Sets the directory name where SOAP extension will put cache files.
Xsoap.wsdl_cache_dir="/tmp"
X; (time to live) Sets the number of second while cached file will be used
X; instead of original one.
Xsoap.wsdl_cache_ttl=86400
X
X; Local Variables:
X; tab-width: 4
X; End:
END-of-freepbx/files/php5.ini
echo x - freepbx/files/patch-safe_opserver
sed 's/^X//' >freepbx/files/patch-safe_opserver << 'END-of-freepbx/files/patch-safe_opserver'
X--- amp_conf/htdocs_panel/safe_opserver.orig Thu May 25 21:53:46 2006
X+++ amp_conf/htdocs_panel/safe_opserver Thu May 25 21:53:53 2006
X@@ -1,5 +1,5 @@
X-#!/bin/bash
X+#!/bin/sh
X while true; do
X ./op_server.pl
X sleep 4
X-done
X\ No newline at end of file
X+done
END-of-freepbx/files/patch-safe_opserver
echo x - freepbx/files/patch-bounce_op.sh
sed 's/^X//' >freepbx/files/patch-bounce_op.sh << 'END-of-freepbx/files/patch-bounce_op.sh'
X--- amp_conf/htdocs/admin/bounce_op.sh.orig Thu May 25 21:53:22 2006
X+++ amp_conf/htdocs/admin/bounce_op.sh Thu May 25 21:53:26 2006
X@@ -1,3 +1,3 @@
X-#!/bin/bash
X+#!/bin/sh
X killall op_server.pl
X
END-of-freepbx/files/patch-bounce_op.sh
echo x - freepbx/files/php4.ini
sed 's/^X//' >freepbx/files/php4.ini << 'END-of-freepbx/files/php4.ini'
X[PHP]
X
X;;;;;;;;;;;
X; WARNING ;
X;;;;;;;;;;;
X; This is the default settings file for new PHP installations.
X; By default, PHP installs itself with a configuration suitable for
X; development purposes, and *NOT* for production purposes.
X; For several security-oriented considerations that should be taken
X; before going online with your site, please consult php.ini-recommended
X; and http://php.net/manual/en/security.php.
X
X
X;;;;;;;;;;;;;;;;;;;
X; About this file ;
X;;;;;;;;;;;;;;;;;;;
X; This file controls many aspects of PHP's behavior. In order for PHP to
X; read it, it must be named 'php.ini'. PHP looks for it in the current
X; working directory, in the path designated by the environment variable
X; PHPRC, and in the path that was defined in compile time (in that order).
X; Under Windows, the compile-time path is the Windows directory. The
X; path in which the php.ini file is looked for can be overridden using
X; the -c argument in command line mode.
X;
X; The syntax of the file is extremely simple. Whitespace and Lines
X; beginning with a semicolon are silently ignored (as you probably guessed).
X; Section headers (e.g. [Foo]) are also silently ignored, even though
X; they might mean something in the future.
X;
X; Directives are specified using the following syntax:
X; directive = value
X; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
X;
X; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
X; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
X; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
X;
X; Expressions in the INI file are limited to bitwise operators and parentheses:
X; | bitwise OR
X; & bitwise AND
X; ~ bitwise NOT
X; ! boolean NOT
X;
X; Boolean flags can be turned on using the values 1, On, True or Yes.
X; They can be turned off using the values 0, Off, False or No.
X;
X; An empty string can be denoted by simply not writing anything after the equal
X; sign, or by using the None keyword:
X;
X; foo = ; sets foo to an empty string
X; foo = none ; sets foo to an empty string
X; foo = "none" ; sets foo to the string 'none'
X;
X; If you use constants in your value, and these constants belong to a
X; dynamically loaded extension (either a PHP extension or a Zend extension),
X; you may only use these constants *after* the line that loads the extension.
X;
X; All the values in the php.ini-dist file correspond to the builtin
X; defaults (that is, if no php.ini is used, or if you delete these lines,
X; the builtin defaults will be identical).
X
X
X;;;;;;;;;;;;;;;;;;;;
X; Language Options ;
X;;;;;;;;;;;;;;;;;;;;
X
X; Enable the PHP scripting language engine under Apache.
Xengine = On
X
X; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
X; NOTE: Using short tags should be avoided when developing applications or
X; libraries that are meant for redistribution, or deployment on PHP
X; servers which are not under your control, because short tags may not
X; be supported on the target server. For portable, redistributable code,
X; be sure not to use short tags.
Xshort_open_tag = On
X
X; Allow ASP-style <% %> tags.
Xasp_tags = Off
X
X; The number of significant digits displayed in floating point numbers.
Xprecision = 12
X
X; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
Xy2k_compliance = On
X
X; Output buffering allows you to send header lines (including cookies) even
X; after you send body content, at the price of slowing PHP's output layer a
X; bit. You can enable output buffering during runtime by calling the output
X; buffering functions. You can also enable output buffering for all files by
X; setting this directive to On. If you wish to limit the size of the buffer
X; to a certain size - you can use a maximum number of bytes instead of 'On', as
X; a value for this directive (e.g., output_buffering=4096).
Xoutput_buffering = Off
X
X; You can redirect all of the output of your scripts to a function. For
X; example, if you set output_handler to "mb_output_handler", character
X; encoding will be transparently converted to the specified encoding.
X; Setting any output handler automatically turns on output buffering.
X; Note: People who wrote portable scripts should not depend on this ini
X; directive. Instead, explicitly set the output handler using ob_start().
X; Using this ini directive may cause problems unless you know what script
X; is doing.
X; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
X; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
X;output_handler =
X
X; Transparent output compression using the zlib library
X; Valid values for this option are 'off', 'on', or a specific buffer size
X; to be used for compression (default is 4KB)
X; Note: Resulting chunk size may vary due to nature of compression. PHP
X; outputs chunks that are few hundreds bytes each as a result of
X; compression. If you prefer a larger chunk size for better
X; performance, enable output_buffering in addition.
X; Note: You need to use zlib.output_handler instead of the standard
X; output_handler, or otherwise the output will be corrupted.
Xzlib.output_compression = Off
X
X; You cannot specify additional output handlers if zlib.output_compression
X; is activated here. This setting does the same as output_handler but in
X; a different order.
X;zlib.output_handler =
X
X; Implicit flush tells PHP to tell the output layer to flush itself
X; automatically after every output block. This is equivalent to calling the
X; PHP function flush() after each and every call to print() or echo() and each
X; and every HTML block. Turning this option on has serious performance
X; implications and is generally recommended for debugging purposes only.
Ximplicit_flush = Off
X
X; The unserialize callback function will be called (with the undefined class'
X; name as parameter), if the unserializer finds an undefined class
X; which should be instantiated.
X; A warning appears if the specified function is not defined, or if the
X; function doesn't include/implement the missing class.
X; So only set this entry, if you really want to implement such a
X; callback-function.
Xunserialize_callback_func=
X
X; When floats & doubles are serialized store serialize_precision significant
X; digits after the floating point. The default value ensures that when floats
X; are decoded with unserialize, the data will remain the same.
Xserialize_precision = 100
X
X; Whether to enable the ability to force arguments to be passed by reference
X; at function call time. This method is deprecated and is likely to be
X; unsupported in future versions of PHP/Zend. The encouraged method of
X; specifying which arguments should be passed by reference is in the function
X; declaration. You're encouraged to try and turn this option Off and make
X; sure your scripts work properly with it in order to ensure they will work
X; with future versions of the language (you will receive a warning each time
X; you use this feature, and the argument will be passed by value instead of by
X; reference).
Xallow_call_time_pass_reference = On
X
X; Safe Mode
X;
Xsafe_mode = Off
X
X; By default, Safe Mode does a UID compare check when
X; opening files. If you want to relax this to a GID compare,
X; then turn on safe_mode_gid.
Xsafe_mode_gid = Off
X
X; When safe_mode is on, UID/GID checks are bypassed when
X; including files from this directory and its subdirectories.
X; (directory must also be in include_path or full path must
X; be used when including)
Xsafe_mode_include_dir =
X
X; When safe_mode is on, only executables located in the safe_mode_exec_dir
X; will be allowed to be executed via the exec family of functions.
Xsafe_mode_exec_dir =
X
X; Setting certain environment variables may be a potential security breach.
X; This directive contains a comma-delimited list of prefixes. In Safe Mode,
X; the user may only alter environment variables whose names begin with the
X; prefixes supplied here. By default, users will only be able to set
X; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
X;
X; Note: If this directive is empty, PHP will let the user modify ANY
X; environment variable!
Xsafe_mode_allowed_env_vars = PHP_
X
X; This directive contains a comma-delimited list of environment variables that
X; the end user won't be able to change using putenv(). These variables will be
X; protected even if safe_mode_allowed_env_vars is set to allow to change them.
Xsafe_mode_protected_env_vars = LD_LIBRARY_PATH
X
X; open_basedir, if set, limits all file operations to the defined directory
X; and below. This directive makes most sense if used in a per-directory
X; or per-virtualhost web server configuration file. This directive is
X; *NOT* affected by whether Safe Mode is turned On or Off.
X;open_basedir =
X
X; This directive allows you to disable certain functions for security reasons.
X; It receives a comma-delimited list of function names. This directive is
X; *NOT* affected by whether Safe Mode is turned On or Off.
Xdisable_functions =
X
X; This directive allows you to disable certain classes for security reasons.
X; It receives a comma-delimited list of class names. This directive is
X; *NOT* affected by whether Safe Mode is turned On or Off.
Xdisable_classes =
X
X; Colors for Syntax Highlighting mode. Anything that's acceptable in
X; <font color="??????"> would work.
X;highlight.string = #DD0000
X;highlight.comment = #FF9900
X;highlight.keyword = #007700
X;highlight.bg = #FFFFFF
X;highlight.default = #0000BB
X;highlight.html = #000000
X
X
X;
X; Misc
X;
X; Decides whether PHP may expose the fact that it is installed on the server
X; (e.g. by adding its signature to the Web server header). It is no security
X; threat in any way, but it makes it possible to determine whether you use PHP
X; on your server or not.
Xexpose_php = On
X
X
X;;;;;;;;;;;;;;;;;;;
X; Resource Limits ;
X;;;;;;;;;;;;;;;;;;;
X
Xmax_execution_time = 30 ; Maximum execution time of each script, in seconds
Xmax_input_time = 60 ; Maximum amount of time each script may spend parsing request data
Xmemory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
X
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X; Error handling and logging ;
X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
X
X; error_reporting is a bit-field. Or each number up to get desired error
X; reporting level
X; E_ALL - All errors and warnings
X; E_ERROR - fatal run-time errors
X; E_WARNING - run-time warnings (non-fatal errors)
X; E_PARSE - compile-time parse errors
X; E_NOTICE - run-time notices (these are warnings which often result
X; from a bug in your code, but it's possible that it was
X; intentional (e.g., using an uninitialized variable and
X; relying on the fact it's automatically initialized to an
X; empty string)
X; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
X; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
X; initial startup
X; E_COMPILE_ERROR - fatal compile-time errors
X; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
X; E_USER_ERROR - user-generated error message
X; E_USER_WARNING - user-generated warning message
X; E_USER_NOTICE - user-generated notice message
X;
X; Examples:
X;
X; - Show all errors, except for notices
X;
X;error_reporting = E_ALL & ~E_NOTICE
X;
X; - Show only errors
X;
X;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
X;
X; - Show all errors except for notices
X;
Xerror_reporting = E_ALL & ~E_NOTICE
X
X; Print out errors (as a part of the output). For production web sites,
X; you're strongly encouraged to turn this feature off, and use error logging
X; instead (see below). Keeping display_errors enabled on a production web site
X; may reveal security information to end users, such as file paths on your Web
X; server, your database schema or other information.
Xdisplay_errors = On
X
X; Even when display_errors is on, errors that occur during PHP's startup
X; sequence are not displayed. It's strongly recommended to keep
X; display_startup_errors off, except for when debugging.
Xdisplay_startup_errors = Off
X
X; Log errors into a log file (server-specific log, stderr, or error_log (below))
X; As stated above, you're strongly advised to use error logging in place of
X; error displaying on production web sites.
Xlog_errors = Off
X
X; Set maximum length of log_errors. In error_log information about the source is
X; added. The default is 1024 and 0 allows to not apply any maximum length at all.
Xlog_errors_max_len = 1024
X
X; Do not log repeated messages. Repeated errors must occur in same file on same
X; line until ignore_repeated_source is set true.
Xignore_repeated_errors = Off
X
X; Ignore source of message when ignoring repeated messages. When this setting
X; is On you will not log errors with repeated messages from different files or
X; sourcelines.
Xignore_repeated_source = Off
X
X; If this parameter is set to Off, then memory leaks will not be shown (on
X; stdout or in the log). This has only effect in a debug compile, and if
X; error reporting includes E_WARNING in the allowed list
Xreport_memleaks = On
X
X; Store the last error/warning message in $php_errormsg (boolean).
Xtrack_errors = Off
X
X; Disable the inclusion of HTML tags in error messages.
X;html_errors = Off
X
X; If html_errors is set On PHP produces clickable error messages that direct
X; to a page describing the error or function causing the error in detail.
X; You can download a copy of the PHP manual from http://www.php.net/docs.php
X; and change docref_root to the base URL of your local copy including the
X; leading '/'. You must also specify the file extension being used including
X; the dot.
X;docref_root = "/phpmanual/"
X;docref_ext = .html
X
X; String to output before an error message.
X;error_prepend_string = "<font color=ff0000>"
X
X; String to output after an error message.
X;error_append_string = "</font>"
X
X; Log errors to specified file.
X;error_log = filename
X
X; Log errors to syslog (Event Log on NT, not valid in Windows 95).
X;error_log = syslog
X
X
X;;;;;;;;;;;;;;;;;
X; Data Handling ;
X;;;;;;;;;;;;;;;;;
X;
X; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
X
X; The separator used in PHP generated URLs to separate arguments.
X; Default is "&".
X;arg_separator.output = "&"
X
X; List of separator(s) used by PHP to parse input URLs into variables.
X; Default is "&".
X; NOTE: Every character in this directive is considered as separator!
X;arg_separator.input = ";&"
X
X; This directive describes the order in which PHP registers GET, POST, Cookie,
X; Environment and Built-in variables (G, P, C, E & S respectively, often
X; referred to as EGPCS or GPC). Registration is done from left to right, newer
X; values override older values.
Xvariables_order = "EGPCS"
X
X; Whether or not to register the EGPCS variables as global variables. You may
X; want to turn this off if you don't want to clutter your scripts' global scope
X; with user data. This makes most sense when coupled with track_vars - in which
X; case you can access all of the GPC variables through the $HTTP_*_VARS[],
X; variables.
X;
X; You should do your best to write your scripts so that they do not require
X; register_globals to be on; Using form variables as globals can easily lead
X; to possible security problems, if the code is not very well thought of.
Xregister_globals = Off
X
X; This directive tells PHP whether to declare the argv&argc variables (that
X; would contain the GET information). If you don't use these variables, you
X; should turn it off for increased performance.
Xregister_argc_argv = On
X
X; Maximum size of POST data that PHP will accept.
Xpost_max_size = 8M
X
X; This directive is deprecated. Use variables_order instead.
Xgpc_order = "GPC"
X
X; Magic quotes
X;
X
X; Magic quotes for incoming GET/POST/Cookie data.
Xmagic_quotes_gpc = On
X
X; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
Xmagic_quotes_runtime = Off
X
X; Use Sybase-style magic quotes (escape ' with '' instead of \').
Xmagic_quotes_sybase = Off
X
X; Automatically add files before or after any PHP document.
Xauto_prepend_file =
Xauto_append_file =
X
X; As of 4.0b4, PHP always outputs a character encoding by default in
X; the Content-type: header. To disable sending of the charset, simply
X; set it to be empty.
X;
X; PHP's built-in default is text/html
Xdefault_mimetype = "text/html"
X;default_charset = "iso-8859-1"
X
X; Always populate the $HTTP_RAW_POST_DATA variable.
X;always_populate_raw_post_data = On
X
X
X;;;;;;;;;;;;;;;;;;;;;;;;;
X; Paths and Directories ;
X;;;;;;;;;;;;;;;;;;;;;;;;;
X
X; UNIX: "/path1:/path2"
X;include_path = ".:/php/includes"
X;
X; Windows: "\path1;\path2"
X;include_path = ".;c:\php\includes"
Xinclude_path = ".:/usr/local/share/pear:%%TARGET%%/admin"
X
X; The root of the PHP pages, used only if nonempty.
X; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
X; if you are running php as a CGI under any web server (other than IIS)
X; see documentation for security issues. The alternate is to use the
X; cgi.force_redirect configuration below
Xdoc_root =
X
X; The directory under which PHP opens the script using /~username used only
X; if nonempty.
Xuser_dir =
X
X; Directory in which the loadable extensions (modules) reside.
X; extension_dir = "./"
X
X; Whether or not to enable the dl() function. The dl() function does NOT work
X; properly in multithreaded servers, such as IIS or Zeus, and is automatically
X; disabled on them.
Xenable_dl = On
X
X; cgi.force_redirect is necessary to provide security running PHP as a CGI under
X; most web servers. Left undefined, PHP turns this on by default. You can
X; turn it off here AT YOUR OWN RISK
X; **You CAN safely turn this off for IIS, in fact, you MUST.**
X; cgi.force_redirect = 1
X
X; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
X; every request.
X; cgi.nph = 1
X
X; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
X; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
X; will look for to know it is OK to continue execution. Setting this variable MAY
X; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
X; cgi.redirect_status_env = ;
X
X; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
X; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
X; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
X; this to 1 will cause PHP CGI to fix it's paths to conform to the spec. A setting
X; of zero causes PHP to behave as before. Default is zero. You should fix your scripts
X; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
X; cgi.fix_pathinfo=0
X
X; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
X; security tokens of the calling client. This allows IIS to define the
X; security context that the request runs under. mod_fastcgi under Apache
X; does not currently support this feature (03/17/2002)
X; Set to 1 if running under IIS. Default is zero.
X; fastcgi.impersonate = 1;
X
X; Disable logging through FastCGI connection
X; fastcgi.log = 0
X
X; cgi.rfc2616_headers configuration option tells PHP what type of headers to
X; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
X; is supported by Apache. When this option is set to 1 PHP will send
X; RFC2616 compliant header.
X; Default is zero.
X;cgi.rfc2616_headers = 0
X
X
X;;;;;;;;;;;;;;;;
X; File Uploads ;
X;;;;;;;;;;;;;;;;
X
X; Whether to allow HTTP file uploads.
Xfile_uploads = On
X
X; Temporary directory for HTTP uploaded files (will use system default if not
X; specified).
X;upload_tmp_dir =
X
X; Maximum allowed size for uploaded files.
Xupload_max_filesize = 2M
X
X
X;;;;;;;;;;;;;;;;;;
X; Fopen wrappers ;
X;;;;;;;;;;;;;;;;;;
X
X; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
Xallow_url_fopen = On
X
X; Define the anonymous ftp password (your email address)
X;from="john at doe.com"
X
X; Define the User-Agent string
X; user_agent="PHP"
X
X; Default timeout for socket based streams (seconds)
Xdefault_socket_timeout = 60
X
X; If your scripts have to deal with files from Macintosh systems,
X; or you are running on a Mac and need to deal with files from
X; unix or win32 systems, setting this flag will cause PHP to
X; automatically detect the EOL character in those files so that
X; fgets() and file() will work regardless of the source of the file.
X; auto_detect_line_endings = Off
X
X
X;;;;;;;;;;;;;;;;;;;;;;
X; Dynamic Extensions ;
X;;;;;;;;;;;;;;;;;;;;;;
X;
X; If you wish to have an extension loaded automatically, use the following
X; syntax:
X;
X; extension=modulename.extension
X;
X; For example, on Windows:
X;
X; extension=msql.dll
X;
X; ... or under UNIX:
X;
X; extension=msql.so
X;
X; Note that it should be the name of the module only; no directory information
X; needs to go here. Specify the location of the extension with the
X; extension_dir directive above.
X
X
X;Windows Extensions
X;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
X;
X;extension=php_mbstring.dll
X;extension=php_bz2.dll
X;extension=php_cpdf.dll
X;extension=php_crack.dll
X;extension=php_curl.dll
X;extension=php_db.dll
X;extension=php_dba.dll
X;extension=php_dbase.dll
X;extension=php_dbx.dll
X;extension=php_domxml.dll
X;extension=php_exif.dll
X;extension=php_fdf.dll
X;extension=php_filepro.dll
X;extension=php_gd2.dll
X;extension=php_gettext.dll
X;extension=php_hyperwave.dll
X;extension=php_iconv.dll
X;extension=php_ifx.dll
X;extension=php_iisfunc.dll
X;extension=php_imap.dll
X;extension=php_interbase.dll
X;extension=php_java.dll
X;extension=php_ldap.dll
X;extension=php_mcrypt.dll
X;extension=php_mhash.dll
X;extension=php_mime_magic.dll
X;extension=php_ming.dll
X;extension=php_mssql.dll
X;extension=php_msql.dll
X;extension=php_oci8.dll
X;extension=php_openssl.dll
X;extension=php_oracle.dll
X;extension=php_pdf.dll
X;extension=php_pgsql.dll
X;extension=php_printer.dll
X;extension=php_shmop.dll
X;extension=php_snmp.dll
X;extension=php_sockets.dll
X;extension=php_sybase_ct.dll
X;extension=php_w32api.dll
X;extension=php_xmlrpc.dll
X;extension=php_xslt.dll
X;extension=php_yaz.dll
X;extension=php_zip.dll
X
X
X;;;;;;;;;;;;;;;;;;;
X; Module Settings ;
X;;;;;;;;;;;;;;;;;;;
X
X[Syslog]
X; Whether or not to define the various syslog variables (e.g. $LOG_PID,
X; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In
X; runtime, you can define these variables by calling define_syslog_variables().
Xdefine_syslog_variables = Off
X
X[mail function]
X; For Win32 only.
XSMTP = localhost
Xsmtp_port = 25
X
X; For Win32 only.
X;sendmail_from = me at example.com
X
X; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
X;sendmail_path =
X
X[Java]
X;java.class.path = .\php_java.jar
X;java.home = c:\jdk
X;java.library = c:\jdk\jre\bin\hotspot\jvm.dll
X;java.library.path = .\
X
X[SQL]
Xsql.safe_mode = Off
X
X[ODBC]
X;odbc.default_db = Not yet implemented
X;odbc.default_user = Not yet implemented
X;odbc.default_pw = Not yet implemented
X
X; Allow or prevent persistent links.
Xodbc.allow_persistent = On
X
X; Check that a connection is still valid before reuse.
Xodbc.check_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xodbc.max_persistent = -1
X
X; Maximum number of links (persistent + non-persistent). -1 means no limit.
Xodbc.max_links = -1
X
X; Handling of LONG fields. Returns number of bytes to variables. 0 means
X; passthru.
Xodbc.defaultlrl = 4096
X
X; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
X; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
X; of uodbc.defaultlrl and uodbc.defaultbinmode
Xodbc.defaultbinmode = 1
X
X[MySQL]
X; Allow or prevent persistent links.
Xmysql.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xmysql.max_persistent = -1
X
X; Maximum number of links (persistent + non-persistent). -1 means no limit.
Xmysql.max_links = -1
X
X; Default port number for mysql_connect(). If unset, mysql_connect() will use
X; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
X; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
X; at MYSQL_PORT.
Xmysql.default_port =
X
X; Default socket name for local MySQL connects. If empty, uses the built-in
X; MySQL defaults.
Xmysql.default_socket =
X
X; Default host for mysql_connect() (doesn't apply in safe mode).
Xmysql.default_host =
X
X; Default user for mysql_connect() (doesn't apply in safe mode).
Xmysql.default_user =
X
X; Default password for mysql_connect() (doesn't apply in safe mode).
X; Note that this is generally a *bad* idea to store passwords in this file.
X; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
X; and reveal this password! And of course, any users with read access to this
X; file will be able to reveal the password as well.
Xmysql.default_password =
X
X; Maximum time (in seconds) for connect timeout. -1 means no limit
Xmysql.connect_timeout = 60
X
X; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
X; SQL-Errors will be displayed.
Xmysql.trace_mode = Off
X
X[mSQL]
X; Allow or prevent persistent links.
Xmsql.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xmsql.max_persistent = -1
X
X; Maximum number of links (persistent+non persistent). -1 means no limit.
Xmsql.max_links = -1
X
X[PostgresSQL]
X; Allow or prevent persistent links.
Xpgsql.allow_persistent = On
X
X; Detect broken persistent links always with pg_pconnect(). Need a little overhead.
Xpgsql.auto_reset_persistent = Off
X
X; Maximum number of persistent links. -1 means no limit.
Xpgsql.max_persistent = -1
X
X; Maximum number of links (persistent+non persistent). -1 means no limit.
Xpgsql.max_links = -1
X
X; Ignore PostgreSQL backends Notice message or not.
Xpgsql.ignore_notice = 0
X
X; Log PostgreSQL backends Noitce message or not.
X; Unless pgsql.ignore_notice=0, module cannot log notice message.
Xpgsql.log_notice = 0
X
X[Sybase]
X; Allow or prevent persistent links.
Xsybase.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xsybase.max_persistent = -1
X
X; Maximum number of links (persistent + non-persistent). -1 means no limit.
Xsybase.max_links = -1
X
X;sybase.interface_file = "/usr/sybase/interfaces"
X
X; Minimum error severity to display.
Xsybase.min_error_severity = 10
X
X; Minimum message severity to display.
Xsybase.min_message_severity = 10
X
X; Compatability mode with old versions of PHP 3.0.
X; If on, this will cause PHP to automatically assign types to results according
X; to their Sybase type, instead of treating them all as strings. This
X; compatibility mode will probably not stay around forever, so try applying
X; whatever necessary changes to your code, and turn it off.
Xsybase.compatability_mode = Off
X
X[Sybase-CT]
X; Allow or prevent persistent links.
Xsybct.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xsybct.max_persistent = -1
X
X; Maximum number of links (persistent + non-persistent). -1 means no limit.
Xsybct.max_links = -1
X
X; Minimum server message severity to display.
Xsybct.min_server_severity = 10
X
X; Minimum client message severity to display.
Xsybct.min_client_severity = 10
X
X[dbx]
X; returned column names can be converted for compatibility reasons
X; possible values for dbx.colnames_case are
X; "unchanged" (default, if not set)
X; "lowercase"
X; "uppercase"
X; the recommended default is either upper- or lowercase, but
X; unchanged is currently set for backwards compatibility
Xdbx.colnames_case = "unchanged"
X
X[bcmath]
X; Number of decimal digits for all bcmath functions.
Xbcmath.scale = 0
X
X[browscap]
X;browscap = extra/browscap.ini
X
X[Informix]
X; Default host for ifx_connect() (doesn't apply in safe mode).
Xifx.default_host =
X
X; Default user for ifx_connect() (doesn't apply in safe mode).
Xifx.default_user =
X
X; Default password for ifx_connect() (doesn't apply in safe mode).
Xifx.default_password =
X
X; Allow or prevent persistent links.
Xifx.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xifx.max_persistent = -1
X
X; Maximum number of links (persistent + non-persistent). -1 means no limit.
Xifx.max_links = -1
X
X; If on, select statements return the contents of a text blob instead of its id.
Xifx.textasvarchar = 0
X
X; If on, select statements return the contents of a byte blob instead of its id.
Xifx.byteasvarchar = 0
X
X; Trailing blanks are stripped from fixed-length char columns. May help the
X; life of Informix SE users.
Xifx.charasvarchar = 0
X
X; If on, the contents of text and byte blobs are dumped to a file instead of
X; keeping them in memory.
Xifx.blobinfile = 0
X
X; NULL's are returned as empty strings, unless this is set to 1. In that case,
X; NULL's are returned as string 'NULL'.
Xifx.nullformat = 0
X
X[Session]
X; Handler used to store/retrieve data.
Xsession.save_handler = files
X
X; Argument passed to save_handler. In the case of files, this is the path
X; where data files are stored. Note: Windows users have to change this
X; variable in order to use PHP's session functions.
X; As of PHP 4.0.1, you can define the path as:
X; session.save_path = "N;/path"
X; where N is an integer. Instead of storing all the session files in
X; /path, what this will do is use subdirectories N-levels deep, and
X; store the session data in those directories. This is useful if you
X; or your OS have problems with lots of files in one directory, and is
X; a more efficient layout for servers that handle lots of sessions.
X; NOTE 1: PHP will not create this directory structure automatically.
X; You can use the script in the ext/session dir for that purpose.
X; NOTE 2: See the section on garbage collection below if you choose to
X; use subdirectories for session storage
X;session.save_path = /tmp
X
X; Whether to use cookies.
Xsession.use_cookies = 1
X
X; This option enables administrators to make their users invulnerable to
X; attacks which involve passing session ids in URLs; defaults to 0.
X; session.use_only_cookies = 1
X
X; Name of the session (used as cookie name).
Xsession.name = PHPSESSID
X
X; Initialize session on request startup.
Xsession.auto_start = 0
X
X; Lifetime in seconds of cookie or, if 0, until browser is restarted.
Xsession.cookie_lifetime = 0
X
X; The path for which the cookie is valid.
Xsession.cookie_path = /
X
X; The domain for which the cookie is valid.
Xsession.cookie_domain =
X
X; Handler used to serialize data. php is the standard serializer of PHP.
Xsession.serialize_handler = php
X
X; Define the probability that the 'garbage collection' process is started
X; on every session initialization.
X; The probability is calculated by using gc_probability/gc_divisor,
X; e.g. 1/100 means there is a 1% chance that the GC process starts
X; on each request.
X
Xsession.gc_probability = 1
Xsession.gc_divisor = 100
X
X; After this number of seconds, stored data will be seen as 'garbage' and
X; cleaned up by the garbage collection process.
Xsession.gc_maxlifetime = 1440
X
X; NOTE: If you are using the subdirectory option for storing session files
X; (see session.save_path above), then garbage collection does *not*
X; happen automatically. You will need to do your own garbage
X; collection through a shell script, cron entry, or some other method.
X; For example, the following script would is the equivalent of
X; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
X; cd /path/to/sessions; find -cmin +24 | xargs rm
X
X; PHP 4.2 and less have an undocumented feature/bug that allows you to
X; to initialize a session variable in the global scope, albeit register_globals
X; is disabled. PHP 4.3 and later will warn you, if this feature is used.
X; You can disable the feature and the warning separately. At this time,
X; the warning is only displayed, if bug_compat_42 is enabled.
X
Xsession.bug_compat_42 = 1
Xsession.bug_compat_warn = 1
X
X; Check HTTP Referer to invalidate externally stored URLs containing ids.
X; HTTP_REFERER has to contain this substring for the session to be
X; considered as valid.
Xsession.referer_check =
X
X; How many bytes to read from the file.
Xsession.entropy_length = 0
X
X; Specified here to create the session id.
Xsession.entropy_file =
X
X;session.entropy_length = 16
X
X;session.entropy_file = /dev/urandom
X
X; Set to {nocache,private,public,} to determine HTTP caching aspects
X; or leave this empty to avoid sending anti-caching headers.
Xsession.cache_limiter = nocache
X
X; Document expires after n minutes.
Xsession.cache_expire = 180
X
X; trans sid support is disabled by default.
X; Use of trans sid may risk your users security.
X; Use this option with caution.
X; - User may send URL contains active session ID
X; to other person via. email/irc/etc.
X; - URL that contains active session ID may be stored
X; in publically accessible computer.
X; - User may access your site with the same session ID
X; always using URL stored in browser's history or bookmarks.
Xsession.use_trans_sid = 0
X
X; The URL rewriter will look for URLs in a defined set of HTML tags.
X; form/fieldset are special; if you include them here, the rewriter will
X; add a hidden <input> field with the info which is otherwise appended
X; to URLs. If you want XHTML conformity, remove the form entry.
X; Note that all valid entries require a "=", even if no value follows.
Xurl_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
X
X[MSSQL]
X; Allow or prevent persistent links.
Xmssql.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xmssql.max_persistent = -1
X
X; Maximum number of links (persistent+non persistent). -1 means no limit.
Xmssql.max_links = -1
X
X; Minimum error severity to display.
Xmssql.min_error_severity = 10
X
X; Minimum message severity to display.
Xmssql.min_message_severity = 10
X
X; Compatability mode with old versions of PHP 3.0.
Xmssql.compatability_mode = Off
X
X; Connect timeout
X;mssql.connect_timeout = 5
X
X; Query timeout
X;mssql.timeout = 60
X
X; Valid range 0 - 2147483647. Default = 4096.
X;mssql.textlimit = 4096
X
X; Valid range 0 - 2147483647. Default = 4096.
X;mssql.textsize = 4096
X
X; Limits the number of records in each batch. 0 = all records in one batch.
X;mssql.batchsize = 0
X
X; Specify how datetime and datetim4 columns are returned
X; On => Returns data converted to SQL server settings
X; Off => Returns values as YYYY-MM-DD hh:mm:ss
X;mssql.datetimeconvert = On
X
X; Use NT authentication when connecting to the server
Xmssql.secure_connection = Off
X
X; Specify max number of processes. -1 = library default
X; msdlib defaults to 25
X; FreeTDS defaults to 4096
X;mssql.max_procs = -1
X
X[Assertion]
X; Assert(expr); active by default.
X;assert.active = On
X
X; Issue a PHP warning for each failed assertion.
X;assert.warning = On
X
X; Don't bail out by default.
X;assert.bail = Off
X
X; User-function to be called if an assertion fails.
X;assert.callback = 0
X
X; Eval the expression with current error_reporting(). Set to true if you want
X; error_reporting(0) around the eval().
X;assert.quiet_eval = 0
X
X[Ingres II]
X; Allow or prevent persistent links.
Xingres.allow_persistent = On
X
X; Maximum number of persistent links. -1 means no limit.
Xingres.max_persistent = -1
X
X; Maximum number of links, including persistents. -1 means no limit.
Xingres.max_links = -1
X
X; Default database (format: [node_id::]dbname[/srv_class]).
Xingres.default_database =
X
X; Default user.
Xingres.default_user =
X
X; Default password.
Xingres.default_password =
X
X[Verisign Payflow Pro]
X; Default Payflow Pro server.
Xpfpro.defaulthost = "test-payflow.verisign.com"
X
X; Default port to connect to.
Xpfpro.defaultport = 443
X
X; Default timeout in seconds.
Xpfpro.defaulttimeout = 30
X
X; Default proxy IP address (if required).
X;pfpro.proxyaddress =
X
X; Default proxy port.
X;pfpro.proxyport =
X
X; Default proxy logon.
X;pfpro.proxylogon =
X
X; Default proxy password.
X;pfpro.proxypassword =
X
X[com]
X; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
X;com.typelib_file =
X; allow Distributed-COM calls
X;com.allow_dcom = true
X; autoregister constants of a components typlib on com_load()
X;com.autoregister_typelib = true
X; register constants casesensitive
X;com.autoregister_casesensitive = false
X; show warnings on duplicate constat registrations
X;com.autoregister_verbose = true
X
X[Printer]
X;printer.default_printer = ""
X
X[mbstring]
X; language for internal character representation.
X;mbstring.language = Japanese
X
X; internal/script encoding.
X; Some encoding cannot work as internal encoding.
X; (e.g. SJIS, BIG5, ISO-2022-*)
X;mbstring.internal_encoding = EUC-JP
X
X; http input encoding.
X;mbstring.http_input = auto
X
X; http output encoding. mb_output_handler must be
X; registered as output buffer to function
X;mbstring.http_output = SJIS
X
X; enable automatic encoding translation according to
X; mbstring.internal_encoding setting. Input chars are
X; converted to internal encoding by setting this to On.
X; Note: Do _not_ use automatic encoding translation for
X; portable libs/applications.
X;mbstring.encoding_translation = Off
X
X; automatic encoding detection order.
X; auto means
X;mbstring.detect_order = auto
X
X; substitute_character used when character cannot be converted
X; one from another
X;mbstring.substitute_character = none;
X
X; overload(replace) single byte functions by mbstring functions.
X; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
X; etc. Possible values are 0,1,2,4 or combination of them.
X; For example, 7 for overload everything.
X; 0: No overload
X; 1: Overload mail() function
X; 2: Overload str*() functions
X; 4: Overload ereg*() functions
X;mbstring.func_overload = 0
X
X[FrontBase]
X;fbsql.allow_persistent = On
X;fbsql.autocommit = On
X;fbsql.default_database =
X;fbsql.default_database_password =
X;fbsql.default_host =
X;fbsql.default_password =
X;fbsql.default_user = "_SYSTEM"
X;fbsql.generate_warnings = Off
X;fbsql.max_connections = 128
X;fbsql.max_links = 128
X;fbsql.max_persistent = -1
X;fbsql.max_results = 128
X;fbsql.batchSize = 1000
X
X[Crack]
X; Modify the setting below to match the directory location of the cracklib
X; dictionary files. Include the base filename, but not the file extension.
X; crack.default_dictionary = "c:\php\lib\cracklib_dict"
X
X[exif]
X; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
X; With mbstring support this will automatically be converted into the encoding
X; given by corresponding encode setting. When empty mbstring.internal_encoding
X; is used. For the decode settings you can distinguish between motorola and
X; intel byte order. A decode setting cannot be empty.
X;exif.encode_unicode = ISO-8859-15
X;exif.decode_unicode_motorola = UCS-2BE
X;exif.decode_unicode_intel = UCS-2LE
X;exif.encode_jis =
X;exif.decode_jis_motorola = JIS
X;exif.decode_jis_intel = JIS
X
X; Local Variables:
X; tab-width: 4
X; End:
END-of-freepbx/files/php4.ini
exit
--=-tjj6TD9+sPYaU7YjeArS--
More information about the freebsd-ports-bugs
mailing list