From 7b204d180174d6d488ac1e22521032d6a7eb650a Mon Sep 17 00:00:00 2001 From: Marcelo Gornstein Date: Sun, 3 Jan 2016 13:49:25 -0300 Subject: [PATCH 1/8] rewriting build system --- .codeclimate.yml | 19 ++ .travis.yml | 23 ++ README.Autoloader | 8 - README.md | 138 ++++----- UPGRADING-FROM-1.8 | 16 - build.properties | 86 ------ build.xml | 288 ++++-------------- composer.json | 18 +- composer.phar | Bin 0 -> 1238154 bytes resources/checkstyle.xsl | 210 ------------- resources/cpd.xslt | 98 ------ resources/generatePackageXml.php | 79 ----- resources/generatePhar.php | 20 -- resources/log4php.properties | 6 - resources/pdepend.xsl | 276 ----------------- resources/php.ini.example | 21 -- resources/phpunit_to_surefire.xslt | 10 - resources/pmd.xslt | 99 ------ .../PAGI/Application/PAGIApplication.php | 21 +- .../PAGI/Application/PAGILauncher.php | 8 +- src/{mg => }/PAGI/CDR/ICDR.php | 0 src/{mg => }/PAGI/CDR/Impl/CDRFacade.php | 0 src/{mg => }/PAGI/CallSpool/CallFile.php | 0 .../Exception/CallSpoolException.php | 0 src/{mg => }/PAGI/CallSpool/ICallSpool.php | 0 .../PAGI/CallSpool/Impl/CallSpoolImpl.php | 7 + src/{mg => }/PAGI/CallerId/ICallerId.php | 0 .../PAGI/CallerId/Impl/CallerIdFacade.php | 0 .../ChannelVariables/IChannelVariables.php | 0 .../Impl/ChannelVariablesFacade.php | 0 src/{mg => }/PAGI/Client/AbstractClient.php | 20 +- src/{mg => }/PAGI/Client/ChannelStatus.php | 0 src/{mg => }/PAGI/Client/IClient.php | 12 +- src/{mg => }/PAGI/Client/Impl/ClientImpl.php | 22 +- .../PAGI/Client/Impl/MockedClientImpl.php | 10 +- src/{mg => }/PAGI/Client/Result/AmdResult.php | 0 .../PAGI/Client/Result/DataReadResult.php | 0 .../PAGI/Client/Result/DialResult.php | 0 .../PAGI/Client/Result/DigitReadResult.php | 0 .../PAGI/Client/Result/ExecResult.php | 0 src/{mg => }/PAGI/Client/Result/FaxResult.php | 0 .../PAGI/Client/Result/IReadResult.php | 0 src/{mg => }/PAGI/Client/Result/IResult.php | 0 .../PAGI/Client/Result/PlayResult.php | 0 .../Client/Result/ReadResultDecorator.php | 0 .../PAGI/Client/Result/RecordResult.php | 0 src/{mg => }/PAGI/Client/Result/Result.php | 2 +- .../PAGI/Client/Result/ResultDecorator.php | 0 .../DialDescriptor/DAHDIDialDescriptor.php | 0 .../PAGI/DialDescriptor/DialDescriptor.php | 0 .../DialDescriptor/LocalDialDescriptor.php | 0 .../PAGI/DialDescriptor/SIPDialDescriptor.php | 0 .../PAGI/Exception/ChannelDownException.php | 0 .../DatabaseInvalidEntryException.php | 0 .../Exception/ExecuteCommandException.php | 0 .../Exception/InvalidCommandException.php | 0 .../PAGI/Exception/MockedException.php | 0 src/{mg => }/PAGI/Exception/PAGIException.php | 0 .../PAGI/Exception/RecordException.php | 0 .../PAGI/Exception/SoundFileException.php | 0 .../PAGI/Logger/Asterisk/IAsteriskLogger.php | 0 .../Asterisk/Impl/AsteriskLoggerImpl.php | 0 .../Impl/MockedAsteriskLoggerImpl.php | 3 +- .../PAGI/Node/Exception/NodeException.php | 0 src/{mg => }/PAGI/Node/MockedNode.php | 4 +- src/{mg => }/PAGI/Node/Node.php | 102 +++---- src/{mg => }/PAGI/Node/NodeActionCommand.php | 31 +- src/{mg => }/PAGI/Node/NodeController.php | 12 +- src/mg/PAGI/Autoloader/Autoloader.php | 72 ----- test/application/Test_Application.php | 8 +- test/asterisklogger/Test_AsteriskLogger.php | 4 +- test/autoloader/Test_Autoloader.php | 4 +- test/bootstrap.php | 26 -- test/callerid/Test_CallerID.php | 4 +- test/cdr/Test_CDR.php | 4 +- test/channelvars/Test_ChannelVariables.php | 4 +- test/client/Test_Client.php | 25 +- test/dialdescriptor/Test_DialDescriptor.php | 4 +- test/mock/Test_Mock.php | 19 +- test/mock/Test_Node.php | 4 +- test/node/Test_Node.php | 1 - test/node/Test_NodeController.php | 37 ++- test/phpunit.xml | 55 ---- test/resources/bootstrap.php | 23 ++ test/resources/php.ini | 2 + test/resources/phpunit.xml | 72 +++++ test/spool/Test_CallSpool.php | 4 +- 87 files changed, 463 insertions(+), 1578 deletions(-) create mode 100644 .codeclimate.yml create mode 100644 .travis.yml delete mode 100644 README.Autoloader delete mode 100644 UPGRADING-FROM-1.8 delete mode 100644 build.properties create mode 100755 composer.phar delete mode 100644 resources/checkstyle.xsl delete mode 100644 resources/cpd.xslt delete mode 100644 resources/generatePackageXml.php delete mode 100644 resources/generatePhar.php delete mode 100644 resources/log4php.properties delete mode 100644 resources/pdepend.xsl delete mode 100644 resources/php.ini.example delete mode 100644 resources/phpunit_to_surefire.xslt delete mode 100644 resources/pmd.xslt rename src/{mg => }/PAGI/Application/PAGIApplication.php (90%) rename src/{mg => }/PAGI/Application/PAGILauncher.php (79%) rename src/{mg => }/PAGI/CDR/ICDR.php (100%) rename src/{mg => }/PAGI/CDR/Impl/CDRFacade.php (100%) rename src/{mg => }/PAGI/CallSpool/CallFile.php (100%) rename src/{mg => }/PAGI/CallSpool/Exception/CallSpoolException.php (100%) rename src/{mg => }/PAGI/CallSpool/ICallSpool.php (100%) rename src/{mg => }/PAGI/CallSpool/Impl/CallSpoolImpl.php (93%) rename src/{mg => }/PAGI/CallerId/ICallerId.php (100%) rename src/{mg => }/PAGI/CallerId/Impl/CallerIdFacade.php (100%) rename src/{mg => }/PAGI/ChannelVariables/IChannelVariables.php (100%) rename src/{mg => }/PAGI/ChannelVariables/Impl/ChannelVariablesFacade.php (100%) rename src/{mg => }/PAGI/Client/AbstractClient.php (98%) rename src/{mg => }/PAGI/Client/ChannelStatus.php (100%) rename src/{mg => }/PAGI/Client/IClient.php (98%) rename src/{mg => }/PAGI/Client/Impl/ClientImpl.php (88%) rename src/{mg => }/PAGI/Client/Impl/MockedClientImpl.php (98%) rename src/{mg => }/PAGI/Client/Result/AmdResult.php (100%) rename src/{mg => }/PAGI/Client/Result/DataReadResult.php (100%) rename src/{mg => }/PAGI/Client/Result/DialResult.php (100%) rename src/{mg => }/PAGI/Client/Result/DigitReadResult.php (100%) rename src/{mg => }/PAGI/Client/Result/ExecResult.php (100%) rename src/{mg => }/PAGI/Client/Result/FaxResult.php (100%) rename src/{mg => }/PAGI/Client/Result/IReadResult.php (100%) rename src/{mg => }/PAGI/Client/Result/IResult.php (100%) rename src/{mg => }/PAGI/Client/Result/PlayResult.php (100%) rename src/{mg => }/PAGI/Client/Result/ReadResultDecorator.php (100%) rename src/{mg => }/PAGI/Client/Result/RecordResult.php (100%) rename src/{mg => }/PAGI/Client/Result/Result.php (98%) rename src/{mg => }/PAGI/Client/Result/ResultDecorator.php (100%) rename src/{mg => }/PAGI/DialDescriptor/DAHDIDialDescriptor.php (100%) rename src/{mg => }/PAGI/DialDescriptor/DialDescriptor.php (100%) rename src/{mg => }/PAGI/DialDescriptor/LocalDialDescriptor.php (100%) rename src/{mg => }/PAGI/DialDescriptor/SIPDialDescriptor.php (100%) rename src/{mg => }/PAGI/Exception/ChannelDownException.php (100%) rename src/{mg => }/PAGI/Exception/DatabaseInvalidEntryException.php (100%) rename src/{mg => }/PAGI/Exception/ExecuteCommandException.php (100%) rename src/{mg => }/PAGI/Exception/InvalidCommandException.php (100%) rename src/{mg => }/PAGI/Exception/MockedException.php (100%) rename src/{mg => }/PAGI/Exception/PAGIException.php (100%) rename src/{mg => }/PAGI/Exception/RecordException.php (100%) rename src/{mg => }/PAGI/Exception/SoundFileException.php (100%) rename src/{mg => }/PAGI/Logger/Asterisk/IAsteriskLogger.php (100%) rename src/{mg => }/PAGI/Logger/Asterisk/Impl/AsteriskLoggerImpl.php (100%) rename src/{mg => }/PAGI/Logger/Asterisk/Impl/MockedAsteriskLoggerImpl.php (97%) rename src/{mg => }/PAGI/Node/Exception/NodeException.php (100%) rename src/{mg => }/PAGI/Node/MockedNode.php (98%) rename src/{mg => }/PAGI/Node/Node.php (92%) rename src/{mg => }/PAGI/Node/NodeActionCommand.php (97%) rename src/{mg => }/PAGI/Node/NodeController.php (95%) delete mode 100644 src/mg/PAGI/Autoloader/Autoloader.php delete mode 100644 test/bootstrap.php delete mode 100644 test/phpunit.xml create mode 100644 test/resources/bootstrap.php create mode 100644 test/resources/php.ini create mode 100644 test/resources/phpunit.xml diff --git a/.codeclimate.yml b/.codeclimate.yml new file mode 100644 index 0000000..3c42fa2 --- /dev/null +++ b/.codeclimate.yml @@ -0,0 +1,19 @@ +engines: + duplication: + enabled: true + config: + languages: + - php + fixme: + enabled: false + phpcodesniffer: + enabled: true + phpmd: + enabled: true + +ratings: + paths: + - "**.php" + +exclude_paths: +- test/**/* \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..7d62d70 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,23 @@ +language: php +php: + - '5.4' + - '5.5' + - '5.6' + - '7.0' + +before_script: + - phpenv config-add test/resources/php.ini + +install: + - composer install + +script: + - vendor/bin/phing build + +after_script: + - travis_retry php vendor/bin/coveralls -v + - vendor/bin/test-reporter + +addons: + code_climate: + repo_token: 568675e210a5bfc69593877127f7297bab3150dc4d26692bd19bc49c75bd2c14 \ No newline at end of file diff --git a/README.Autoloader b/README.Autoloader deleted file mode 100644 index 50811c0..0000000 --- a/README.Autoloader +++ /dev/null @@ -1,8 +0,0 @@ -NOTE ----- -PAGI's autoloader has been renamed to the namespace PAGI\Autoloader and the -class name is now \PAGI\Autoloader\Autoloader so we now honor namespace to -filesystem convention for classes. Thus, change your code to: - -require_once 'PAGI/Autoloader/Autoloader.php'; // Include pagi autoloader. -\PAGI\Autoloader\Autoloader::register(); // Call autoloader register for pagi autoloader. diff --git a/README.md b/README.md index 46ba0ba..7647c19 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,12 @@ +[![License](https://poser.pugx.org/marcelog/PAGI/license)](https://packagist.org/packages/marcelog/PAGI) +[![Latest Stable Version](https://poser.pugx.org/marcelog/PAGI/v/stable)](https://packagist.org/packages/marcelog/PAGI) +[![Documentation Status](https://readthedocs.org/projects/pami/badge/?version=latest)](http://pami.readthedocs.org/en/latest/?badge=latest) + +[![Build Status](https://travis-ci.org/marcelog/PAGI.svg)](https://travis-ci.org/marcelog/PAGI) +[![Coverage Status](https://coveralls.io/repos/marcelog/PAGI/badge.svg?branch=master&service=github)](https://coveralls.io/github/marcelog/PAGI?branch=master) +[![Code Climate](https://codeclimate.com/github/marcelog/PAGI/badges/gpa.svg)](https://codeclimate.com/github/marcelog/PAGI) +[![Issue Count](https://codeclimate.com/github/marcelog/PAGI/badges/issue_count.svg)](https://codeclimate.com/github/marcelog/PAGI) + Introduction ============ This framework is intended to simply making ivr applications using Asterisk's @@ -11,17 +20,18 @@ Resources: * [In-depth tutorial](http://marcelog.github.com/articles/pagi_tutorial_create_voip_telephony_application_for_asterisk_with_agi_and_php.html) * [An example IVR application that includes unit tests is available here](https://github.com/marcelog/Pagi-App-And-Test-Example) * [API](http://ci.marcelog.name:8080/job/PAGI/javadoc/) - * [CI (Jenkins)](http://ci.marcelog.name/ provides API, metrics, and distributables). - * [Packagist Home](http://packagist.org/packages/marcelog/pagi) * [Professional Telephony Applications at hand](http://sdjournal.org/a-practical-introduction-to-functional-programming-with-php-sdj-issue-released/) The march edition of [Software Developer Journal](http://sdjournal.org/) features a complete article about writing telephony applications with PAMI and PAGI. -Contact me ----------- -If you have any questions, issues, feature requests, or just want to report -your "success story", or maybe even say hi, please send an email to marcelog@gmail.com +# Installing +Add this library to your [Composer](https://packagist.org/) configuration. In +composer.json: +```json + "require": { + "marcelog/pagi": "2.*" + } +``` -Included Example ----------------- +# Included Examples Please see **docs/examples** for all the included examples. You can start by *docs/examples/quickstart* for a very basic example. You'll need something like this in your dialplan: @@ -30,49 +40,13 @@ You can start by *docs/examples/quickstart* for a very basic example. You'll nee exten => 1,1,AGI(/path/to/PAGI/docs/examples/quickstart/run.sh,a,b,c,d) exten => 1,n,Hangup -Available via Composer ----------------------- -Just add the package "marcelog/pagi": - - { - "require": { - "marcelog/pagi": "dev-master" - }, - "repositories": [ - { - "type": "pear", - "url": "http://pear.apache.org/log4php/" - }] - } - -Packagist URL: (http://packagist.org/packages/marcelog/pagi) - -Available via PEAR ------------------- -You can now easily install PAGI by issuing: - - pear channel-discover pear.marcelog.name - pear install marcelog/PAGI - -or - - pear install marcelog/PAGI-X.Y.Z -just replace X.Y.Z by the release version you'd like to install :) +# Testing IVR applications -See the [pear channel](http://pear.marcelog.name/) - -Available as PHAR ------------------ -Just go to the [Jenkins server](http://ci.marcelog.name) and grab the latest -phar distribution from the PAGI job. - -Testing IVR applications -======================== A mocked pagi client is included to easily test your ivr applications. See **docs/examples/mock** to see an example of how to use it. -Nodes -===== +# Nodes + For a tutorial about nodes, see [this article](http://marcelog.github.com/articles/pagi_node_call_flow_easy_telephony_application_for_asterisk_php.html) Simple Call Flow Nodes are available (see **docs/examples/node/example.php**). Using @@ -100,17 +74,17 @@ callback, etc. For an example, see docs/examples/nodecontroller/example.php An article about the node controller is available [here](http://marcelog.github.com/articles/making_your_ivr_nodes_call_flow_with_pagi_and_php_asterisk.html) -AutoDial -======== +# AutoDial + CallFiles are supported. You can also schedule a call in the future. -Fax -=== +# Fax + Sending and receiving faxes is supported using spandsp (applications SendFax and ReceiveFax). -Available Facades -================= +# Available Facades + * PAGI\Client\CDR: Provided to access cdr variables. * PAGI\Client\ChannelVariables: Provided to access channel variables and asterisk environment variables. @@ -121,11 +95,11 @@ environment variables. * PAGI\Logger\Asterisk: Provides access to asterisk logger (see logger.conf in your asterisk installation). -Results -======= +# Results + For every operation, a Result is provided. Some operations decorate this Result to add functionality, like PlayResult, ReadResult, etc. For example, -a stream file will return a PlayResult, which decorates a ReadResult which +a stream file will return a PlayResult, which decorates a ReadResult which in turn, decorated a Result. * PAGI\Client\DialResult @@ -134,23 +108,41 @@ in turn, decorated a Result. * PAGI\Client\PlayResult * PAGI\Client\FaxResult -Debugging, logging -================== -You need [log4php](http://logging.apache.org/log4php/). Just make sure you -copy it to the include_path and PAGI will pick it up from there (the -directory *src/main/php* is the one that needs to be in the include_path). - -Developers -========== -* build.xml is a phing build file, not ant. -* It's very possible that you may need to edit build.properties. -* Available main targets: all, build, test, report. -* Tools run: phpdoc, phploc, phpcs, phpmd, phpcpd, phpdepend, phpunit. -* Setup your installation by editing pear and php paths in build.properties -* Run phing install-dependencies this will install pear and everything needed -to run phing tests and metrics. -* Copy resources/php.ini.example to resources/php.ini and edit it. -* Run phing all +# Debugging, logging + +You can optionally set a [PSR-3](http://www.php-fig.org/psr/psr-3/) compatible logger: +```php +$pagi->setLogger($logger); +``` + +By default, the client will use the [NullLogger](http://www.php-fig.org/psr/psr-3/#1-4-helper-classes-and-interfaces). + +# Developers +This project uses [phing](https://www.phing.info/). Current tasks include: + * test: Runs [PHPUnit](https://phpunit.de/). + * cs: Runs [CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer). + * doc: Runs [PhpDocumentor](http://www.phpdoc.org/). + * md: runs [PHPMD](http://phpmd.org/). + * build: This is the default task, and will run all the other tasks. + +## Running a phing task +To run a task, just do: + +```sh +vendor/bin/phing build +``` + +## Contributing +To contribute: + * Make sure you open a **concise** and **short** pull request. + * Throw in any needed unit tests to accomodate the new code or the + changes involved. + * Run `phing` and make sure everything is ok before submitting the pull + request (make phpmd and CodeSniffer happy, also make sure that phpDocumentor + does not throw any warnings, since all our documentation is automatically + generated). + * Your code must comply with [PSR-2](http://www.php-fig.org/psr/psr-2/), + CodeSniffer should take care of that. LICENSE ======= diff --git a/UPGRADING-FROM-1.8 b/UPGRADING-FROM-1.8 deleted file mode 100644 index 44f7993..0000000 --- a/UPGRADING-FROM-1.8 +++ /dev/null @@ -1,16 +0,0 @@ -There is a small b/c break with PAGI < 1.9.0. - -PAGIApplication used to get an agi client by itself. Since 1.9.0 you have -to pass it in the option arguments, like: - -$clientOptions = array('log4php.properties' => '/etc/log4php.properties'); -$client = PAGI\Client\Impl\ClientImpl::getInstance($clientOptions); - -$app = new MyPAGIApplication(array('pagiClient' => $client)); - -In this way, you can use your pagi application with any agi client (i.e: AsyncAgi -from pami). - -If you are using the PAGILauncher, it is updated to work this way. - -See docs/examples/quickstart for the full example. \ No newline at end of file diff --git a/build.properties b/build.properties deleted file mode 100644 index ee8b0de..0000000 --- a/build.properties +++ /dev/null @@ -1,86 +0,0 @@ -version=none -name=PAGI -summary="PHP AGI ( Asterisk Gateway Interface ) facade" -description="CDR ( Call Detail Record ), Call spool and schedule auto dial, Send and Receive Fax, Channel Variables, and Caller ID management" -dir.output=${project.basedir}/build -dir.tmp=${dir.output}/tmp -dir.src=${project.basedir}/src/mg/${name} -dir.vendor=${project.basedir}/vendor -dir.vendor.bin=${dir.vendor}/bin -dir.vendor.php=${dir.vendor}/php -phing=${php.exec} ${dir.vendor.php}/phing.php -Dversion=${version} -;phing=${dir.vendor.bin}/phing -package.output.dir=${dir.output} -php.ini=${project.basedir}/resources/php.ini -php.args=-c ${php.ini} -d include_path=${dir.vendor.php}:${dir.vendor.php}/log4php -php.bin=/usr/php/bin/php -php.exec=PHPRC=${project.basedir}/resources ${php.bin} ${php.args} -defaultpear.bin=/usr/php/bin/pear -pear.cfg=${dir.vendor}/.pearrc -defaultpear.exec=${defaultpear.bin} -c ${pear.cfg} -pear.exec=${dir.vendor}/bin/pear -c ${pear.cfg} - -phpdepend.exec=${php.exec} ${dir.vendor.bin}/pdepend -phpdepend.output=${dir.output}/php-depend -phpdepend.output.html.dir=${phpdepend.output}/html -phpdepend.output.html.file=${phpdepend.output.html.dir}/index.html -phpdepend.output.xml.dir=${phpdepend.output} -phpdepend.output.xml.file=${phpdepend.output.xml.dir}/php-depend.xml -phpdepend.style=resources/pdepend.xsl -phpdepend.args=--jdepend-xml=${phpdepend.output.xml.file} --jdepend-chart=${phpdepend.output.html.dir}/pdepend.svg --ignore=.git,test/ --overview-pyramid=${phpdepend.output.html.dir}/pyramid.svg ${dir.src} - -phpcs.exec=${php.exec} ${dir.vendor.bin}/phpcs -phpcs.output=${dir.output}/php-cs -phpcs.output.html.dir=${phpcs.output}/html -phpcs.output.html.file=${phpcs.output.html.dir}/index.html -phpcs.output.xml.dir=${phpcs.output} -phpcs.output.xml.file=${phpcs.output.xml.dir}/php-cs.xml -phpcs.style=resources/checkstyle.xsl -phpcs.args=--report=checkstyle --report-file=${phpcs.output.xml.file} --standard=PEAR --extensions=php --ignore=.git/,doc/,resources/,build ${dir.src} - -junit.output.xml.dir=${phpunit.output} -junit.output.xml.file=${junit.output.xml.dir}/junit.xml -junit.style=resources/phpunit_to_surefire.xslt -phpunit.exec=TMPDIR=${dir.output}/tmp TEST=true ${php.exec} ${dir.vendor.bin}/phpunit -phpunit.output=${dir.output}/php-unit -phpunit.output.html.dir=${phpunit.output}/html -phpunit.output.xml.dir=${phpunit.output} -phpunit.output.xml.file=${phpunit.output.xml.dir}/php-unit.xml -phpunit.args=${php.args} --repeat 1 --stop-on-error --stop-on-failure --stop-on-incomplete --debug --verbose --process-isolation --no-globals-backup --bootstrap ./bootstrap.php --configuration phpunit.xml --log-junit ${phpunit.output.xml.file} --coverage-html ${phpunit.output.html.dir} --verbose - -phpmd.exec=${php.exec} ${dir.vendor.bin}/phpmd -phpmd.output=${dir.output}/php-md -phpmd.output.html.dir=${phpmd.output}/html -phpmd.output.html.file=${phpmd.output.html.dir}/index.html -phpmd.output.xml.dir=${phpmd.output} -phpmd.output.xml.file=${phpmd.output.xml.dir}/php-md.xml -phpmd.style=resources/pmd.xslt -phpmd.args=${dir.src} xml rulesets/codesize.xml,rulesets/unusedcode.xml,rulesets/naming.xml --extensions php --reportfile ${phpmd.output.xml.file} - -phpcpd.exec=${php.exec} ${dir.vendor.bin}/phpcpd -phpcpd.output=${dir.output}/php-cpd -phpcpd.output.html.dir=${phpcpd.output}/html -phpcpd.output.html.file=${phpcpd.output.html.dir}/index.html -phpcpd.output.xml.dir=${phpcpd.output} -phpcpd.output.xml.file=${phpcpd.output.xml.dir}/php-cpd.xml -phpcpd.style=resources/cpd.xslt -phpcpd.args=--log-pmd ${phpcpd.output.xml.file} --verbose ${dir.src} - -phpdoc.exec=${php.exec} ${dir.vendor.bin}/docblox -phpdoc.output=${dir.output}/php-doc -phpdoc.output.html.dir=${phpdoc.output}/html -phpdoc.args=-d ${dir.src} -t ${phpdoc.output.html.dir} --sourcecode --visibility public,protected,private --parseprivate --title ${summary} - -phploc.exec=${php.exec} ${dir.vendor.bin}/phploc -phploc.output=${dir.output}/php-loc -phploc.output.html.dir=${phploc.output}/html -phploc.output.html.file=${phploc.output.html.dir}/phploc.txt -phploc.args=${dir.src} - -phar=${name}-${version}.phar -genphar.exec=${php.exec} resources/generatePhar.php -genphar.args=${package.output.dir}/${phar} ${project.basedir}/src/mg -peartgz=${name}-${version}.tgz - -genpear.exec=${php.exec} resources/generatePackageXml.php ${name} ${summary} ${description} ${version} - diff --git a/build.xml b/build.xml index 0a870a9..89eb4e7 100644 --- a/build.xml +++ b/build.xml @@ -1,257 +1,77 @@ - - + + - - - + + + - - + - - - - - - - - + + + + + + + + - - - - - - - - + + - - - - - - - - + + - - - - - - - - + + - - - - - - - - + + - - - - - - + + - - - - - - + + + + + + + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - + \ No newline at end of file diff --git a/composer.json b/composer.json index ce7c878..48df571 100644 --- a/composer.json +++ b/composer.json @@ -14,12 +14,24 @@ } ], "autoload": { - "psr-0": { - "PAGI": "src/mg" + "psr-4": { + "PAGI\\": "src/PAGI" } }, "require": { "php": ">=5.3.3", - "apache/log4php": "2.3.0" + "psr/log": ">= 1.0.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*", + "monolog/monolog": "1.*", + "squizlabs/php_codesniffer": "2.*", + "phpdocumentor/phpdocumentor": "2.*", + "phing/phing": "2.*", + "phpmd/phpmd": "2.*", + "satooshi/php-coveralls": "0.*", + "evert/phpdoc-md" : "~0.1.1", + "codeclimate/php-test-reporter": "dev-master", + "sebastian/phpcpd": "*" } } diff --git a/composer.phar b/composer.phar new file mode 100755 index 0000000000000000000000000000000000000000..5d4640ce9b857afff9e6dfee465e2562c355b7a2 GIT binary patch literal 1238154 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

$0bj02Cp0Spn7lQIV#Z) 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

Q! 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�*Q5F`gW|%16!x-a%_2R9RmTV8j2NX|UCo_GT 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 D4tjMe literal 0 HcmV?d00001 diff --git a/resources/checkstyle.xsl b/resources/checkstyle.xsl deleted file mode 100644 index 1dd8778..0000000 --- a/resources/checkstyle.xsl +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -

CheckStyle Audit

Designed for use with CheckStyle and Ant.
-


- - - -
- - - -
- - - - -
- - - - - - - - - -

Files

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameErrorsWarningsInfos
-
- - - - -

File

- - - - - - - - - - - - - - - - -
SeverityError DescriptionLine
- Back to top -
- - - -

Summary

- - - - - - - - - - - - - - - - - - -
FilesErrorsWarningsInfos
-
- - - - a - b - - - - - diff --git a/resources/cpd.xslt b/resources/cpd.xslt deleted file mode 100644 index 9012677..0000000 --- a/resources/cpd.xslt +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - -

Summary of duplicated code

- This page summarizes the code fragments that have been found to be replicated in the code. - Only those fragments longer than 30 lines of code are shown. -

- - - - - - - - - - - - - -
# duplicationsTotal linesTotal tokensApprox # bytes
-

- You expand and collapse the code fragments using the + buttons. You can also navigate to the source code by clicking - on the file names. -

- - - - - - - - - - - - - - - -
IDFilesLines
- - - - -
../src/.html# line
-
# lines :
- - - -
- - - -
-

- - - - - - - diff --git a/resources/generatePackageXml.php b/resources/generatePackageXml.php deleted file mode 100644 index c9a13df..0000000 --- a/resources/generatePackageXml.php +++ /dev/null @@ -1,79 +0,0 @@ - - - - - pear.marcelog.name -

- - - Marcelo Gornstein - marcelog - marcelog@gmail.com - yes - - - - - - - - - stable - stable - - Apache - None - - - - - - - - - - - 5.3.3 - - - 1.4.0 - - - - - - diff --git a/resources/generatePhar.php b/resources/generatePhar.php deleted file mode 100644 index 2ffee56..0000000 --- a/resources/generatePhar.php +++ /dev/null @@ -1,20 +0,0 @@ - '; -$phar = new Phar($argv[1]); -$phar->setAlias('pagi.phar'); -$phar->buildFromDirectory($argv[2]); -$phar->setStub($stub); - diff --git a/resources/log4php.properties b/resources/log4php.properties deleted file mode 100644 index 0c97123..0000000 --- a/resources/log4php.properties +++ /dev/null @@ -1,6 +0,0 @@ -log4php.appender.default.layout = LoggerLayoutSimple -log4php.appender.default = LoggerAppenderDailyFile -log4php.appender.default.file = ROOT_PATH "/build/log.log" -log4php.rootLogger = DEBUG, default -log4php.logger.Pagi = DEBUG, default -log4php.additivity.Pagi = "false" diff --git a/resources/pdepend.xsl b/resources/pdepend.xsl deleted file mode 100644 index dabb882..0000000 --- a/resources/pdepend.xsl +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - - - - - PDepend Analysis - - - - - - - - -

JDepend Analysis

-

Designed for use with JDepend and Ant.

-
- -
-

Summary

-
- [summary] - [packages] - [cycles] - [explanations] -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PackageTotal ClassesAbstract ClassesConcrete ClassesAfferent CouplingsEfferent CouplingsAbstractnessInstabilityDistance
- - #PK - - - -
- -
- -
-

Packages

-
- [summary] - [packages] - [cycles] - [explanations] -
- - - -

PK -

- - - - - - - -
Afferent Couplings: Efferent Couplings: Abstractness: Instability: Distance:
- - - - - - - - - - - - - - -
Abstract ClassesConcrete ClassesUsed by PackagesUses Packages
- - None - - -
-
-
- - None - - -
-
-
- - None - - - - #PK - -
-
-
- - None - - - - #PK - -
-
-
-
-
- -
-

Cycles

-
- [summary] - [packages] - [cycles] - [explanations] -
- - -

There are no cyclic dependancies.

-
- -

- -
-

-
- -
-

Explanations

-
- [summary] - [packages] - [cycles] - [explanations] -
- -

The following explanations are for quick reference and are lifted directly from the original JDepend documentation.

- -

Number of Classes

-

The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package.

-

Afferent Couplings

-

The number of other packages that depend upon classes within the package is an indicator of the package's responsibility.

-

Efferent Couplings

-

The number of other packages that the classes in the package depend upon is an indicator of the package's independence.

-

Abstractness

-

The ratio of the number of abstract classes (and interfaces) in the analyzed package to the total number of classes in the analyzed package.

-

The range for this metric is 0 to 1, with A=0 indicating a completely concrete package and A=1 indicating a completely abstract package.

-

Instability

-

The ratio of efferent coupling (Ce) to total coupling (Ce / (Ce + Ca)). This metric is an indicator of the package's resilience to change.

-

The range for this metric is 0 to 1, with I=0 indicating a completely stable package and I=1 indicating a completely instable package.

-

Distance

-

The perpendicular distance of a package from the idealized line A + I = 1. This metric is an indicator of the package's balance between abstractness and stability.

-

A package squarely on the main sequence is optimally balanced with respect to its abstractness and stability. Ideal packages are either completely abstract and stable (x=0, y=1) or completely concrete and instable (x=1, y=0).

-

The range for this metric is 0 to 1, with D=0 indicating a package that is coincident with the main sequence and D=1 indicating a package that is as far from the main sequence as possible.

- - - -
- -
diff --git a/resources/php.ini.example b/resources/php.ini.example deleted file mode 100644 index 1c935e9..0000000 --- a/resources/php.ini.example +++ /dev/null @@ -1,21 +0,0 @@ -zend_extension=/usr/php/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so -xdebug.auto_trace = On -xdebug.cli_color = 1 - - -[PHP] -error_reporting = E_ALL -display_errors = On -display_startup_errors = On -log_errors = On -report_memleaks = On -allow_url_fopen = On -allow_url_include = On -safe_mode = Off -memory_limit = 1024M -short_open_tag = Off - -[Date] -date.timezone = America/Buenos_Aires - -phar.readonly=false diff --git a/resources/phpunit_to_surefire.xslt b/resources/phpunit_to_surefire.xslt deleted file mode 100644 index 66c0043..0000000 --- a/resources/phpunit_to_surefire.xslt +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/resources/pmd.xslt b/resources/pmd.xslt deleted file mode 100644 index 8511ac3..0000000 --- a/resources/pmd.xslt +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - -p1 -p2 -p3 -p4 -p5 - - - - - - - - - - - PMD <xsl:value-of select="//pmd/@version"/> Report - - - - -

PMD Report

-
-

Summary

- - - - - - - - - - - - - - - - - - - -
FilesTotalPriority 1Priority 2Priority 3Priority 4Priority 5
-
- - - - - - - - - - - - - - - - - -
PrioFileLineDescription
-
-

Generated by PMD on .

- - -
- -
diff --git a/src/mg/PAGI/Application/PAGIApplication.php b/src/PAGI/Application/PAGIApplication.php similarity index 90% rename from src/mg/PAGI/Application/PAGIApplication.php rename to src/PAGI/Application/PAGIApplication.php index 0b20eff..b77ff99 100644 --- a/src/mg/PAGI/Application/PAGIApplication.php +++ b/src/PAGI/Application/PAGIApplication.php @@ -30,6 +30,8 @@ use PAGI\Client\IClient; use PAGI\Client\Impl\ClientImpl; +use Psr\Log\LoggerInterface; +use Psr\Log\NullLogger; /** * Parent class for all PAGIApplications. @@ -45,7 +47,7 @@ abstract class PAGIApplication { /** - * log4php logger or our own dummy. + * PSR-3 logger. * @var Logger */ protected $logger; @@ -108,6 +110,18 @@ protected function getAgi() return $this->_agiClient; } + /** + * Sets the logger implementation. + * + * @param Psr\Log\LoggerInterface $logger The PSR3-Logger + * + * @return void + */ + public function setLogger(LoggerInterface $logger) + { + $this->logger = $logger; + } + /** * Constructor. Will call set_error_handler() and pcntl_signal() to setup * your errorHandler() and signalHandler(). Also will call @@ -119,10 +133,7 @@ protected function getAgi() */ public function __construct(array $properties = array()) { - if (isset($properties['log4php.properties'])) { - \Logger::configure($properties['log4php.properties']); - } - $this->logger = \Logger::getLogger('Pagi.PAGIApplication'); + $this->logger = new NullLogger; $this->_agiClient = $properties['pagiClient']; register_shutdown_function(array($this, 'shutdown')); $signalHandler = array($this, 'signalHandler'); diff --git a/src/mg/PAGI/Application/PAGILauncher.php b/src/PAGI/Application/PAGILauncher.php similarity index 79% rename from src/mg/PAGI/Application/PAGILauncher.php rename to src/PAGI/Application/PAGILauncher.php index 32bf4c4..b13d384 100644 --- a/src/mg/PAGI/Application/PAGILauncher.php +++ b/src/PAGI/Application/PAGILauncher.php @@ -6,9 +6,6 @@ * want to run. * -- PAGIBootstrap: Name of the file (like a.php) that you want to include_once * before running the application. - * -- log4php: Absolute full path to the log4php.properties (may be a dummy - * path, in this case you may gain some performance but wont be able to see - * any logs apart from the asterisk console). * * PHP Version 5 * @@ -34,14 +31,11 @@ * limitations under the License. * */ -require_once 'PAGI/Autoloader/Autoloader.php'; // Include PAGI autoloader. -\PAGI\Autoloader\Autoloader::register(); // Call autoloader register for PAGI autoloader. use PAGI\Application\Exception\InvalidApplicationException; use PAGI\Application\PAGIApplication; $appName = getenv('PAGIApplication'); $bootstrap = getenv('PAGIBootstrap'); -$log4php = realpath(getenv('log4php_properties')); $myApp = ''; try { @@ -54,7 +48,7 @@ if (!$rClass->isSubclassOf('PAGI\\Application\\PAGIApplication')) { throw new \Exception($appName . ': Invalid application'); } - $agi = PAGI\Client\Impl\ClientImpl::getInstance(array('log4php.properties' => $log4php)); + $agi = PAGI\Client\Impl\ClientImpl::getInstance(); $myApp = new $appName(array('pagiClient' => $agi)); $myApp->init(); $myApp->run(); diff --git a/src/mg/PAGI/CDR/ICDR.php b/src/PAGI/CDR/ICDR.php similarity index 100% rename from src/mg/PAGI/CDR/ICDR.php rename to src/PAGI/CDR/ICDR.php diff --git a/src/mg/PAGI/CDR/Impl/CDRFacade.php b/src/PAGI/CDR/Impl/CDRFacade.php similarity index 100% rename from src/mg/PAGI/CDR/Impl/CDRFacade.php rename to src/PAGI/CDR/Impl/CDRFacade.php diff --git a/src/mg/PAGI/CallSpool/CallFile.php b/src/PAGI/CallSpool/CallFile.php similarity index 100% rename from src/mg/PAGI/CallSpool/CallFile.php rename to src/PAGI/CallSpool/CallFile.php diff --git a/src/mg/PAGI/CallSpool/Exception/CallSpoolException.php b/src/PAGI/CallSpool/Exception/CallSpoolException.php similarity index 100% rename from src/mg/PAGI/CallSpool/Exception/CallSpoolException.php rename to src/PAGI/CallSpool/Exception/CallSpoolException.php diff --git a/src/mg/PAGI/CallSpool/ICallSpool.php b/src/PAGI/CallSpool/ICallSpool.php similarity index 100% rename from src/mg/PAGI/CallSpool/ICallSpool.php rename to src/PAGI/CallSpool/ICallSpool.php diff --git a/src/mg/PAGI/CallSpool/Impl/CallSpoolImpl.php b/src/PAGI/CallSpool/Impl/CallSpoolImpl.php similarity index 93% rename from src/mg/PAGI/CallSpool/Impl/CallSpoolImpl.php rename to src/PAGI/CallSpool/Impl/CallSpoolImpl.php index bbfc64f..2faaa10 100644 --- a/src/mg/PAGI/CallSpool/Impl/CallSpoolImpl.php +++ b/src/PAGI/CallSpool/Impl/CallSpoolImpl.php @@ -107,6 +107,13 @@ public function spool(CallFile $call, $schedule = false) DIRECTORY_SEPARATOR, array($this->_spoolDir, 'outgoing', basename($filename)) ); + $dir = dirname($newFilename); + if (!file_exists($dir)) { + if (@mkdir($dir, 0700, true) === false) { + @unlink($filename); + throw new CallSpoolException('Error spooling: ' . $newFilename); + } + } if (@rename($filename, $newFilename) === false) { @unlink($filename); throw new CallSpoolException('Error spooling: ' . $newFilename); diff --git a/src/mg/PAGI/CallerId/ICallerId.php b/src/PAGI/CallerId/ICallerId.php similarity index 100% rename from src/mg/PAGI/CallerId/ICallerId.php rename to src/PAGI/CallerId/ICallerId.php diff --git a/src/mg/PAGI/CallerId/Impl/CallerIdFacade.php b/src/PAGI/CallerId/Impl/CallerIdFacade.php similarity index 100% rename from src/mg/PAGI/CallerId/Impl/CallerIdFacade.php rename to src/PAGI/CallerId/Impl/CallerIdFacade.php diff --git a/src/mg/PAGI/ChannelVariables/IChannelVariables.php b/src/PAGI/ChannelVariables/IChannelVariables.php similarity index 100% rename from src/mg/PAGI/ChannelVariables/IChannelVariables.php rename to src/PAGI/ChannelVariables/IChannelVariables.php diff --git a/src/mg/PAGI/ChannelVariables/Impl/ChannelVariablesFacade.php b/src/PAGI/ChannelVariables/Impl/ChannelVariablesFacade.php similarity index 100% rename from src/mg/PAGI/ChannelVariables/Impl/ChannelVariablesFacade.php rename to src/PAGI/ChannelVariables/Impl/ChannelVariablesFacade.php diff --git a/src/mg/PAGI/Client/AbstractClient.php b/src/PAGI/Client/AbstractClient.php similarity index 98% rename from src/mg/PAGI/Client/AbstractClient.php rename to src/PAGI/Client/AbstractClient.php index 817dcdc..87ed172 100644 --- a/src/mg/PAGI/Client/AbstractClient.php +++ b/src/PAGI/Client/AbstractClient.php @@ -27,8 +27,9 @@ */ namespace PAGI\Client; +use Psr\Log\LoggerInterface; +use Psr\Log\NullLogger; use PAGI\Logger\Asterisk\Impl\AsteriskLoggerImpl; - use PAGI\Client\Result\Result; use PAGI\Client\Result\FaxResult; use PAGI\Client\Result\ExecResult; @@ -39,7 +40,6 @@ use PAGI\Client\Result\RecordResult; use PAGI\Client\Result\AmdResult; use PAGI\Client\ChannelStatus; - use PAGI\Exception\ExecuteCommandException; use PAGI\Exception\DatabaseInvalidEntryException; use PAGI\Exception\PAGIException; @@ -65,7 +65,7 @@ abstract class AbstractClient implements IClient { /** - * log4php logger or dummy. + * PSR-3 logger. * @var Logger */ protected $_logger; @@ -153,7 +153,7 @@ protected function getResultFromResultString($text) public function amd($options = array()) { $knownOptions = array( - 'initialSilence', 'greeting', 'afterGreetingSilence', 'totalAnalysisTime', + 'initialSilence', 'greeting', 'afterGreetingSilence', 'totalAnalysisTime', 'miniumWordLength', 'betweenWordSilence', 'maximumNumberOfWords', 'silenceThreshold', 'maximumWordLength' ); @@ -883,4 +883,16 @@ public function createNodeController($name) $controller = new \PAGI\Node\NodeController(); return $controller->setName($name)->setAgiClient($this); } + + /** + * Sets the logger implementation. + * + * @param Psr\Log\LoggerInterface $logger The PSR3-Logger + * + * @return void + */ + public function setLogger(LoggerInterface $logger) + { + $this->logger = $logger; + } } diff --git a/src/mg/PAGI/Client/ChannelStatus.php b/src/PAGI/Client/ChannelStatus.php similarity index 100% rename from src/mg/PAGI/Client/ChannelStatus.php rename to src/PAGI/Client/ChannelStatus.php diff --git a/src/mg/PAGI/Client/IClient.php b/src/PAGI/Client/IClient.php similarity index 98% rename from src/mg/PAGI/Client/IClient.php rename to src/PAGI/Client/IClient.php index 4f19d31..03cf07e 100644 --- a/src/mg/PAGI/Client/IClient.php +++ b/src/PAGI/Client/IClient.php @@ -28,6 +28,7 @@ */ namespace PAGI\Client; +use Psr\Log\LoggerInterface; use PAGI\CallerId\ICallerId; use PAGI\CDR\ICDR; use PAGI\ChannelVariables\IChannelVariables; @@ -608,7 +609,16 @@ public function createNodeController($name); * * @param string[] $options * - * @return AmdResult + * @return AmdResult */ public function amd($options); + + /** + * Sets the logger implementation. + * + * @param Psr\Log\LoggerInterface $logger The PSR3-Logger + * + * @return void + */ + public function setLogger(LoggerInterface $logger); } diff --git a/src/mg/PAGI/Client/Impl/ClientImpl.php b/src/PAGI/Client/Impl/ClientImpl.php similarity index 88% rename from src/mg/PAGI/Client/Impl/ClientImpl.php rename to src/PAGI/Client/Impl/ClientImpl.php index c3ac490..9b03107 100644 --- a/src/mg/PAGI/Client/Impl/ClientImpl.php +++ b/src/PAGI/Client/Impl/ClientImpl.php @@ -31,6 +31,8 @@ use PAGI\Client\AbstractClient; use PAGI\Exception\PAGIException; +use Psr\Log\LoggerInterface; +use Psr\Log\NullLogger; /** * An AGI client implementation. @@ -79,9 +81,7 @@ class ClientImpl extends AbstractClient */ protected function send($text) { - if ($this->_logger->isDebugEnabled()) { - $this->_logger->debug('Sending: ' . $text); - } + $this->_logger->debug('Sending: ' . $text); $text .= "\n"; $len = strlen($text); $res = fwrite($this->_output, $text) === $len; @@ -119,9 +119,7 @@ protected function open() } $this->readEnvironmentVariable($line); } - if ($this->_logger->isDebugEnabled()) { - $this->_logger->debug(print_r($this->_variables, true)); - } + $this->_logger->debug(print_r($this->_variables, true)); } /** @@ -153,9 +151,7 @@ protected function read() throw new PAGIException('Could not read from AGI'); } $line = substr($line, 0, -1); - if ($this->_logger->isDebugEnabled()) { - $this->_logger->debug('Read: ' . $line); - } + $this->_logger->debug('Read: ' . $line); return $line; } @@ -182,9 +178,6 @@ public static function getInstance(array $options = array()) * * Note: The client accepts an array with options. The available options are * - * log4php.properties => Optional. If set, should contain the absolute - * path to the log4php.properties file. - * * stdin => Optional. If set, should contain an already open stream from * where the client will read data (useful to make it interact with fastagi * servers or even text files to mock stuff when testing). If not set, stdin @@ -199,10 +192,7 @@ public static function getInstance(array $options = array()) protected function __construct(array $options = array()) { $this->_options = $options; - if (isset($options['log4php.properties'])) { - \Logger::configure($options['log4php.properties']); - } - $this->_logger = \Logger::getLogger(__CLASS__); + $this->_logger = new NullLogger; $this->open(); } } \ No newline at end of file diff --git a/src/mg/PAGI/Client/Impl/MockedClientImpl.php b/src/PAGI/Client/Impl/MockedClientImpl.php similarity index 98% rename from src/mg/PAGI/Client/Impl/MockedClientImpl.php rename to src/PAGI/Client/Impl/MockedClientImpl.php index 3fc992e..2bd75ab 100644 --- a/src/mg/PAGI/Client/Impl/MockedClientImpl.php +++ b/src/PAGI/Client/Impl/MockedClientImpl.php @@ -30,9 +30,10 @@ namespace PAGI\Client\Impl; use PAGI\Logger\Asterisk\Impl\MockedAsteriskLoggerImpl; - use PAGI\Client\AbstractClient; use PAGI\Exception\MockedException; +use Psr\Log\LoggerInterface; +use Psr\Log\NullLogger; /** * An AGI client implementation useful for mocking and testing ivr apps. @@ -540,7 +541,7 @@ public function onCreateNode($name) public function createNode($name) { if (!isset($this->nodes[$name])) { - $this->_logger->warn("Unknown node: $name"); + $this->_logger->warning("Unknown node: $name"); return parent::createNode($name); } return $this->nodes[$name]; @@ -558,10 +559,7 @@ public function getLogger() public function __construct(array $options = array()) { - if (isset($options['log4php.properties'])) { - \Logger::configure($options['log4php.properties']); - } - $this->_logger = \Logger::getLogger(__CLASS__); + $this->_logger = new NullLogger; if (isset($options['variables'])) { $this->_variables = $options['variables']; } diff --git a/src/mg/PAGI/Client/Result/AmdResult.php b/src/PAGI/Client/Result/AmdResult.php similarity index 100% rename from src/mg/PAGI/Client/Result/AmdResult.php rename to src/PAGI/Client/Result/AmdResult.php diff --git a/src/mg/PAGI/Client/Result/DataReadResult.php b/src/PAGI/Client/Result/DataReadResult.php similarity index 100% rename from src/mg/PAGI/Client/Result/DataReadResult.php rename to src/PAGI/Client/Result/DataReadResult.php diff --git a/src/mg/PAGI/Client/Result/DialResult.php b/src/PAGI/Client/Result/DialResult.php similarity index 100% rename from src/mg/PAGI/Client/Result/DialResult.php rename to src/PAGI/Client/Result/DialResult.php diff --git a/src/mg/PAGI/Client/Result/DigitReadResult.php b/src/PAGI/Client/Result/DigitReadResult.php similarity index 100% rename from src/mg/PAGI/Client/Result/DigitReadResult.php rename to src/PAGI/Client/Result/DigitReadResult.php diff --git a/src/mg/PAGI/Client/Result/ExecResult.php b/src/PAGI/Client/Result/ExecResult.php similarity index 100% rename from src/mg/PAGI/Client/Result/ExecResult.php rename to src/PAGI/Client/Result/ExecResult.php diff --git a/src/mg/PAGI/Client/Result/FaxResult.php b/src/PAGI/Client/Result/FaxResult.php similarity index 100% rename from src/mg/PAGI/Client/Result/FaxResult.php rename to src/PAGI/Client/Result/FaxResult.php diff --git a/src/mg/PAGI/Client/Result/IReadResult.php b/src/PAGI/Client/Result/IReadResult.php similarity index 100% rename from src/mg/PAGI/Client/Result/IReadResult.php rename to src/PAGI/Client/Result/IReadResult.php diff --git a/src/mg/PAGI/Client/Result/IResult.php b/src/PAGI/Client/Result/IResult.php similarity index 100% rename from src/mg/PAGI/Client/Result/IResult.php rename to src/PAGI/Client/Result/IResult.php diff --git a/src/mg/PAGI/Client/Result/PlayResult.php b/src/PAGI/Client/Result/PlayResult.php similarity index 100% rename from src/mg/PAGI/Client/Result/PlayResult.php rename to src/PAGI/Client/Result/PlayResult.php diff --git a/src/mg/PAGI/Client/Result/ReadResultDecorator.php b/src/PAGI/Client/Result/ReadResultDecorator.php similarity index 100% rename from src/mg/PAGI/Client/Result/ReadResultDecorator.php rename to src/PAGI/Client/Result/ReadResultDecorator.php diff --git a/src/mg/PAGI/Client/Result/RecordResult.php b/src/PAGI/Client/Result/RecordResult.php similarity index 100% rename from src/mg/PAGI/Client/Result/RecordResult.php rename to src/PAGI/Client/Result/RecordResult.php diff --git a/src/mg/PAGI/Client/Result/Result.php b/src/PAGI/Client/Result/Result.php similarity index 98% rename from src/mg/PAGI/Client/Result/Result.php rename to src/PAGI/Client/Result/Result.php index 81e074d..1bd93a8 100644 --- a/src/mg/PAGI/Client/Result/Result.php +++ b/src/PAGI/Client/Result/Result.php @@ -133,7 +133,7 @@ public function __toString() return '[ Result for |' . $this->getOriginalLine() . '|' . ' code: |' . $this->getCode() . '|' - . ' result: |' . $this->getResult() . '|' + . ' result: |' . print_r($this->getResult(), true) . '|' . ' data: |' . $this->getData() . '|' . ']' ; diff --git a/src/mg/PAGI/Client/Result/ResultDecorator.php b/src/PAGI/Client/Result/ResultDecorator.php similarity index 100% rename from src/mg/PAGI/Client/Result/ResultDecorator.php rename to src/PAGI/Client/Result/ResultDecorator.php diff --git a/src/mg/PAGI/DialDescriptor/DAHDIDialDescriptor.php b/src/PAGI/DialDescriptor/DAHDIDialDescriptor.php similarity index 100% rename from src/mg/PAGI/DialDescriptor/DAHDIDialDescriptor.php rename to src/PAGI/DialDescriptor/DAHDIDialDescriptor.php diff --git a/src/mg/PAGI/DialDescriptor/DialDescriptor.php b/src/PAGI/DialDescriptor/DialDescriptor.php similarity index 100% rename from src/mg/PAGI/DialDescriptor/DialDescriptor.php rename to src/PAGI/DialDescriptor/DialDescriptor.php diff --git a/src/mg/PAGI/DialDescriptor/LocalDialDescriptor.php b/src/PAGI/DialDescriptor/LocalDialDescriptor.php similarity index 100% rename from src/mg/PAGI/DialDescriptor/LocalDialDescriptor.php rename to src/PAGI/DialDescriptor/LocalDialDescriptor.php diff --git a/src/mg/PAGI/DialDescriptor/SIPDialDescriptor.php b/src/PAGI/DialDescriptor/SIPDialDescriptor.php similarity index 100% rename from src/mg/PAGI/DialDescriptor/SIPDialDescriptor.php rename to src/PAGI/DialDescriptor/SIPDialDescriptor.php diff --git a/src/mg/PAGI/Exception/ChannelDownException.php b/src/PAGI/Exception/ChannelDownException.php similarity index 100% rename from src/mg/PAGI/Exception/ChannelDownException.php rename to src/PAGI/Exception/ChannelDownException.php diff --git a/src/mg/PAGI/Exception/DatabaseInvalidEntryException.php b/src/PAGI/Exception/DatabaseInvalidEntryException.php similarity index 100% rename from src/mg/PAGI/Exception/DatabaseInvalidEntryException.php rename to src/PAGI/Exception/DatabaseInvalidEntryException.php diff --git a/src/mg/PAGI/Exception/ExecuteCommandException.php b/src/PAGI/Exception/ExecuteCommandException.php similarity index 100% rename from src/mg/PAGI/Exception/ExecuteCommandException.php rename to src/PAGI/Exception/ExecuteCommandException.php diff --git a/src/mg/PAGI/Exception/InvalidCommandException.php b/src/PAGI/Exception/InvalidCommandException.php similarity index 100% rename from src/mg/PAGI/Exception/InvalidCommandException.php rename to src/PAGI/Exception/InvalidCommandException.php diff --git a/src/mg/PAGI/Exception/MockedException.php b/src/PAGI/Exception/MockedException.php similarity index 100% rename from src/mg/PAGI/Exception/MockedException.php rename to src/PAGI/Exception/MockedException.php diff --git a/src/mg/PAGI/Exception/PAGIException.php b/src/PAGI/Exception/PAGIException.php similarity index 100% rename from src/mg/PAGI/Exception/PAGIException.php rename to src/PAGI/Exception/PAGIException.php diff --git a/src/mg/PAGI/Exception/RecordException.php b/src/PAGI/Exception/RecordException.php similarity index 100% rename from src/mg/PAGI/Exception/RecordException.php rename to src/PAGI/Exception/RecordException.php diff --git a/src/mg/PAGI/Exception/SoundFileException.php b/src/PAGI/Exception/SoundFileException.php similarity index 100% rename from src/mg/PAGI/Exception/SoundFileException.php rename to src/PAGI/Exception/SoundFileException.php diff --git a/src/mg/PAGI/Logger/Asterisk/IAsteriskLogger.php b/src/PAGI/Logger/Asterisk/IAsteriskLogger.php similarity index 100% rename from src/mg/PAGI/Logger/Asterisk/IAsteriskLogger.php rename to src/PAGI/Logger/Asterisk/IAsteriskLogger.php diff --git a/src/mg/PAGI/Logger/Asterisk/Impl/AsteriskLoggerImpl.php b/src/PAGI/Logger/Asterisk/Impl/AsteriskLoggerImpl.php similarity index 100% rename from src/mg/PAGI/Logger/Asterisk/Impl/AsteriskLoggerImpl.php rename to src/PAGI/Logger/Asterisk/Impl/AsteriskLoggerImpl.php diff --git a/src/mg/PAGI/Logger/Asterisk/Impl/MockedAsteriskLoggerImpl.php b/src/PAGI/Logger/Asterisk/Impl/MockedAsteriskLoggerImpl.php similarity index 97% rename from src/mg/PAGI/Logger/Asterisk/Impl/MockedAsteriskLoggerImpl.php rename to src/PAGI/Logger/Asterisk/Impl/MockedAsteriskLoggerImpl.php index 2f808c7..3926a49 100644 --- a/src/mg/PAGI/Logger/Asterisk/Impl/MockedAsteriskLoggerImpl.php +++ b/src/PAGI/Logger/Asterisk/Impl/MockedAsteriskLoggerImpl.php @@ -31,6 +31,7 @@ use PAGI\Client\IClient; use PAGI\Logger\Asterisk\IAsteriskLogger; +use Psr\Log\LoggerInterface; /** * This will log to client logger instead of asterisk. @@ -113,7 +114,7 @@ public function dtmf($msg) * * @return void */ - public function __construct(\Logger $logger) + public function __construct(LoggerInterface $logger) { $this->logger = $logger; } diff --git a/src/mg/PAGI/Node/Exception/NodeException.php b/src/PAGI/Node/Exception/NodeException.php similarity index 100% rename from src/mg/PAGI/Node/Exception/NodeException.php rename to src/PAGI/Node/Exception/NodeException.php diff --git a/src/mg/PAGI/Node/MockedNode.php b/src/PAGI/Node/MockedNode.php similarity index 98% rename from src/mg/PAGI/Node/MockedNode.php rename to src/PAGI/Node/MockedNode.php index 57b2771..7841bd5 100644 --- a/src/mg/PAGI/Node/MockedNode.php +++ b/src/PAGI/Node/MockedNode.php @@ -278,9 +278,9 @@ protected function sayInterruptable($what, array $arguments) $client->onStreamFile(true, $digit); } else { if ($digit != ' ') { - $logger->warn("Digit '$digit' will not interrupt $what $args)"); + $logger->warning("Digit '$digit' will not interrupt $what $args)"); } else { - $logger->warn("Timeout input for $what $args"); + $logger->warning("Timeout input for $what $args"); } $client->onStreamFile(false); } diff --git a/src/mg/PAGI/Node/Node.php b/src/PAGI/Node/Node.php similarity index 92% rename from src/mg/PAGI/Node/Node.php rename to src/PAGI/Node/Node.php index 3415529..08a8f46 100644 --- a/src/mg/PAGI/Node/Node.php +++ b/src/PAGI/Node/Node.php @@ -185,12 +185,12 @@ class Node * Holds the PAGI client. * @var \PAGI\Client\IClient */ - private $_client = null; + private $client = null; /** * Here's where the user input is appended one digit at the time. * @var string */ - private $_input = self::DTMF_NONE; + private $input = self::DTMF_NONE; /** * Node state. * @var integer @@ -200,22 +200,22 @@ class Node * Holds the configured end of input digit. * @var string */ - private $_endOfInputDigit = 'X'; + private $endOfInputDigit = 'X'; /** * Holds the configured cancel digit. * @var string */ - private $_cancelDigit = 'X'; + private $cancelDigit = 'X'; /** * The minimum configured expected input length. * @var integer */ - private $_minInput = 0; + private $minInput = 0; /** * The maximum configured expected input length. * @var integer */ - private $_maxInput = 0; + private $maxInput = 0; /** * In milliseconds, maximum time to wait for user input between digits. * Only taken into account when expecting input outside prompt and preprompt @@ -262,7 +262,7 @@ class Node * Holds all input validators. * @var \Closure[] */ - private $_inputValidations = array(); + private $inputValidations = array(); /** * Total attempts for the user to enter a valid input. Will loop input * routine this many times when the input is not validated. @@ -320,31 +320,31 @@ class Node * Used to save the total amount of opportunities used to enter valid input. * @var integer */ - private $_inputAttemptsUsed = 0; + private $inputAttemptsUsed = 0; /** * Execute before running this node. * @var \Closure */ - private $_executeBeforeRun = null; + private $executeBeforeRun = null; /** * Execute after running this node. * @var \Closure */ - private $_executeAfterRun = null; + private $executeAfterRun = null; /** * Execute after a validation has failed. * @var \Closure */ - private $_executeAfterFailedValidation = null; + private $executeAfterFailedValidation = null; /** * Play "no input" message in last attempt too. * @var boolean */ - private $_playOnNoInputInLastAttempt = false; + private $playOnNoInputInLastAttempt = false; /** * Make pre prompt messages not interruptable @@ -404,7 +404,7 @@ public function playOnNoInput($filename) */ public function playNoInputMessageOnLastAttempt() { - $this->_playOnNoInputInLastAttempt = true; + $this->playOnNoInputInLastAttempt = true; return $this; } @@ -484,7 +484,7 @@ public function loadValidatorsFrom(array $validatorsInformation) */ public function validateInputWith($name, \Closure $validation, $soundOnError = null) { - $this->_inputValidations[$name] = self::createValidatorInfo( + $this->inputValidations[$name] = self::createValidatorInfo( $validation, $soundOnError ); return $this; @@ -497,7 +497,7 @@ public function validateInputWith($name, \Closure $validation, $soundOnError = n */ public function validate() { - foreach ($this->_inputValidations as $name => $data) { + foreach ($this->inputValidations as $name => $data) { $validator = $data['callback']; $result = $validator($this); if ($result === false) { @@ -633,7 +633,7 @@ public function saySound($filename) */ public function expectAtLeast($length) { - $this->_minInput = $length; + $this->minInput = $length; return $this; } @@ -647,7 +647,7 @@ public function expectAtLeast($length) */ public function expectAtMost($length) { - $this->_maxInput = $length; + $this->maxInput = $length; return $this; } @@ -672,7 +672,7 @@ public function expectExactly($length) */ public function cancelWith($digit) { - $this->_cancelDigit = $digit; + $this->cancelDigit = $digit; return $this; } @@ -685,7 +685,7 @@ public function cancelWith($digit) */ public function endInputWith($digit) { - $this->_endOfInputDigit = $digit; + $this->endOfInputDigit = $digit; return $this; } @@ -725,7 +725,7 @@ public function maxTotalTimeForInput($milliseconds) */ public function inputLengthIsAtLeast($length) { - return strlen($this->_input) >= $length; + return strlen($this->input) >= $length; } /** @@ -746,7 +746,7 @@ public function hasInput() */ public function getInput() { - return $this->_input; + return $this->input; } /** @@ -756,7 +756,7 @@ public function getInput() */ public function getClient() { - return $this->_client; + return $this->client; } /** @@ -781,7 +781,7 @@ public function setName($name) */ public function setAgiClient(IClient $client) { - $this->_client = $client; + $this->client = $client; return $this; } @@ -794,7 +794,7 @@ public function setAgiClient(IClient $client) */ protected function appendInput($digit) { - $this->_input .= $digit; + $this->input .= $digit; } /** @@ -806,7 +806,7 @@ protected function appendInput($digit) */ protected function inputIsCancel($digit) { - return $digit == $this->_cancelDigit; + return $digit == $this->cancelDigit; } /** @@ -818,7 +818,7 @@ protected function inputIsCancel($digit) */ protected function inputIsEnd($digit) { - return $digit == $this->_endOfInputDigit; + return $digit == $this->endOfInputDigit; } /** @@ -858,7 +858,7 @@ protected function acceptInput($digit) break; default: $this->appendInput($digit); - if ($this->_minInput > 0 && $this->inputLengthIsAtLeast($this->_minInput)) { + if ($this->minInput > 0 && $this->inputLengthIsAtLeast($this->minInput)) { $this->state = self::STATE_COMPLETE; } } @@ -915,7 +915,7 @@ public function isComplete() protected function callClientMethod($name, array $arguments = array()) { $this->logDebug("$name(" . implode(",", $arguments) . ")"); - return call_user_func_array(array($this->_client, $name), $arguments); + return call_user_func_array(array($this->client, $name), $arguments); } /** @@ -1094,7 +1094,7 @@ public function executeOnInputFailed(\Closure $callback) */ public function getTotalInputAttemptsUsed() { - return $this->_inputAttemptsUsed; + return $this->inputAttemptsUsed; } /** @@ -1105,12 +1105,12 @@ public function getTotalInputAttemptsUsed() */ protected function resetInput() { - if ($this->_minInput === 0) { + if ($this->minInput === 0) { $this->state = self::STATE_COMPLETE; } else { $this->state = self::STATE_TIMEOUT; } - $this->_input = self::DTMF_NONE; + $this->input = self::DTMF_NONE; return $this; } @@ -1124,7 +1124,7 @@ protected function doInput() { /* @var $result IReadResult */ $this->resetInput(); - $this->_inputAttemptsUsed++; + $this->inputAttemptsUsed++; $result = $this->playPrePromptMessages(); if (!$this->_acceptPrePromptInputAsInput) { $result = $this->playPromptMessages(); @@ -1140,15 +1140,15 @@ protected function doInput() } } if ( - $this->inputLengthIsAtLeast($this->_maxInput) // max = 1 + $this->inputLengthIsAtLeast($this->maxInput) // max = 1 || $this->wasCancelled() || ($this->isComplete() && !$this->hasInput()) // user pressed eoi ) { return; } - $len = strlen($this->_input); + $len = strlen($this->input); $start = time(); - for ($i = $len; $i < $this->_maxInput; $i++) { + for ($i = $len; $i < $this->maxInput; $i++) { if ($this->_totalTimeForInput != -1) { $totalElapsedTime = (time() - $start) * 1000; if ($totalElapsedTime >= $this->_totalTimeForInput) { @@ -1201,7 +1201,7 @@ protected function beforeOnInputFailed() */ public function executeBeforeRun(\Closure $callback) { - $this->_executeBeforeRun = $callback; + $this->executeBeforeRun = $callback; return $this; } @@ -1214,7 +1214,7 @@ public function executeBeforeRun(\Closure $callback) */ public function executeAfterRun(\Closure $callback) { - $this->_executeAfterRun = $callback; + $this->executeAfterRun = $callback; return $this; } @@ -1227,7 +1227,7 @@ public function executeAfterRun(\Closure $callback) */ public function executeAfterFailedValidation(\Closure $callback) { - $this->_executeAfterFailedValidation = $callback; + $this->executeAfterFailedValidation = $callback; return $this; } @@ -1238,9 +1238,9 @@ public function executeAfterFailedValidation(\Closure $callback) */ public function run() { - $this->_inputAttemptsUsed = 0; - if ($this->_executeBeforeRun !== null) { - $callback = $this->_executeBeforeRun; + $this->inputAttemptsUsed = 0; + if ($this->executeBeforeRun !== null) { + $callback = $this->executeBeforeRun; $callback($this); } for ($attempts = 0; $attempts < $this->_totalAttemptsForInput; $attempts++) { @@ -1257,7 +1257,7 @@ public function run() if ( $this->_onNoInputMessage !== null && !$this->hasInput() - && ($this->_playOnNoInputInLastAttempt || $attempts != ($this->_totalAttemptsForInput - 1)) + && ($this->playOnNoInputInLastAttempt || $attempts != ($this->_totalAttemptsForInput - 1)) ) { $this->addPrePromptMessage($this->_onNoInputMessage); continue; @@ -1271,14 +1271,14 @@ public function run() $callback($this); } break; - } else if ($this->_executeAfterFailedValidation !== null) { - $callback = $this->_executeAfterFailedValidation; + } else if ($this->executeAfterFailedValidation !== null) { + $callback = $this->executeAfterFailedValidation; $callback($this); } } } $result = $this->playPrePromptMessages(); - if ($this->_minInput > 0 && $attempts == $this->_totalAttemptsForInput) { + if ($this->minInput > 0 && $attempts == $this->_totalAttemptsForInput) { $this->logDebug("Max attempts reached"); $this->state = self::STATE_MAX_INPUTS_REACHED; if ($this->_onMaxValidInputAttempts !== null) { @@ -1292,8 +1292,8 @@ public function run() $this->beforeOnInputFailed(); $callback($this); } - if ($this->_executeAfterRun !== null) { - $callback = $this->_executeAfterRun; + if ($this->executeAfterRun !== null) { + $callback = $this->executeAfterRun; $callback($this); } @@ -1310,9 +1310,9 @@ public function run() */ protected function logDebug($msg) { - $logger = $this->_client->getAsteriskLogger(); - $ani = $this->_client->getChannelVariables()->getCallerIdName(); - $dnis = $this->_client->getChannelVariables()->getDNIS(); + $logger = $this->client->getAsteriskLogger(); + $ani = $this->client->getChannelVariables()->getCallerIdName(); + $dnis = $this->client->getChannelVariables()->getDNIS(); $logger->debug("Node: {$this->_name}: $ani -> $dnis: $msg"); } @@ -1361,7 +1361,7 @@ public function __toString() { return "[ Node: " . $this->_name - . " input: (" . $this->_input . ") " + . " input: (" . $this->input . ") " . " state: (" . $this->stateToString($this->state) . ")" . "]" ; diff --git a/src/mg/PAGI/Node/NodeActionCommand.php b/src/PAGI/Node/NodeActionCommand.php similarity index 97% rename from src/mg/PAGI/Node/NodeActionCommand.php rename to src/PAGI/Node/NodeActionCommand.php index a0558d4..690c93f 100644 --- a/src/mg/PAGI/Node/NodeActionCommand.php +++ b/src/PAGI/Node/NodeActionCommand.php @@ -29,15 +29,15 @@ */ namespace PAGI\Node; -/** +/** * A node action command. Basically a DTO to declare what to do when a given - * node finished execution. - * - * @category PAGI - * @package Node - * @author Marcelo Gornstein - * @license http://marcelog.github.com/PAGI/ Apache License 2.0 - * @link http://marcelog.github.com/PAGI/ + * node finished execution. + * + * @category PAGI + * @package Node + * @author Marcelo Gornstein + * @license http://marcelog.github.com/PAGI/ Apache License 2.0 + * @link http://marcelog.github.com/PAGI/ */ class NodeActionCommand { @@ -140,9 +140,9 @@ public function jumpTo($name) */ public function jumpAfterEval(\Closure $callback) { - $this->action = self::NODE_ACTION_JUMP_TO; - $this->data['nodeEval'] = $callback; - return $this; + $this->action = self::NODE_ACTION_JUMP_TO; + $this->data['nodeEval'] = $callback; + return $this; } /** @@ -193,21 +193,18 @@ public function getActionData() */ public function appliesTo(Node $node) { - if ( - $node->wasCancelled() + if ($node->wasCancelled() && $this->result == self::NODE_RESULT_CANCEL ) { return true; - } else if ( - $node->isComplete() + } elseif ($node->isComplete() && $this->result == self::NODE_RESULT_COMPLETE && (!isset($this->data['input']) || $this->data['input'] == $node->getInput() ) ) { return true; - } else if ( - $node->maxInputsReached() + } elseif ($node->maxInputsReached() && $this->result == self::NODE_RESULT_MAX_ATTEMPTS_REACHED ) { return true; diff --git a/src/mg/PAGI/Node/NodeController.php b/src/PAGI/Node/NodeController.php similarity index 95% rename from src/mg/PAGI/Node/NodeController.php rename to src/PAGI/Node/NodeController.php index 84c31b8..f008fb4 100644 --- a/src/mg/PAGI/Node/NodeController.php +++ b/src/PAGI/Node/NodeController.php @@ -72,7 +72,7 @@ class NodeController * Node name. * @var string */ - private $_name = 'X'; + private $name = 'X'; /** * Runs a node and process the result. @@ -89,7 +89,7 @@ public function jumpTo($name) } // Cant make this recursive because php does not support tail // recursion optimization. - while($name !== false) { + while ($name !== false) { $node = $this->nodes[$name]; $this->logDebug("Running $name"); $node->run(); @@ -116,7 +116,7 @@ protected function processNodeResult(Node $node) if ($resultInfo->isActionHangup()) { $this->logDebug("Hanging up after $name"); $this->client->hangup(); - } else if($resultInfo->isActionJumpTo()) { + } elseif ($resultInfo->isActionJumpTo()) { $data = $resultInfo->getActionData(); if (isset($data['nodeEval'])) { $callback = $data['nodeEval']; @@ -127,7 +127,7 @@ protected function processNodeResult(Node $node) $this->logDebug("Jumping from $name to $nodeName"); $ret = $nodeName; break; - } else if ($resultInfo->isActionExecute()) { + } elseif ($resultInfo->isActionExecute()) { $this->logDebug("Executing callback after $name"); $data = $resultInfo->getActionData(); $callback = $data['callback']; @@ -180,7 +180,7 @@ public function register($name) */ public function setName($name) { - $this->_name = $name; + $this->name = $name; return $this; } @@ -210,6 +210,6 @@ protected function logDebug($msg) $logger = $this->client->getAsteriskLogger(); $ani = $this->client->getChannelVariables()->getCallerIdName(); $dnis = $this->client->getChannelVariables()->getDNIS(); - $logger->debug("NodeController: {$this->_name}: $ani -> $dnis: $msg"); + $logger->debug("NodeController: {$this->name}: $ani -> $dnis: $msg"); } } diff --git a/src/mg/PAGI/Autoloader/Autoloader.php b/src/mg/PAGI/Autoloader/Autoloader.php deleted file mode 100644 index aa3518b..0000000 --- a/src/mg/PAGI/Autoloader/Autoloader.php +++ /dev/null @@ -1,72 +0,0 @@ - - * @license http://marcelog.github.com/PAGI/ Apache License 2.0 - * @version SVN: $Id$ - * @link http://marcelog.github.com/PAGI/ - * - * Copyright 2011 Marcelo Gornstein - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -namespace PAGI\Autoloader; - -/** - * PAGI autoloader. - * - * PHP Version 5 - * - * @category Pagi - * @package Autoloader - * @author Marcelo Gornstein - * @license http://marcelog.github.com/PAGI/ Apache License 2.0 - * @link http://marcelog.github.com/PAGI/ - */ -class Autoloader -{ - /** - * Called by php to load a given class. Returns true if the class was - * successfully loaded. - * - * @return boolean - */ - public static function load($class) - { - $classFile = str_replace('\\', DIRECTORY_SEPARATOR, $class) . '.php'; - $file = stream_resolve_include_path($classFile); - if ($file && file_exists($file)) { - require_once $file; - return true; - } - return false; - } - - /** - * You need to use this function to autoregister this loader. - * - * @see spl_autoload_register() - * - * @return boolean - */ - public static function register() - { - return spl_autoload_register('\PAGI\Autoloader\Autoloader::load'); - } -} diff --git a/test/application/Test_Application.php b/test/application/Test_Application.php index fe8ff84..d203c04 100644 --- a/test/application/Test_Application.php +++ b/test/application/Test_Application.php @@ -28,6 +28,9 @@ * */ namespace PAGI\Client\Impl { + +use Psr\Log\NullLogger; + /** * This class will test the pagi applicaiton. * @@ -46,9 +49,7 @@ class Test_Application extends \PHPUnit_Framework_TestCase public function setUp() { - $this->_properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties' - ); + $this->_properties = array(); } /** @@ -60,6 +61,7 @@ public function can_app() setFgetsMock($standardAGIStart, array()); $this->_properties['pagiClient'] = \PAGI\Client\Impl\ClientImpl::getInstance($this->_properties); $application = new MyPAGIApplication($this->_properties); + $application->setLogger(new NullLogger); $refObject = new \ReflectionObject($application); $refMethod = $refObject->getMethod('getAgi'); $refMethod->setAccessible(true); diff --git a/test/asterisklogger/Test_AsteriskLogger.php b/test/asterisklogger/Test_AsteriskLogger.php index eaa4c28..917d5ba 100644 --- a/test/asterisklogger/Test_AsteriskLogger.php +++ b/test/asterisklogger/Test_AsteriskLogger.php @@ -47,9 +47,7 @@ class Test_AsteriskLogger extends \PHPUnit_Framework_TestCase public function setUp() { - $this->_properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties' - ); + $this->_properties = array(); } /** diff --git a/test/autoloader/Test_Autoloader.php b/test/autoloader/Test_Autoloader.php index acde4e5..601f71b 100644 --- a/test/autoloader/Test_Autoloader.php +++ b/test/autoloader/Test_Autoloader.php @@ -47,9 +47,7 @@ class Test_Autoloader extends \PHPUnit_Framework_TestCase public function setUp() { - $this->_properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties' - ); + $this->_properties = array(); } public function dummyAutoloader() diff --git a/test/bootstrap.php b/test/bootstrap.php deleted file mode 100644 index e033005..0000000 --- a/test/bootstrap.php +++ /dev/null @@ -1,26 +0,0 @@ -_properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties' - ); + $this->_properties = array(); } /** diff --git a/test/cdr/Test_CDR.php b/test/cdr/Test_CDR.php index 89fd5e1..832dbe4 100644 --- a/test/cdr/Test_CDR.php +++ b/test/cdr/Test_CDR.php @@ -47,9 +47,7 @@ class Test_CDR extends \PHPUnit_Framework_TestCase public function setUp() { - $this->_properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties' - ); + $this->_properties = array(); } /** diff --git a/test/channelvars/Test_ChannelVariables.php b/test/channelvars/Test_ChannelVariables.php index 6f13c96..3429634 100644 --- a/test/channelvars/Test_ChannelVariables.php +++ b/test/channelvars/Test_ChannelVariables.php @@ -47,9 +47,7 @@ class Test_ChannelVariables extends \PHPUnit_Framework_TestCase public function setUp() { - $this->_properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties' - ); + $this->_properties = array(); } /** diff --git a/test/client/Test_Client.php b/test/client/Test_Client.php index 1bc87c8..81a9d12 100644 --- a/test/client/Test_Client.php +++ b/test/client/Test_Client.php @@ -27,6 +27,8 @@ * limitations under the License. * */ +use Psr\Log\NullLogger; + namespace { $mockFopen = false; $mockFwrite = false; @@ -177,9 +179,18 @@ class Test_Client extends \PHPUnit_Framework_TestCase public function setUp() { - $this->_properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties' - ); + $this->_properties = array(); + } + + /** + * @test + * @runInSeparateProcess + */ + public function can_set_logger() + { + $client = \PAGI\Client\Impl\ClientImpl::getInstance($this->_properties); + $client->setLogger(new NullLogger); + $this->assertTrue(true); } /** @@ -239,6 +250,7 @@ public function can_answer() /** * @test + * @runInSeparateProcess */ public function can_use_custom_stream() { @@ -246,8 +258,7 @@ public function can_use_custom_stream() $out = fopen(TMPDIR . '/output.txt', 'w+'); $client = \PAGI\Client\Impl\ClientImpl::getInstance(array( 'stdin' => $in, - 'stdout' => $out, - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties' + 'stdout' => $out )); $client->answer(); fclose($in); @@ -1715,7 +1726,7 @@ public function can_amd_send_options() 'initialSilence' => 'a', 'greeting' => 'b', 'afterGreetingSilence' => 'c', - 'totalAnalysisTime' => 'd', + 'totalAnalysisTime' => 'd', 'miniumWordLength' => 'e', 'betweenWordSilence' => 'f', 'maximumNumberOfWords' => 'g', @@ -1856,6 +1867,6 @@ public function can_amd_cause_too_long() $this->assertTrue($result->isNotSure()); $this->assertTrue($result->isCauseTooLong()); } - + } } diff --git a/test/dialdescriptor/Test_DialDescriptor.php b/test/dialdescriptor/Test_DialDescriptor.php index 02daa3a..074466c 100644 --- a/test/dialdescriptor/Test_DialDescriptor.php +++ b/test/dialdescriptor/Test_DialDescriptor.php @@ -47,9 +47,7 @@ class Test_DialDescriptor extends \PHPUnit_Framework_TestCase public function setUp() { - $this->_properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties' - ); + $this->_properties = array(); } /** diff --git a/test/mock/Test_Mock.php b/test/mock/Test_Mock.php index 5c369f2..cc61d1c 100644 --- a/test/mock/Test_Mock.php +++ b/test/mock/Test_Mock.php @@ -49,7 +49,6 @@ class Test_Mock extends PHPUnit_Framework_TestCase public function setUp() { $this->_properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties', 'variables' => array(), 'resultStrings' => array() ); @@ -89,34 +88,24 @@ public function can_assert_arguments_equality() /** * @test + * @expectedException PAGI\Exception\MockedException */ public function cannot_finish_without_using_all_results() { $mock = new PAGI\Client\Impl\MockedClientImpl($this->_properties); $mock->onDial(true, 'name', '123456', 20, 'ANSWER', '#blah'); - try - { - unset($mock); - $this->fail('Should not here'); - } catch(PAGI\Exception\MockedException $exception) { - - } + unset($mock); } /** * @test + * @expectedException PAGI\Exception\MockedException */ public function cannot_finish_without_using_all_asserts() { $mock = new PAGI\Client\Impl\MockedClientImpl($this->_properties); $mock->assert('waitDigit', array(1)); - try - { - unset($mock); - $this->fail('Should not here'); - } catch(PAGI\Exception\MockedException $exception) { - - } + unset($mock); } /** * @test diff --git a/test/mock/Test_Node.php b/test/mock/Test_Node.php index 830076f..3c87cca 100644 --- a/test/mock/Test_Node.php +++ b/test/mock/Test_Node.php @@ -50,9 +50,7 @@ class Test_MockedNode extends PHPUnit_Framework_TestCase public function setUp() { - $this->properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties', - ); + $this->properties = array(); $this->client = new MockedClientImpl($this->properties); } diff --git a/test/node/Test_Node.php b/test/node/Test_Node.php index 50604a3..913a119 100644 --- a/test/node/Test_Node.php +++ b/test/node/Test_Node.php @@ -71,7 +71,6 @@ class Test_Node extends PHPUnit_Framework_TestCase public function setUp() { $this->client = new PAGI\Client\Impl\MockedClientImpl(array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties', 'variables' => array(), 'resultStrings' => array() )); diff --git a/test/node/Test_NodeController.php b/test/node/Test_NodeController.php index 29b2a2a..4c3d9f0 100644 --- a/test/node/Test_NodeController.php +++ b/test/node/Test_NodeController.php @@ -49,7 +49,6 @@ class Test_NodeController extends PHPUnit_Framework_TestCase public function setUp() { $this->client = new PAGI\Client\Impl\MockedClientImpl(array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties', 'variables' => array(), 'resultStrings' => array() )); @@ -150,26 +149,26 @@ function (Node $node) use ($object) { */ public function can_jump_after_evaluation() { - $object = new stdClass; - $object->flag = false; - - $this->client->onCreateNode(__METHOD__); - $this->client->onCreateNode('can_jump_after_evaluation2'); - - $controller = $this->createNodeController(__METHOD__); - $controller->registerResult(__METHOD__) + $object = new stdClass; + $object->flag = false; + + $this->client->onCreateNode(__METHOD__); + $this->client->onCreateNode('can_jump_after_evaluation2'); + + $controller = $this->createNodeController(__METHOD__); + $controller->registerResult(__METHOD__) ->onComplete()->jumpAfterEval(function (Node $node) { return 'can_jump_after_evaluation2'; - }); - $controller->registerResult('can_jump_after_evaluation2')->onComplete()->execute( - function (Node $node) use ($object) { - $object->flag = true; - } - ); - $controller->register(__METHOD__)->saySound('test'); - $controller->register('can_jump_after_evaluation2')->saySound('test2'); - $controller->jumpTo(__METHOD__); - $this->assertTrue($object->flag); + }); + $controller->registerResult('can_jump_after_evaluation2')->onComplete()->execute( + function (Node $node) use ($object) { + $object->flag = true; + } + ); + $controller->register(__METHOD__)->saySound('test'); + $controller->register('can_jump_after_evaluation2')->saySound('test2'); + $controller->jumpTo(__METHOD__); + $this->assertTrue($object->flag); } /** diff --git a/test/phpunit.xml b/test/phpunit.xml deleted file mode 100644 index 43eb322..0000000 --- a/test/phpunit.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - ../src/mg/PAGI - - ../src/mg/PAGI/Application - - - - - - mock - - - node - - - spool - - - status - - - client - - - callerid - - - channelvars - - - cdr - - - autoloader - - - dialdescriptor - - - asterisklogger - - - application - - - diff --git a/test/resources/bootstrap.php b/test/resources/bootstrap.php new file mode 100644 index 0000000..c34420b --- /dev/null +++ b/test/resources/bootstrap.php @@ -0,0 +1,23 @@ + + * @copyright 2015 Marcelo Gornstein + */ + +error_reporting(E_ALL); +ini_set('display_errors', 1); +if (!defined('ROOT_PATH')) { + define('ROOT_PATH', realpath(__DIR__ . "/..")); +} +if (!defined('RESOURCES_DIR')) { + define('RESOURCES_DIR', ROOT_PATH . '/resources'); +} +if (!defined('TMPDIR')) { + define('TMPDIR', getenv('TMPDIR')); +} +require_once implode(DIRECTORY_SEPARATOR, array( + __DIR__, "..", "..", "vendor", "autoload.php" +)); diff --git a/test/resources/php.ini b/test/resources/php.ini new file mode 100644 index 0000000..5fe6004 --- /dev/null +++ b/test/resources/php.ini @@ -0,0 +1,2 @@ +date.timezone = "UTC" + diff --git a/test/resources/phpunit.xml b/test/resources/phpunit.xml new file mode 100644 index 0000000..770de63 --- /dev/null +++ b/test/resources/phpunit.xml @@ -0,0 +1,72 @@ + + + + + ../../src + + ../../src/PAGI/Application + ../../vendor + + + + + + + ../node + + + ../mock + + + ../spool + + + ../status + + + ../client + + + ../callerid + + + ../channelvars + + + ../cdr + + + ../dialdescriptor + + + ../asterisklogger + + + ../application + + + + + + + diff --git a/test/spool/Test_CallSpool.php b/test/spool/Test_CallSpool.php index 6d58e84..7554970 100644 --- a/test/spool/Test_CallSpool.php +++ b/test/spool/Test_CallSpool.php @@ -94,9 +94,7 @@ public function setUp() $mockRename = false; $mockTempnam = false; $mockPutContents = false; - $this->_properties = array( - 'log4php.properties' => RESOURCES_DIR . DIRECTORY_SEPARATOR . 'log4php.properties' - ); + $this->_properties = array(); } /** From bc80533af85ba9f67e1cfd4df84d4f12e3870ffe Mon Sep 17 00:00:00 2001 From: Marcelo Gornstein Date: Sun, 3 Jan 2016 14:00:07 -0300 Subject: [PATCH 2/8] fixing cs warnings --- src/PAGI/Application/PAGIApplication.php | 16 +- src/PAGI/Application/PAGILauncher.php | 3 +- src/PAGI/CDR/Impl/CDRFacade.php | 82 +++---- src/PAGI/CallSpool/CallFile.php | 43 ++-- src/PAGI/CallSpool/ICallSpool.php | 2 +- src/PAGI/CallSpool/Impl/CallSpoolImpl.php | 26 +-- src/PAGI/CallerId/ICallerId.php | 2 +- src/PAGI/CallerId/Impl/CallerIdFacade.php | 12 +- .../ChannelVariables/IChannelVariables.php | 22 +- .../Impl/ChannelVariablesFacade.php | 20 +- src/PAGI/Client/AbstractClient.php | 164 +++++++------- src/PAGI/Client/ChannelStatus.php | 5 +- src/PAGI/Client/IClient.php | 8 +- src/PAGI/Client/Impl/ClientImpl.php | 54 ++--- src/PAGI/Client/Impl/MockedClientImpl.php | 21 +- src/PAGI/Client/Result/AmdResult.php | 22 +- src/PAGI/Client/Result/DataReadResult.php | 8 +- src/PAGI/Client/Result/DialResult.php | 50 ++--- src/PAGI/Client/Result/DigitReadResult.php | 37 ++- src/PAGI/Client/Result/ExecResult.php | 2 +- src/PAGI/Client/Result/FaxResult.php | 72 +++--- src/PAGI/Client/Result/IReadResult.php | 4 +- src/PAGI/Client/Result/IResult.php | 2 +- .../Client/Result/ReadResultDecorator.php | 26 +-- src/PAGI/Client/Result/RecordResult.php | 40 ++-- src/PAGI/Client/Result/Result.php | 38 ++-- src/PAGI/Client/Result/ResultDecorator.php | 24 +- .../DialDescriptor/DAHDIDialDescriptor.php | 2 - src/PAGI/DialDescriptor/DialDescriptor.php | 5 +- .../DialDescriptor/LocalDialDescriptor.php | 92 ++++---- src/PAGI/DialDescriptor/SIPDialDescriptor.php | 1 - .../Asterisk/Impl/AsteriskLoggerImpl.php | 28 +-- src/PAGI/Node/MockedNode.php | 22 +- src/PAGI/Node/Node.php | 212 +++++++++--------- 34 files changed, 589 insertions(+), 578 deletions(-) diff --git a/src/PAGI/Application/PAGIApplication.php b/src/PAGI/Application/PAGIApplication.php index b77ff99..ddf59e2 100644 --- a/src/PAGI/Application/PAGIApplication.php +++ b/src/PAGI/Application/PAGIApplication.php @@ -56,28 +56,28 @@ abstract class PAGIApplication * AGI Client. * @var IClient */ - private $_agiClient; + private $agiClient; /** * Called to initialize the application * * @return void */ - public abstract function init(); + abstract public function init(); /** * Called when PHPvm is shutting down. * * @return void */ - public abstract function shutdown(); + abstract public function shutdown(); /** * Called to run the application, after calling init(). * * @return void */ - public abstract function run(); + abstract public function run(); /** * Your error handler. Be careful when implementing this one. @@ -89,7 +89,7 @@ public abstract function run(); * * @return boolean */ - public abstract function errorHandler($type, $message, $file, $line); + abstract public function errorHandler($type, $message, $file, $line); /** * Your signal handler. Be careful when implementing this one. @@ -98,7 +98,7 @@ public abstract function errorHandler($type, $message, $file, $line); * * @return void */ - public abstract function signalHandler($signal); + abstract public function signalHandler($signal); /** * Returns AGI Client. @@ -107,7 +107,7 @@ public abstract function signalHandler($signal); */ protected function getAgi() { - return $this->_agiClient; + return $this->agiClient; } /** @@ -134,7 +134,7 @@ public function setLogger(LoggerInterface $logger) public function __construct(array $properties = array()) { $this->logger = new NullLogger; - $this->_agiClient = $properties['pagiClient']; + $this->agiClient = $properties['pagiClient']; register_shutdown_function(array($this, 'shutdown')); $signalHandler = array($this, 'signalHandler'); pcntl_signal(SIGINT, $signalHandler); diff --git a/src/PAGI/Application/PAGILauncher.php b/src/PAGI/Application/PAGILauncher.php index b13d384..e525e32 100644 --- a/src/PAGI/Application/PAGILauncher.php +++ b/src/PAGI/Application/PAGILauncher.php @@ -37,8 +37,7 @@ $appName = getenv('PAGIApplication'); $bootstrap = getenv('PAGIBootstrap'); $myApp = ''; -try -{ +try { include_once $bootstrap; if (!class_exists($appName, true)) { diff --git a/src/PAGI/CDR/Impl/CDRFacade.php b/src/PAGI/CDR/Impl/CDRFacade.php index bc26049..07cce18 100644 --- a/src/PAGI/CDR/Impl/CDRFacade.php +++ b/src/PAGI/CDR/Impl/CDRFacade.php @@ -5,24 +5,24 @@ * can be accessed just like channel variables. The following builtin variables * are available and, unless specified, read-only. * - * ${CDR(clid)} Caller ID - * ${CDR(src)} Source - * ${CDR(dst)} Destination - * ${CDR(dcontext)} Destination context - * ${CDR(channel)} Channel name - * ${CDR(dstchannel)} Destination channel - * ${CDR(lastapp)} Last app executed - * ${CDR(lastdata)} Last app's arguments - * ${CDR(start)} Time the call started. - * ${CDR(answer)} Time the call was answered. - * ${CDR(end)} Time the call ended. - * ${CDR(duration)} Duration of the call. - * ${CDR(billsec)} Duration of the call once it was answered. - * ${CDR(disposition)} ANSWERED, NO ANSWER, BUSY - * ${CDR(amaflags)} DOCUMENTATION, BILL, IGNORE etc - * ${CDR(accountcode)} The channel's account code (read-write). - * ${CDR(uniqueid)} The channel's unique id. - * ${CDR(userfield)} The channels uses specified field (read-write). + * ${CDR(clid)} Caller ID + * ${CDR(src)} Source + * ${CDR(dst)} Destination + * ${CDR(dcontext)} Destination context + * ${CDR(channel)} Channel name + * ${CDR(dstchannel)} Destination channel + * ${CDR(lastapp)} Last app executed + * ${CDR(lastdata)} Last app's arguments + * ${CDR(start)} Time the call started. + * ${CDR(answer)} Time the call was answered. + * ${CDR(end)} Time the call ended. + * ${CDR(duration)} Duration of the call. + * ${CDR(billsec)} Duration of the call once it was answered. + * ${CDR(disposition)} ANSWERED, NO ANSWER, BUSY + * ${CDR(amaflags)} DOCUMENTATION, BILL, IGNORE etc + * ${CDR(accountcode)} The channel's account code (read-write). + * ${CDR(uniqueid)} The channel's unique id. + * ${CDR(userfield)} The channels uses specified field (read-write). * * * In addition, you can set your own extra variables with a traditional @@ -70,24 +70,24 @@ * can be accessed just like channel variables. The following builtin variables * are available and, unless specified, read-only. * - * ${CDR(clid)} Caller ID - * ${CDR(src)} Source - * ${CDR(dst)} Destination - * ${CDR(dcontext)} Destination context - * ${CDR(channel)} Channel name - * ${CDR(dstchannel)} Destination channel - * ${CDR(lastapp)} Last app executed - * ${CDR(lastdata)} Last app's arguments - * ${CDR(start)} Time the call started. - * ${CDR(answer)} Time the call was answered. - * ${CDR(end)} Time the call ended. - * ${CDR(duration)} Duration of the call. - * ${CDR(billsec)} Duration of the call once it was answered. - * ${CDR(disposition)} ANSWERED, NO ANSWER, BUSY - * ${CDR(amaflags)} DOCUMENTATION, BILL, IGNORE etc - * ${CDR(accountcode)} The channel's account code (read-write). - * ${CDR(uniqueid)} The channel's unique id. - * ${CDR(userfield)} The channels uses specified field (read-write). + * ${CDR(clid)} Caller ID + * ${CDR(src)} Source + * ${CDR(dst)} Destination + * ${CDR(dcontext)} Destination context + * ${CDR(channel)} Channel name + * ${CDR(dstchannel)} Destination channel + * ${CDR(lastapp)} Last app executed + * ${CDR(lastdata)} Last app's arguments + * ${CDR(start)} Time the call started. + * ${CDR(answer)} Time the call was answered. + * ${CDR(end)} Time the call ended. + * ${CDR(duration)} Duration of the call. + * ${CDR(billsec)} Duration of the call once it was answered. + * ${CDR(disposition)} ANSWERED, NO ANSWER, BUSY + * ${CDR(amaflags)} DOCUMENTATION, BILL, IGNORE etc + * ${CDR(accountcode)} The channel's account code (read-write). + * ${CDR(uniqueid)} The channel's unique id. + * ${CDR(userfield)} The channels uses specified field (read-write). * * * In addition, you can set your own extra variables with a traditional @@ -114,7 +114,7 @@ class CDRFacade implements ICDR * AGI Client, needed to access cdr data. * @var IClient */ - private $_client; + private $client; /** * (non-PHPdoc) @@ -325,7 +325,7 @@ public function setCustom($name, $value) */ protected function getCDRVariable($name) { - return $this->_client->getFullVariable('CDR(' . $name . ')'); + return $this->client->getFullVariable('CDR(' . $name . ')'); } /** @@ -338,7 +338,7 @@ protected function getCDRVariable($name) */ protected function setCDRVariable($name, $value) { - $this->_client->setVariable('CDR(' . $name . ')', $value); + $this->client->setVariable('CDR(' . $name . ')', $value); } /** @@ -350,6 +350,6 @@ protected function setCDRVariable($name, $value) */ public function __construct(IClient $client) { - $this->_client = $client; + $this->client = $client; } -} \ No newline at end of file +} diff --git a/src/PAGI/CallSpool/CallFile.php b/src/PAGI/CallSpool/CallFile.php index 36dc9db..ee92026 100644 --- a/src/PAGI/CallSpool/CallFile.php +++ b/src/PAGI/CallSpool/CallFile.php @@ -29,6 +29,7 @@ namespace PAGI\CallSpool; use \PAGI\DialDescriptor\DialDescriptor; + /** * A call file facade. * @@ -46,13 +47,13 @@ class CallFile * Parameters. * @var string[] */ - private $_parameters; + private $parameters; /** * Variables. * @var string[] */ - private $_variables; + private $variables; /** * Returns the value for the given parameter. @@ -63,8 +64,8 @@ class CallFile */ protected function getParameter($key) { - if (isset($this->_parameters[$key])) { - return $this->_parameters[$key]; + if (isset($this->parameters[$key])) { + return $this->parameters[$key]; } return false; } @@ -79,7 +80,7 @@ protected function getParameter($key) */ protected function setParameter($key, $value) { - $this->_parameters[$key] = $value; + $this->parameters[$key] = $value; } /** @@ -91,8 +92,8 @@ protected function setParameter($key, $value) */ public function getVariable($key) { - if (isset($this->_variables[$key])) { - return $this->_variables[$key]; + if (isset($this->variables[$key])) { + return $this->variables[$key]; } return false; } @@ -107,7 +108,7 @@ public function getVariable($key) */ public function setVariable($key, $value) { - $this->_variables[$key] = $value; + $this->variables[$key] = $value; } /** @@ -170,7 +171,7 @@ public function setWaitTime($value) * Returns number of retries before failing (not including the initial * attempt, e.g. 0 = total of 1 attempt to make the call). Default is 0. * - * @return integer + * @return integer */ public function getMaxRetries() { @@ -194,7 +195,7 @@ public function setMaxRetries($value) * Returns seconds between retries, Don't hammer an unavailable phone. * Default is 300 (5 min). * - * @return integer + * @return integer */ public function getRetryTime() { @@ -217,7 +218,7 @@ public function setRetryTime($value) /** * Returns account code to use for this call. * - * @return string + * @return string */ public function getAccount() { @@ -239,7 +240,7 @@ public function setAccount($value) /** * Returns context to use for this call when answered. * - * @return string + * @return string */ public function getContext() { @@ -261,7 +262,7 @@ public function setContext($value) /** * Returns priority to use for this call when answered. * - * @return string + * @return string */ public function getPriority() { @@ -283,7 +284,7 @@ public function setPriority($value) /** * Returns extension to use for this call when answered. * - * @return string + * @return string */ public function getExtension() { @@ -408,10 +409,10 @@ public function setArchive($value) public function serialize() { $text = array(); - foreach ($this->_parameters as $k => $v) { + foreach ($this->parameters as $k => $v) { $text[] = $k . ': ' . $v; } - foreach ($this->_variables as $k => $v) { + foreach ($this->variables as $k => $v) { $text[] = 'Set: ' . $k . '=' . $v; } return implode("\n", $text); @@ -461,12 +462,14 @@ public function unserialize($text) * * @return void */ - public function __construct(DialDescriptor $dialDescriptor) { - $this->_parameters = array(); - $this->_variables = array(); + public function __construct(DialDescriptor $dialDescriptor) + { + $this->parameters = array(); + $this->variables = array(); $this->setParameter( - 'Channel', $dialDescriptor->getChannelDescriptor() + 'Channel', + $dialDescriptor->getChannelDescriptor() ); } } diff --git a/src/PAGI/CallSpool/ICallSpool.php b/src/PAGI/CallSpool/ICallSpool.php index cacded0..c0b5596 100644 --- a/src/PAGI/CallSpool/ICallSpool.php +++ b/src/PAGI/CallSpool/ICallSpool.php @@ -50,4 +50,4 @@ interface ICallSpool * @return void */ public function spool(CallFile $call, $schedule = false); -} \ No newline at end of file +} diff --git a/src/PAGI/CallSpool/Impl/CallSpoolImpl.php b/src/PAGI/CallSpool/Impl/CallSpoolImpl.php index 2faaa10..c50ff90 100644 --- a/src/PAGI/CallSpool/Impl/CallSpoolImpl.php +++ b/src/PAGI/CallSpool/Impl/CallSpoolImpl.php @@ -51,36 +51,36 @@ class CallSpoolImpl implements ICallSpool * Where to temporary generate call files. * @var string */ - private $_tmpDir = '/tmp'; + private $tmpDir = '/tmp'; /** * Asterisk spool directory. * @var string */ - private $_spoolDir = '/var/spool/asterisk'; + private $spoolDir = '/var/spool/asterisk'; /** * Current instance. * @var CallSpoolImpl */ - private static $_instance = false; + private static $instance = false; /** * Returns an instance for this spool/ - * + * * @param string[] $options Configuration options. * * @return CallSpoolImpl */ public static function getInstance(array $options = array()) { - if (self::$_instance === false) { + if (self::$instance === false) { $ret = new CallSpoolImpl($options); - self::$_instance = $ret; + self::$instance = $ret; } else { - $ret = self::$_instance; + $ret = self::$instance; } - return self::$_instance; + return self::$instance; } /** @@ -89,7 +89,7 @@ public static function getInstance(array $options = array()) */ public function spool(CallFile $call, $schedule = false) { - $filename = tempnam($this->_tmpDir, 'PAGICallFile'); + $filename = tempnam($this->tmpDir, 'PAGICallFile'); if ($filename === false) { throw new CallSpoolException('Could generate temporary filename'); } @@ -105,7 +105,7 @@ public function spool(CallFile $call, $schedule = false) } $newFilename = implode( DIRECTORY_SEPARATOR, - array($this->_spoolDir, 'outgoing', basename($filename)) + array($this->spoolDir, 'outgoing', basename($filename)) ); $dir = dirname($newFilename); if (!file_exists($dir)) { @@ -131,10 +131,10 @@ public function spool(CallFile $call, $schedule = false) private function __construct(array $options) { if (isset($options['tmpDir'])) { - $this->_tmpDir = $options['tmpDir']; + $this->tmpDir = $options['tmpDir']; } if (isset($options['spoolDir'])) { - $this->_spoolDir = $options['spoolDir']; + $this->spoolDir = $options['spoolDir']; } } -} \ No newline at end of file +} diff --git a/src/PAGI/CallerId/ICallerId.php b/src/PAGI/CallerId/ICallerId.php index ffc158d..6beeb43 100644 --- a/src/PAGI/CallerId/ICallerId.php +++ b/src/PAGI/CallerId/ICallerId.php @@ -140,4 +140,4 @@ public function setNumber($value); * @return void */ public function setCallerPres($presentationMode); -} \ No newline at end of file +} diff --git a/src/PAGI/CallerId/Impl/CallerIdFacade.php b/src/PAGI/CallerId/Impl/CallerIdFacade.php index 5ff0333..6a001f2 100644 --- a/src/PAGI/CallerId/Impl/CallerIdFacade.php +++ b/src/PAGI/CallerId/Impl/CallerIdFacade.php @@ -48,7 +48,7 @@ class CallerIdFacade implements ICallerId * Instance of client to access caller id variables. * @var IClient */ - private $_client; + private $client; /** * (non-PHPdoc) @@ -153,7 +153,7 @@ public function setNumber($value) */ protected function getCallerIdVariable($name) { - return $this->_client->getFullVariable('CALLERID(' . $name . ')'); + return $this->client->getFullVariable('CALLERID(' . $name . ')'); } /** @@ -166,7 +166,7 @@ protected function getCallerIdVariable($name) */ protected function setCallerIdVariable($name, $value) { - $this->_client->setVariable('CALLERID(' . $name . ')', $value); + $this->client->setVariable('CALLERID(' . $name . ')', $value); } /** @@ -175,7 +175,7 @@ protected function setCallerIdVariable($name, $value) */ public function setCallerPres($presentationMode) { - $this->_client->exec('SET', array("CALLERPRES()=$presentationMode")); + $this->client->exec('SET', array("CALLERPRES()=$presentationMode")); } /** @@ -205,6 +205,6 @@ public function __toString() */ public function __construct(IClient $client) { - $this->_client = $client; + $this->client = $client; } -} \ No newline at end of file +} diff --git a/src/PAGI/ChannelVariables/IChannelVariables.php b/src/PAGI/ChannelVariables/IChannelVariables.php index ee30c72..e143686 100644 --- a/src/PAGI/ChannelVariables/IChannelVariables.php +++ b/src/PAGI/ChannelVariables/IChannelVariables.php @@ -208,7 +208,7 @@ public function getArguments(); * Returns the config directory for this running version of asterisk. * Uses environment variable AST_CONFIG_DIR. * - * @return string + * @return string */ public function getDirectoryConfig(); @@ -216,7 +216,7 @@ public function getDirectoryConfig(); * Returns the config file for this running version of asterisk. * Uses environment variable AST_CONFIG_FILE. * - * @return string + * @return string */ public function getConfigFile(); @@ -224,7 +224,7 @@ public function getConfigFile(); * Returns the modules directory for this running version of asterisk. * Uses environment variable AST_MODULE_DIR. * - * @return string + * @return string */ public function getDirectoryModules(); @@ -232,7 +232,7 @@ public function getDirectoryModules(); * Returns the spool directory for this running version of asterisk. * Uses environment variable AST_SPOOL_DIR. * - * @return string + * @return string */ public function getDirectorySpool(); @@ -240,7 +240,7 @@ public function getDirectorySpool(); * Returns the monitor directory for this running version of asterisk. * Uses environment variable AST_MONITOR_DIR. * - * @return string + * @return string */ public function getDirectoryMonitor(); @@ -248,7 +248,7 @@ public function getDirectoryMonitor(); * Returns the var directory for this running version of asterisk. * Uses environment variable AST_VAR_DIR. * - * @return string + * @return string */ public function getDirectoryVar(); @@ -256,7 +256,7 @@ public function getDirectoryVar(); * Returns the data directory for this running version of asterisk. * Uses environment variable AST_DATA_DIR. * - * @return string + * @return string */ public function getDirectoryData(); @@ -264,7 +264,7 @@ public function getDirectoryData(); * Returns the log directory for this running version of asterisk. * Uses environment variable AST_LOG_DIR. * - * @return string + * @return string */ public function getDirectoryLog(); @@ -272,7 +272,7 @@ public function getDirectoryLog(); * Returns the agi directory for this running version of asterisk. * Uses environment variable AST_AGI_DIR. * - * @return string + * @return string */ public function getDirectoryAgi(); @@ -280,7 +280,7 @@ public function getDirectoryAgi(); * Returns the key directory for this running version of asterisk. * Uses environment variable AST_KEY_DIR. * - * @return string + * @return string */ public function getDirectoryKey(); @@ -288,7 +288,7 @@ public function getDirectoryKey(); * Returns the run directory for this running version of asterisk. * Uses environment variable AST_RUN_DIR. * - * @return string + * @return string */ public function getDirectoryRun(); } diff --git a/src/PAGI/ChannelVariables/Impl/ChannelVariablesFacade.php b/src/PAGI/ChannelVariables/Impl/ChannelVariablesFacade.php index 8788c00..0984aac 100644 --- a/src/PAGI/ChannelVariables/Impl/ChannelVariablesFacade.php +++ b/src/PAGI/ChannelVariables/Impl/ChannelVariablesFacade.php @@ -49,13 +49,13 @@ class ChannelVariablesFacade implements IChannelVariables * Channel variables given by asterisk. * @var string[] */ - private $_variables; + private $variables; /** * AGI Arguments (agi_arg_N). * @var string[] */ - private $_arguments; + private $arguments; /** * Returns the given variable. Returns false if not set. @@ -66,10 +66,10 @@ class ChannelVariablesFacade implements IChannelVariables */ protected function getAGIVariable($key) { - if (!isset($this->_variables[$key])) { + if (!isset($this->variables[$key])) { return false; } - return $this->_variables[$key]; + return $this->variables[$key]; } /** @@ -258,7 +258,7 @@ public function getPriority() */ public function getTotalArguments() { - return count($this->_arguments); + return count($this->arguments); } /** @@ -267,8 +267,8 @@ public function getTotalArguments() */ public function getArgument($index) { - if (isset($this->_arguments[$index])) { - return $this->_arguments[$index]; + if (isset($this->arguments[$index])) { + return $this->arguments[$index]; } return false; } @@ -279,7 +279,7 @@ public function getArgument($index) */ public function getArguments() { - return $this->_arguments; + return $this->arguments; } /** @@ -391,7 +391,7 @@ public function getDirectoryRun() */ public function __construct(array $variables, array $arguments) { - $this->_variables = $variables; - $this->_arguments = $arguments; + $this->variables = $variables; + $this->arguments = $arguments; } } diff --git a/src/PAGI/Client/AbstractClient.php b/src/PAGI/Client/AbstractClient.php index 87ed172..ec1d1e9 100644 --- a/src/PAGI/Client/AbstractClient.php +++ b/src/PAGI/Client/AbstractClient.php @@ -68,19 +68,19 @@ abstract class AbstractClient implements IClient * PSR-3 logger. * @var Logger */ - protected $_logger; + protected $logger; /** * Initial channel variables given by asterisk at start. * @var string[] */ - protected $_variables = array(); + protected $variables = array(); /** * Initial arguments given by the user in the dialplan. * @var string[] */ - protected $_arguments = array(); + protected $arguments = array(); protected $cdrInstance = false; protected $channelVariablesInstance = false; @@ -99,7 +99,7 @@ abstract class AbstractClient implements IClient * * @return Result */ - protected abstract function send($text); + abstract protected function send($text); /** * Opens connection to agi. Will also read initial channel variables given @@ -107,14 +107,14 @@ protected abstract function send($text); * * @return void */ - protected abstract function open(); + abstract protected function open(); /** * Closes the connection to agi. * * @return void */ - protected abstract function close(); + abstract protected function close(); /** * Returns a result object given a string (the agi result after executing @@ -128,20 +128,19 @@ protected abstract function close(); */ protected function getResultFromResultString($text) { - if($text == 'HANGUP') { + if ($text == 'HANGUP') { throw new ChannelDownException(new Result('511 asterisk hangup')); } $result = new Result($text); - switch($result->getCode()) - { - case 200: - return $result; - case 511: - throw new ChannelDownException($result); - case 510: - case 520: - default: - break; + switch ($result->getCode()) { + case 200: + return $result; + case 511: + throw new ChannelDownException($result); + case 510: + case 520: + default: + break; } throw new InvalidCommandException($result); } @@ -235,9 +234,10 @@ public function dial($channel, array $options = array()) public function exec($application, array $options = array()) { $cmd = implode( - ' ', array( - 'EXEC', '"' . $application . '"', - '"' . implode(',', $options) . '"' + ' ', + array( + 'EXEC', '"' . $application . '"', + '"' . implode(',', $options) . '"' ) ); return new ExecResult($this->send($cmd)); @@ -273,10 +273,10 @@ public function channelStatus($channel = '') public function streamFile($file, $escapeDigits = '') { $cmd = implode( - ' ', - array( - 'STREAM', 'FILE', '"' . $file . '"', '"' . $escapeDigits . '"' - ) + ' ', + array( + 'STREAM', 'FILE', '"' . $file . '"', '"' . $escapeDigits . '"' + ) ); return new PlayResult(new DigitReadResult($this->send($cmd))); } @@ -288,12 +288,12 @@ public function streamFile($file, $escapeDigits = '') public function record($file, $format, $escapeDigits, $maxRecordTime = -1, $silence = false) { $cmd = implode( - ' ', - array( - 'RECORD', 'FILE', - '"' . $file . '"', '"' . $format . '"', - '"' . $escapeDigits . '"', '"' . $maxRecordTime . '"' - ) + ' ', + array( + 'RECORD', 'FILE', + '"' . $file . '"', '"' . $format . '"', + '"' . $escapeDigits . '"', '"' . $maxRecordTime . '"' + ) ); if ($silence !== false) { $cmd .= ' "s=' . $silence . '"'; @@ -362,13 +362,13 @@ public function getData($file, $maxTime, $maxDigits) { $timeout = false; $cmd = implode( - ' ', - array( - 'GET', 'DATA', - '"' . $file . '"', - '"' . $maxTime . '"', - '"' . $maxDigits . '"' - ) + ' ', + array( + 'GET', 'DATA', + '"' . $file . '"', + '"' . $maxTime . '"', + '"' . $maxDigits . '"' + ) ); return new PlayResult(new DataReadResult($this->send($cmd))); } @@ -379,10 +379,10 @@ public function getData($file, $maxTime, $maxDigits) */ public function getOption($file, $escapeDigits, $maxTime) { - return $this->_playAndRead(implode(' ', array( - 'GET', 'OPTION', - '"' . $file . '"', '"' . $escapeDigits . '"', - '"' . $maxTime . '"' + return $this->playAndRead(implode(' ', array( + 'GET', 'OPTION', + '"' . $file . '"', '"' . $escapeDigits . '"', + '"' . $maxTime . '"' ))); } @@ -392,8 +392,8 @@ public function getOption($file, $escapeDigits, $maxTime) */ public function sayTime($time, $escapeDigits = '') { - return $this->_playAndRead(implode(' ', array( - 'SAY', 'TIME', '"' . $time . '"','"' . $escapeDigits . '"' + return $this->playAndRead(implode(' ', array( + 'SAY', 'TIME', '"' . $time . '"','"' . $escapeDigits . '"' ))); } @@ -403,8 +403,8 @@ public function sayTime($time, $escapeDigits = '') */ public function sayDate($time, $escapeDigits = '') { - return $this->_playAndRead(implode(' ', array( - 'SAY', 'DATE', '"' . $time . '"', '"' . $escapeDigits . '"' + return $this->playAndRead(implode(' ', array( + 'SAY', 'DATE', '"' . $time . '"', '"' . $escapeDigits . '"' ))); } @@ -414,8 +414,8 @@ public function sayDate($time, $escapeDigits = '') */ public function sayDateTime($time, $format, $escapeDigits = '') { - return $this->_playAndRead(implode(' ', array( - 'SAY', 'DATETIME', '"' . $time . '"', '"' . $escapeDigits . '"', '"' . $format . '"' + return $this->playAndRead(implode(' ', array( + 'SAY', 'DATETIME', '"' . $time . '"', '"' . $escapeDigits . '"', '"' . $format . '"' ))); } @@ -425,8 +425,8 @@ public function sayDateTime($time, $format, $escapeDigits = '') */ public function sayDigits($digits, $escapeDigits = '') { - return $this->_playAndRead(implode(' ', array( - 'SAY', 'DIGITS', '"' . $digits . '"', '"' . $escapeDigits . '"' + return $this->playAndRead(implode(' ', array( + 'SAY', 'DIGITS', '"' . $digits . '"', '"' . $escapeDigits . '"' ))); } @@ -436,8 +436,8 @@ public function sayDigits($digits, $escapeDigits = '') */ public function sayNumber($digits, $escapeDigits = '') { - return $this->_playAndRead(implode(' ', array( - 'SAY', 'NUMBER', '"' . $digits . '"', '"' . $escapeDigits . '"' + return $this->playAndRead(implode(' ', array( + 'SAY', 'NUMBER', '"' . $digits . '"', '"' . $escapeDigits . '"' ))); } @@ -447,8 +447,8 @@ public function sayNumber($digits, $escapeDigits = '') */ public function sayAlpha($what, $escapeDigits = '') { - return $this->_playAndRead(implode(' ', array( - 'SAY', 'ALPHA', '"' . $what . '"', '"' . $escapeDigits . '"' + return $this->playAndRead(implode(' ', array( + 'SAY', 'ALPHA', '"' . $what . '"', '"' . $escapeDigits . '"' ))); } @@ -458,12 +458,12 @@ public function sayAlpha($what, $escapeDigits = '') */ public function sayPhonetic($what, $escapeDigits = '') { - return $this->_playAndRead(implode(' ', array( - 'SAY', 'PHONETIC', '"' . $what . '"', '"' . $escapeDigits . '"' + return $this->playAndRead(implode(' ', array( + 'SAY', 'PHONETIC', '"' . $what . '"', '"' . $escapeDigits . '"' ))); } - private function _playAndRead($cmd) + private function playAndRead($cmd) { return new PlayResult(new DigitReadResult($this->send($cmd))); } @@ -527,7 +527,8 @@ public function getVariable($name) public function getFullVariable($name, $channel = false) { $cmd = implode( - ' ', array('GET', 'FULL', 'VARIABLE', '"${' . $name . '}"') + ' ', + array('GET', 'FULL', 'VARIABLE', '"${' . $name . '}"') ); if ($channel !== false) { $cmd .= ' "' . $channel . '"'; @@ -548,12 +549,12 @@ public function setVariable($name, $value) { $this->send( implode( - ' ', - array( - 'SET', 'VARIABLE', - '"' . $name . '"', - '"' . str_replace('"', '\\"', $value) . '"' - ) + ' ', + array( + 'SET', 'VARIABLE', + '"' . $name . '"', + '"' . str_replace('"', '\\"', $value) . '"' + ) ) ); } @@ -568,7 +569,8 @@ public function log($msg, $priority = 'NOTICE') $msg = explode("\n", $msg); foreach ($msg as $line) { $this->exec( - 'LOG', array($priority, str_replace('"', '\\"', $line)) + 'LOG', + array($priority, str_replace('"', '\\"', $line)) ); } @@ -587,7 +589,7 @@ public function consoleLog($msg, $level = 1) continue; } $this->send( - 'VERBOSE "' . str_replace('"', '\\"', $line) . '" ' . $level + 'VERBOSE "' . str_replace('"', '\\"', $line) . '" ' . $level ); } } @@ -608,10 +610,10 @@ public function getAsteriskLogger() public function databaseDel($family, $key) { $cmd = implode( - ' ', - array( - 'DATABASE', 'DELTREE', '"' . $family. '"', '"' . $key . '"' - ) + ' ', + array( + 'DATABASE', 'DELTREE', '"' . $family. '"', '"' . $key . '"' + ) ); $result = $this->send($cmd); if ($result->isResult(0)) { @@ -642,7 +644,8 @@ public function databaseDeltree($family, $key = false) public function databaseGet($family, $key) { $cmd = implode( - ' ', array('DATABASE', 'GET', '"' . $family. '"', '"' . $key . '"') + ' ', + array('DATABASE', 'GET', '"' . $family. '"', '"' . $key . '"') ); $result = $this->send($cmd); if ($result->isResult(0)) { @@ -658,13 +661,13 @@ public function databaseGet($family, $key) public function databasePut($family, $key, $value) { $cmd = implode( - ' ', - array( - 'DATABASE', 'PUT', - '"' . $family . '"', - '"' . $key . '"', - '"' . $value . '"', - ) + ' ', + array( + 'DATABASE', 'PUT', + '"' . $family . '"', + '"' . $key . '"', + '"' . $value . '"', + ) ); $result = $this->send($cmd); if ($result->isResult(0)) { @@ -723,9 +726,9 @@ protected function readEnvironmentVariable($line) unset($variableName[0]); $value = trim(implode('', $variableName)); if (strncmp($key, 'arg_', 4) === 0) { - $this->_arguments[substr($key, 4)] = $value; + $this->arguments[substr($key, 4)] = $value; } else { - $this->_variables[$key] = $value; + $this->variables[$key] = $value; } } @@ -737,7 +740,8 @@ public function getChannelVariables() { if ($this->channelVariablesInstance === false) { $this->channelVariablesInstance = new ChannelVariablesFacade( - $this->_variables, $this->_arguments + $this->variables, + $this->arguments ); } return $this->channelVariablesInstance; diff --git a/src/PAGI/Client/ChannelStatus.php b/src/PAGI/Client/ChannelStatus.php index 8aaa12d..f094a46 100644 --- a/src/PAGI/Client/ChannelStatus.php +++ b/src/PAGI/Client/ChannelStatus.php @@ -99,8 +99,7 @@ class ChannelStatus */ public static function toString($status) { - switch($status) - { + switch ($status) { case self::DOWN_AVAILABLE: return 'Channel is down and available'; case self::DOWN_RESERVED: @@ -121,4 +120,4 @@ public static function toString($status) return false; } } -} \ No newline at end of file +} diff --git a/src/PAGI/Client/IClient.php b/src/PAGI/Client/IClient.php index 03cf07e..bb4f901 100644 --- a/src/PAGI/Client/IClient.php +++ b/src/PAGI/Client/IClient.php @@ -306,7 +306,7 @@ public function setCallerId($name, $number); * @param string $class If is not specified then the default * music on hold class will be used. * - * @return void + * @return void */ public function setMusic($enable, $class = false); @@ -396,9 +396,9 @@ public function sendImage($filename); /** * Cause the channel to automatically hangup at