From 88cbbed4ccffe00b8a0adf72401121c1d213e3a2 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Thu, 19 Mar 2015 13:08:48 -0500 Subject: [PATCH 1/8] Remove divs endings non-existent --- main/template/default/layout/main.tpl | 2 -- main/template/default/layout/show_footer.tpl | 2 -- 2 files changed, 4 deletions(-) diff --git a/main/template/default/layout/main.tpl b/main/template/default/layout/main.tpl index d37549b910..acf2bec370 100755 --- a/main/template/default/layout/main.tpl +++ b/main/template/default/layout/main.tpl @@ -13,8 +13,6 @@ {% if show_footer == true %} - - {% endif %} {% include template ~ "/layout/main_footer.tpl" %} {% endblock %} diff --git a/main/template/default/layout/show_footer.tpl b/main/template/default/layout/show_footer.tpl index 24da11e707..895e00e8e7 100755 --- a/main/template/default/layout/show_footer.tpl +++ b/main/template/default/layout/show_footer.tpl @@ -19,8 +19,6 @@ {% if show_footer == true %} - - {% endif %} From 7f2f3a5da87a78c2c2dd14fb43ce9671d38d1523 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Thu, 19 Mar 2015 13:18:55 -0500 Subject: [PATCH 2/8] Fix show/hide question description --- main/exercice/question.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/exercice/question.class.php b/main/exercice/question.class.php index ecf0669f84..b866cbeb73 100755 --- a/main/exercice/question.class.php +++ b/main/exercice/question.class.php @@ -1254,7 +1254,7 @@ abstract class Question  '.get_lang('EnrichQuestion').' '); - $form->addElement ('html','
'); + $form->addElement ('html',''); From 0e3c6562cac057b7bc02fa21f21224ec5026e10c Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Thu, 19 Mar 2015 13:20:06 -0500 Subject: [PATCH 3/8] Fix add/edit Unique Answer form --- main/exercice/unique_answer.class.php | 69 +++++++++------------------ 1 file changed, 23 insertions(+), 46 deletions(-) diff --git a/main/exercice/unique_answer.class.php b/main/exercice/unique_answer.class.php index 7bb0c32a86..3829ed407a 100755 --- a/main/exercice/unique_answer.class.php +++ b/main/exercice/unique_answer.class.php @@ -61,34 +61,27 @@ class UniqueAnswer extends Question //Scenario $editor_config['Width'] = '250'; $editor_config['Height'] = '110'; - $comment_title = '' . get_lang('Comment') . ''; - $feedback_title = '' . get_lang('Scenario') . ''; + $comment_title = '' . get_lang('Comment') . ''; + $feedback_title = '' . get_lang('Scenario') . ''; } else { - $comment_title = '' . get_lang('Comment') . ''; + $comment_title = '' . get_lang('Comment') . ''; } - $html = ' + $html = '
+ - - - + + + ' . $comment_title . ' ' . $feedback_title . ' - - '; - - $form->addLabel( - get_lang('Answers') . '
', - $html - ); + + + + '; + + $form->addHeader(get_lang('Answers')); + $form->addHtml($html); $defaults = array(); $correct = 0; @@ -278,8 +271,8 @@ class UniqueAnswer extends Question $form->addElement('html', ''); } - $form->addElement('html', '
- ' . get_lang('Number') . ' - - ' . get_lang('True') . ' - - ' . get_lang('Answer') . ' - ' . get_lang('Number') . '' . get_lang('True') . '' . get_lang('Answer') . ' - ' . get_lang('Weighting') . ' -
' . get_lang('Weighting') . '
'); - $form->addElement('html', '
'); + $form->addHtml(''); + $form->addHtml(''); $navigator_info = api_get_navigator(); @@ -308,31 +301,15 @@ class UniqueAnswer extends Question ); } else { //setting the save button here and not in the question class.php - $form->addElement( - 'style_submit_button', - 'lessAnswers', - get_lang('LessAnswer'), - 'class="btn btn-primary"' - ); - $form->addElement( - 'style_submit_button', - 'moreAnswers', - get_lang('PlusAnswer'), - 'class="btn btn-primary"' - ); - $form->addElement( - 'style_submit_button', - 'submitQuestion', - $text, - 'class="' . $class . '"' - ); + $form->addButtonDelete(get_lang('LessAnswer'), 'lessAnswers'); + $form->addButtonCreate(get_lang('PlusAnswer'), 'moreAnswers'); + $form->addButtonSave($text, 'submitQuestion'); } } - $renderer->setElementTemplate('{element} ', 'submitQuestion'); - $renderer->setElementTemplate('{element} ', 'lessAnswers'); - $renderer->setElementTemplate('{element} ', 'moreAnswers'); - $form->addHtml('
'); + $renderer->setElementTemplate('
{element}', 'lessAnswers'); + $renderer->setElementTemplate('{element}', 'moreAnswers'); + $renderer->setElementTemplate('{element}
', 'submitQuestion'); // We check the first radio button to be sure a radio button will be check if ($correct == 0) { From 214accf3275f839a024e336f4abf60fe9559fc51 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Thu, 19 Mar 2015 13:20:59 -0500 Subject: [PATCH 4/8] Update composer.lock --- composer.lock | 619 +++++++++++++++++++++++++------------------------- 1 file changed, 311 insertions(+), 308 deletions(-) diff --git a/composer.lock b/composer.lock index 89bf615af9..2f4fae71e6 100755 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "0f2dd6e4c3c50061a455ff5b91160b38", + "hash": "9412d5125c2c1b803ab2ae7a9e587a4b", "packages": [ { "name": "aferrandini/phpqrcode", @@ -164,243 +164,6 @@ "homepage": "http://elfinder.org", "time": "2015-02-11 11:10:51" }, - { - "name": "behat/behat", - "version": "v2.4.6", - "source": { - "type": "git", - "url": "https://github.com/Behat/Behat.git", - "reference": "f1d2964667cf4b21bb6c2c1564f26829a6954155" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Behat/zipball/f1d2964667cf4b21bb6c2c1564f26829a6954155", - "reference": "f1d2964667cf4b21bb6c2c1564f26829a6954155", - "shasum": "" - }, - "require": { - "behat/gherkin": "~2.2.9", - "php": ">=5.3.1", - "symfony/config": "~2.0", - "symfony/console": "~2.0", - "symfony/dependency-injection": "~2.0", - "symfony/event-dispatcher": "~2.0", - "symfony/finder": "~2.0", - "symfony/translation": "~2.0", - "symfony/yaml": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "~3.7.19" - }, - "suggest": { - "behat/mink-extension": "for integration with Mink testing framework", - "behat/symfony2-extension": "for integration with Symfony2 web framework", - "behat/yii-extension": "for integration with Yii web framework" - }, - "bin": [ - "bin/behat" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "2.4-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\Behat": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Scenario-oriented BDD framework for PHP 5.3", - "homepage": "http://behat.org/", - "keywords": [ - "BDD", - "Behat", - "Symfony2" - ], - "time": "2013-06-06 10:46:48" - }, - { - "name": "behat/gherkin", - "version": "v2.2.9", - "source": { - "type": "git", - "url": "https://github.com/Behat/Gherkin.git", - "reference": "cca2c477921ca38578d6e9759ea5e450f29c2d8f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/cca2c477921ca38578d6e9759ea5e450f29c2d8f", - "reference": "cca2c477921ca38578d6e9759ea5e450f29c2d8f", - "shasum": "" - }, - "require": { - "php": ">=5.3.1", - "symfony/finder": ">=2.0,<2.4-dev" - }, - "require-dev": { - "symfony/config": ">=2.0,<2.4-dev", - "symfony/translation": ">=2.0,<2.4-dev", - "symfony/yaml": ">=2.0,<2.4-dev" - }, - "suggest": { - "symfony/config": "If you want to use Config component to manage resources", - "symfony/translation": "If you want to use Symfony2 translations adapter", - "symfony/yaml": "If you want to parse features, represented in YAML files" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "2.2-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\Gherkin": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Gherkin DSL parser for PHP 5.3", - "homepage": "http://behat.org/", - "keywords": [ - "BDD", - "Behat", - "DSL", - "Symfony2", - "parser" - ], - "time": "2013-03-02 10:38:40" - }, - { - "name": "behat/mink", - "version": "v1.5.0", - "source": { - "type": "git", - "url": "https://github.com/minkphp/Mink.git", - "reference": "0769e6d9726c140a54dbf827a438c0f9912749fe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/minkphp/Mink/zipball/0769e6d9726c140a54dbf827a438c0f9912749fe", - "reference": "0769e6d9726c140a54dbf827a438c0f9912749fe", - "shasum": "" - }, - "require": { - "php": ">=5.3.1", - "symfony/css-selector": "~2.0" - }, - "suggest": { - "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", - "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", - "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", - "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-develop": "1.5.x-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\Mink": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Web acceptance testing framework for PHP 5.3", - "homepage": "http://mink.behat.org/", - "keywords": [ - "browser", - "testing", - "web" - ], - "time": "2013-04-13 23:39:27" - }, - { - "name": "behat/mink-extension", - "version": "v1.1.4", - "source": { - "type": "git", - "url": "https://github.com/Behat/MinkExtension.git", - "reference": "b4522f19fe96d423883f2e3650615e19d3a48c05" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/MinkExtension/zipball/b4522f19fe96d423883f2e3650615e19d3a48c05", - "reference": "b4522f19fe96d423883f2e3650615e19d3a48c05", - "shasum": "" - }, - "require": { - "behat/behat": "~2.4.5", - "behat/mink": ">=1.4.3,<1.6-dev", - "php": ">=5.3.2" - }, - "require-dev": { - "behat/mink-goutte-driver": "~1.0" - }, - "type": "behat-extension", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\MinkExtension": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Mink extension for Behat", - "homepage": "http://mink.behat.org", - "keywords": [ - "browser", - "gui", - "test", - "web" - ], - "time": "2013-06-04 12:18:22" - }, { "name": "behat/transliterator", "version": "v1.0.1", @@ -852,16 +615,16 @@ }, { "name": "cocur/slugify", - "version": "v1.0", + "version": "v1.1", "source": { "type": "git", "url": "https://github.com/cocur/slugify.git", - "reference": "2c929c56997e663747be9bb635e58db918a0134f" + "reference": "2b67d4e2b75dbaed2ebefa9eb5683e8940513847" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cocur/slugify/zipball/2c929c56997e663747be9bb635e58db918a0134f", - "reference": "2c929c56997e663747be9bb635e58db918a0134f", + "url": "https://api.github.com/repos/cocur/slugify/zipball/2b67d4e2b75dbaed2ebefa9eb5683e8940513847", + "reference": "2b67d4e2b75dbaed2ebefa9eb5683e8940513847", "shasum": "" }, "require": { @@ -870,7 +633,9 @@ "require-dev": { "codeclimate/php-test-reporter": "dev-master", "laravel/framework": "~4.1", + "latte/latte": "~2.2", "mockery/mockery": "~0.9", + "nette/di": "~2.2", "phpunit/phpunit": "~3.7", "sami/sami": "~1.3", "satooshi/php-coveralls": "0.6.*", @@ -908,7 +673,7 @@ "slug", "slugify" ], - "time": "2014-11-26 22:45:14" + "time": "2015-03-18 08:21:30" }, { "name": "doctrine/annotations", @@ -3254,80 +3019,26 @@ "time": "2015-03-13 17:37:22" }, { - "name": "symfony/css-selector", + "name": "symfony/debug", "version": "v2.6.5", - "target-dir": "Symfony/Component/CssSelector", + "target-dir": "Symfony/Component/Debug", "source": { "type": "git", - "url": "https://github.com/symfony/CssSelector.git", - "reference": "86cf0aa16065ffc4545374e9479dd7878bf1d90f" + "url": "https://github.com/symfony/Debug.git", + "reference": "5c1570dea188ade0c6c5e874c2f0a6570587aa1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/CssSelector/zipball/86cf0aa16065ffc4545374e9479dd7878bf1d90f", - "reference": "86cf0aa16065ffc4545374e9479dd7878bf1d90f", + "url": "https://api.github.com/repos/symfony/Debug/zipball/5c1570dea188ade0c6c5e874c2f0a6570587aa1c", + "reference": "5c1570dea188ade0c6c5e874c2f0a6570587aa1c", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "psr/log": "~1.0" }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\CssSelector\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "http://symfony.com", - "time": "2015-02-24 11:52:21" - }, - { - "name": "symfony/debug", - "version": "v2.6.5", - "target-dir": "Symfony/Component/Debug", - "source": { - "type": "git", - "url": "https://github.com/symfony/Debug.git", - "reference": "5c1570dea188ade0c6c5e874c2f0a6570587aa1c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Debug/zipball/5c1570dea188ade0c6c5e874c2f0a6570587aa1c", - "reference": "5c1570dea188ade0c6c5e874c2f0a6570587aa1c", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" }, "require-dev": { "symfony/class-loader": "~2.2", @@ -5333,7 +5044,299 @@ "time": "2014-09-16 22:58:11" } ], - "packages-dev": [], + "packages-dev": [ + { + "name": "behat/behat", + "version": "v2.4.6", + "source": { + "type": "git", + "url": "https://github.com/Behat/Behat.git", + "reference": "f1d2964667cf4b21bb6c2c1564f26829a6954155" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Behat/zipball/f1d2964667cf4b21bb6c2c1564f26829a6954155", + "reference": "f1d2964667cf4b21bb6c2c1564f26829a6954155", + "shasum": "" + }, + "require": { + "behat/gherkin": "~2.2.9", + "php": ">=5.3.1", + "symfony/config": "~2.0", + "symfony/console": "~2.0", + "symfony/dependency-injection": "~2.0", + "symfony/event-dispatcher": "~2.0", + "symfony/finder": "~2.0", + "symfony/translation": "~2.0", + "symfony/yaml": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~3.7.19" + }, + "suggest": { + "behat/mink-extension": "for integration with Mink testing framework", + "behat/symfony2-extension": "for integration with Symfony2 web framework", + "behat/yii-extension": "for integration with Yii web framework" + }, + "bin": [ + "bin/behat" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "2.4-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Behat": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Scenario-oriented BDD framework for PHP 5.3", + "homepage": "http://behat.org/", + "keywords": [ + "BDD", + "Behat", + "Symfony2" + ], + "time": "2013-06-06 10:46:48" + }, + { + "name": "behat/gherkin", + "version": "v2.2.9", + "source": { + "type": "git", + "url": "https://github.com/Behat/Gherkin.git", + "reference": "cca2c477921ca38578d6e9759ea5e450f29c2d8f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/cca2c477921ca38578d6e9759ea5e450f29c2d8f", + "reference": "cca2c477921ca38578d6e9759ea5e450f29c2d8f", + "shasum": "" + }, + "require": { + "php": ">=5.3.1", + "symfony/finder": ">=2.0,<2.4-dev" + }, + "require-dev": { + "symfony/config": ">=2.0,<2.4-dev", + "symfony/translation": ">=2.0,<2.4-dev", + "symfony/yaml": ">=2.0,<2.4-dev" + }, + "suggest": { + "symfony/config": "If you want to use Config component to manage resources", + "symfony/translation": "If you want to use Symfony2 translations adapter", + "symfony/yaml": "If you want to parse features, represented in YAML files" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "2.2-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Gherkin": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Gherkin DSL parser for PHP 5.3", + "homepage": "http://behat.org/", + "keywords": [ + "BDD", + "Behat", + "DSL", + "Symfony2", + "parser" + ], + "time": "2013-03-02 10:38:40" + }, + { + "name": "behat/mink", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/minkphp/Mink.git", + "reference": "0769e6d9726c140a54dbf827a438c0f9912749fe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/minkphp/Mink/zipball/0769e6d9726c140a54dbf827a438c0f9912749fe", + "reference": "0769e6d9726c140a54dbf827a438c0f9912749fe", + "shasum": "" + }, + "require": { + "php": ">=5.3.1", + "symfony/css-selector": "~2.0" + }, + "suggest": { + "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)", + "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation", + "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", + "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "1.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Mink": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Web acceptance testing framework for PHP 5.3", + "homepage": "http://mink.behat.org/", + "keywords": [ + "browser", + "testing", + "web" + ], + "time": "2013-04-13 23:39:27" + }, + { + "name": "behat/mink-extension", + "version": "v1.1.4", + "source": { + "type": "git", + "url": "https://github.com/Behat/MinkExtension.git", + "reference": "b4522f19fe96d423883f2e3650615e19d3a48c05" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/MinkExtension/zipball/b4522f19fe96d423883f2e3650615e19d3a48c05", + "reference": "b4522f19fe96d423883f2e3650615e19d3a48c05", + "shasum": "" + }, + "require": { + "behat/behat": "~2.4.5", + "behat/mink": ">=1.4.3,<1.6-dev", + "php": ">=5.3.2" + }, + "require-dev": { + "behat/mink-goutte-driver": "~1.0" + }, + "type": "behat-extension", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\MinkExtension": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Mink extension for Behat", + "homepage": "http://mink.behat.org", + "keywords": [ + "browser", + "gui", + "test", + "web" + ], + "time": "2013-06-04 12:18:22" + }, + { + "name": "symfony/css-selector", + "version": "v2.6.5", + "target-dir": "Symfony/Component/CssSelector", + "source": { + "type": "git", + "url": "https://github.com/symfony/CssSelector.git", + "reference": "86cf0aa16065ffc4545374e9479dd7878bf1d90f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/CssSelector/zipball/86cf0aa16065ffc4545374e9479dd7878bf1d90f", + "reference": "86cf0aa16065ffc4545374e9479dd7878bf1d90f", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Component\\CssSelector\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "http://symfony.com", + "time": "2015-02-24 11:52:21" + } + ], "aliases": [], "minimum-stability": "stable", "stability-flags": { From 5716e100bfa197523533121ff7ece97538e86502 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Thu, 19 Mar 2015 14:56:22 -0500 Subject: [PATCH 5/8] Minor - Format code --- main/exercice/multiple_answer.class.php | 221 ++++++++++++------------ main/exercice/unique_answer.class.php | 40 ++--- 2 files changed, 127 insertions(+), 134 deletions(-) diff --git a/main/exercice/multiple_answer.class.php b/main/exercice/multiple_answer.class.php index 39516ed3cd..aea4e9d63d 100755 --- a/main/exercice/multiple_answer.class.php +++ b/main/exercice/multiple_answer.class.php @@ -26,126 +26,133 @@ class MultipleAnswer extends Question } /** - * function which redifines Question::createAnswersForm - * @param the formvalidator instance - * @param the answers number to display - */ - function createAnswersForm ($form) + * function which redifines Question::createAnswersForm + * @param the formvalidator instance + * @param the answers number to display + */ + function createAnswersForm($form) { - $nb_answers = isset($_POST['nb_answers']) ? $_POST['nb_answers'] : 4; // The previous default value was 2. See task #1759. - $nb_answers += (isset($_POST['lessAnswers']) ? -1 : (isset($_POST['moreAnswers']) ? 1 : 0)); - - $obj_ex = $_SESSION['objExercise']; - - $html=' - - - - '; - // show column comment when feedback is enable - $html .=''; - $html .= ' - '; - $form -> addElement ('label', get_lang('Answers').'
', $html); - - $defaults = array(); - $correct = 0; - $answer = false; - if(!empty($this -> id)) { - $answer = new Answer($this -> id); - $answer -> read(); - if(count($answer->nbrAnswers)>0 && !$form->isSubmitted()) { - $nb_answers = $answer->nbrAnswers; - } - } - - $form -> addElement('hidden', 'nb_answers'); - $boxes_names = array(); - - if ($nb_answers < 1) { - $nb_answers = 1; - Display::display_normal_message(get_lang('YouHaveToCreateAtLeastOneAnswer')); - } - - for ($i = 1 ; $i <= $nb_answers ; ++$i) { - if(is_object($answer)) { - $defaults['answer['.$i.']'] = $answer -> answer[$i]; - $defaults['comment['.$i.']'] = $answer -> comment[$i]; - $defaults['weighting['.$i.']'] = float_format($answer -> weighting[$i], 1); - $defaults['correct['.$i.']'] = $answer -> correct[$i]; - } else { - $defaults['answer[1]'] = get_lang('DefaultMultipleAnswer2'); - $defaults['comment[1]'] = get_lang('DefaultMultipleComment2'); - $defaults['correct[1]'] = true; - $defaults['weighting[1]'] = 10; - - $defaults['answer[2]'] = get_lang('DefaultMultipleAnswer1'); - $defaults['comment[2]'] = get_lang('DefaultMultipleComment1'); - $defaults['correct[2]'] = false; - $defaults['weighting[2]'] = -5; - } - $renderer = & $form->defaultRenderer(); + $nb_answers = isset($_POST['nb_answers']) ? $_POST['nb_answers'] : 4; // The previous default value was 2. See task #1759. + $nb_answers += (isset($_POST['lessAnswers']) ? -1 : (isset($_POST['moreAnswers']) ? 1 : 0)); - $renderer->setElementTemplate('', 'correct['.$i.']'); - $renderer->setElementTemplate('', 'counter['.$i.']'); - $renderer->setElementTemplate('', 'answer['.$i.']'); - $renderer->setElementTemplate('', 'comment['.$i.']'); - $renderer->setElementTemplate('', 'weighting['.$i.']'); + $obj_ex = $_SESSION['objExercise']; - $answer_number=$form->addElement('text', 'counter['.$i.']', null, 'value="'.$i.'"'); - $answer_number->freeze(); + $html = '
- '.get_lang('Number').' - - '.get_lang('True').' - - '.get_lang('Answer').' - - '.get_lang('Comment').' - - '.get_lang('Weighting').' -
{error}
{element}
{error}
{element}
{error}
{element}
{error}
{element}
{error}
{element}
+ + + + + + + '; + $form->addElement('label', get_lang('Answers') . '
', $html); - $form->addElement('checkbox', 'correct['.$i.']', null, null, 'class="checkbox" style="margin-left: 0em;"'); - $boxes_names[] = 'correct['.$i.']'; + $defaults = array(); + $correct = 0; + $answer = false; + if (!empty($this->id)) { + $answer = new Answer($this->id); + $answer->read(); + if (count($answer->nbrAnswers) > 0 && !$form->isSubmitted()) { + $nb_answers = $answer->nbrAnswers; + } + } - $form->addElement('html_editor', 'answer['.$i.']',null, array(), array('ToolbarSet' => 'TestProposedAnswer', 'Width' => '100%', 'Height' => '100')); - $form->addRule('answer['.$i.']', get_lang('ThisFieldIsRequired'), 'required'); + $form->addElement('hidden', 'nb_answers'); + $boxes_names = array(); - $form->addElement('html_editor', 'comment['.$i.']',null, array(), array('ToolbarSet' => 'TestProposedAnswer', 'Width' => '100%', 'Height' => '100')); + if ($nb_answers < 1) { + $nb_answers = 1; + Display::display_normal_message(get_lang('YouHaveToCreateAtLeastOneAnswer')); + } - $form->addElement('text', 'weighting['.$i.']',null, array('class' => "span1", 'value' => '0')); - $form -> addElement ('html', ''); - } - $form -> addElement ('html', '
' . get_lang('Number') . '' . get_lang('True') . '' . get_lang('Answer') . '' . get_lang('Comment') . '' . get_lang('Weighting') . '
'); - $form -> addElement ('html', '
'); + for ($i = 1; $i <= $nb_answers; ++$i) { + if (is_object($answer)) { + $defaults['answer[' . $i . ']'] = $answer->answer[$i]; + $defaults['comment[' . $i . ']'] = $answer->comment[$i]; + $defaults['weighting[' . $i . ']'] = float_format($answer->weighting[$i], 1); + $defaults['correct[' . $i . ']'] = $answer->correct[$i]; + } else { + $defaults['answer[1]'] = get_lang('DefaultMultipleAnswer2'); + $defaults['comment[1]'] = get_lang('DefaultMultipleComment2'); + $defaults['correct[1]'] = true; + $defaults['weighting[1]'] = 10; + + $defaults['answer[2]'] = get_lang('DefaultMultipleAnswer1'); + $defaults['comment[2]'] = get_lang('DefaultMultipleComment1'); + $defaults['correct[2]'] = false; + $defaults['weighting[2]'] = -5; + } + $renderer = & $form->defaultRenderer(); + + $renderer->setElementTemplate( + '{error}
{element}', + 'correct[' . $i . ']' + ); + $renderer->setElementTemplate( + '{error}
{element}', + 'counter[' . $i . ']' + ); + $renderer->setElementTemplate( + '{error}
{element}', + 'answer[' . $i . ']' + ); + $renderer->setElementTemplate( + '{error}
{element}', + 'comment[' . $i . ']' + ); + $renderer->setElementTemplate( + '{error}
{element}', + 'weighting[' . $i . ']' + ); + + $answer_number = $form->addElement('text', 'counter[' . $i . ']', null, 'value="' . $i . '"'); + $answer_number->freeze(); + + $form->addElement('checkbox', 'correct[' . $i . ']', null, null, + 'class="checkbox" style="margin-left: 0em;"'); + $boxes_names[] = 'correct[' . $i . ']'; + + $form->addElement('html_editor', 'answer[' . $i . ']', null, array(), + array('ToolbarSet' => 'TestProposedAnswer', 'Width' => '100%', 'Height' => '100')); + $form->addRule('answer[' . $i . ']', get_lang('ThisFieldIsRequired'), 'required'); + + $form->addElement('html_editor', 'comment[' . $i . ']', null, array(), + array('ToolbarSet' => 'TestProposedAnswer', 'Width' => '100%', 'Height' => '100')); + + $form->addElement('text', 'weighting[' . $i . ']', null, array('class' => "span1", 'value' => '0')); + $form->addElement('html', ''); + } + $form->addElement('html', ''); + $form->addElement('html', '
'); - $form -> add_multiple_required_rule ($boxes_names , get_lang('ChooseAtLeastOneCheckbox') , 'multiple_required'); + $form->add_multiple_required_rule($boxes_names, get_lang('ChooseAtLeastOneCheckbox'), 'multiple_required'); - global $text, $class; - if ($obj_ex->edit_exercise_in_lp == true) { - // setting the save button here and not in the question class.php - $form->addElement('style_submit_button', 'lessAnswers', get_lang('LessAnswer'),'class="btn minus"'); - $form->addElement('style_submit_button', 'moreAnswers', get_lang('PlusAnswer'),'class="btn plus"'); - $form->addElement('style_submit_button','submitQuestion',$text, 'class="'.$class.'"'); - } + global $text, $class; + if ($obj_ex->edit_exercise_in_lp == true) { + // setting the save button here and not in the question class.php + $form->addElement('style_submit_button', 'lessAnswers', get_lang('LessAnswer'), 'class="btn minus"'); + $form->addElement('style_submit_button', 'moreAnswers', get_lang('PlusAnswer'), 'class="btn plus"'); + $form->addElement('style_submit_button', 'submitQuestion', $text, 'class="' . $class . '"'); + } - $renderer->setElementTemplate('{element} ','lessAnswers'); - $renderer->setElementTemplate('{element} ','submitQuestion'); - $renderer->setElementTemplate('{element} ','moreAnswers'); - $form -> addElement ('html', ''); + $renderer->setElementTemplate('{element} ', 'lessAnswers'); + $renderer->setElementTemplate('{element} ', 'submitQuestion'); + $renderer->setElementTemplate('{element} ', 'moreAnswers'); + $form->addElement('html', ''); - $defaults['correct'] = $correct; + $defaults['correct'] = $correct; - if (!empty($this -> id)) { - $form -> setDefaults($defaults); - } else { - if ($this -> isContent == 1) { - $form -> setDefaults($defaults); - } - } - $form->setConstants(array('nb_answers' => $nb_answers)); - } + if (!empty($this->id)) { + $form->setDefaults($defaults); + } else { + if ($this->isContent == 1) { + $form->setDefaults($defaults); + } + } + $form->setConstants(array('nb_answers' => $nb_answers)); + } /** diff --git a/main/exercice/unique_answer.class.php b/main/exercice/unique_answer.class.php index 3829ed407a..5a4b36ec52 100755 --- a/main/exercice/unique_answer.class.php +++ b/main/exercice/unique_answer.class.php @@ -45,14 +45,14 @@ class UniqueAnswer extends Question //this line defines how many questions by default appear when creating a choice question // The previous default value was 2. See task #1759. - $nb_answers = isset($_POST['nb_answers']) ? (int)$_POST['nb_answers'] : 4; + $nb_answers = isset($_POST['nb_answers']) ? (int) $_POST['nb_answers'] : 4; $nb_answers += (isset($_POST['lessAnswers']) ? -1 : (isset($_POST['moreAnswers']) ? 1 : 0)); /* - Types of Feedback - $feedback_option[0]=get_lang('Feedback'); - $feedback_option[1]=get_lang('DirectFeedback'); - $feedback_option[2]=get_lang('NoFeedback'); + Types of Feedback + $feedback_option[0]=get_lang('Feedback'); + $feedback_option[1]=get_lang('DirectFeedback'); + $feedback_option[2]=get_lang('NoFeedback'); */ $feedback_title = ''; @@ -106,8 +106,7 @@ class UniqueAnswer extends Question } $question = Question::read($questionid); $select_question[$questionid] = 'Q' . $key . ' :' . cut( - $question->selectTitle(), - 20 + $question->selectTitle(), 20 ); } } @@ -201,33 +200,22 @@ class UniqueAnswer extends Question ); $answer_number = $form->addElement( - 'text', - 'counter[' . $i . ']', - null, - ' value = "' . $i . '"' + 'text', 'counter[' . $i . ']', null, ' value = "' . $i . '"' ); $answer_number->freeze(); $form->addElement( - 'radio', - 'correct', - null, - null, - $i, - 'class="checkbox"' + 'radio', 'correct', null, null, $i, 'class="checkbox"' ); - $form->addHtmlEditor('answer[' . $i . ']',null,null,true, $editor_config); + $form->addHtmlEditor('answer[' . $i . ']', null, null, true, $editor_config); $form->addRule( - 'answer[' . $i . ']', - get_lang('ThisFieldIsRequired'), - 'required' + 'answer[' . $i . ']', get_lang('ThisFieldIsRequired'), 'required' ); if ($obj_ex->selectFeedbackType() == EXERCISE_FEEDBACK_TYPE_DIRECT) { - $form->addHtmlEditor('comment[' . $i . ']',null,null,false,$editor_config); + $form->addHtmlEditor('comment[' . $i . ']', null, null, false, $editor_config); // Direct feedback - //Adding extra feedback fields $group = array(); $group['try' . $i] = $form->createElement( @@ -263,11 +251,10 @@ class UniqueAnswer extends Question '{error}
{element}', 'scenario' ); - } else { - $form->addHtmlEditor('comment[' . $i . ']',null,null,false,$editor_config); + $form->addHtmlEditor('comment[' . $i . ']', null, null, false, $editor_config); } - $form->addText('weighting[' . $i . ']', null,null, array('class' => "col-md-1", 'value' => '0')); + $form->addText('weighting[' . $i . ']', null, null, array('class' => "col-md-1", 'value' => '0')); $form->addElement('html', ''); } @@ -327,7 +314,6 @@ class UniqueAnswer extends Question } else { $form->setDefaults(array('correct' => 1)); } - } $form->setConstants(array('nb_answers' => $nb_answers)); } From b1e9d310a1620c2bdc0a850ce09e87e685f526b8 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Thu, 19 Mar 2015 15:09:55 -0500 Subject: [PATCH 6/8] Fix add/edit Multiple Answer form --- main/exercice/multiple_answer.class.php | 44 +++++++++++++++---------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/main/exercice/multiple_answer.class.php b/main/exercice/multiple_answer.class.php index aea4e9d63d..97d83373d4 100755 --- a/main/exercice/multiple_answer.class.php +++ b/main/exercice/multiple_answer.class.php @@ -38,15 +38,21 @@ class MultipleAnswer extends Question $obj_ex = $_SESSION['objExercise']; - $html = ' - - - - - - - '; - $form->addElement('label', get_lang('Answers') . '
', $html); + $form->addHeader(get_lang('Answers')); + + $html = '
' . get_lang('Number') . '' . get_lang('True') . '' . get_lang('Answer') . '' . get_lang('Comment') . '' . get_lang('Weighting') . '
+ + + + + + + + + + '; + + $form->addHtml($html); $defaults = array(); $correct = 0; @@ -68,6 +74,8 @@ class MultipleAnswer extends Question } for ($i = 1; $i <= $nb_answers; ++$i) { + $form->addHtml(''); + if (is_object($answer)) { $defaults['answer[' . $i . ']'] = $answer->answer[$i]; $defaults['comment[' . $i . ']'] = $answer->comment[$i]; @@ -124,23 +132,23 @@ class MultipleAnswer extends Question $form->addElement('text', 'weighting[' . $i . ']', null, array('class' => "span1", 'value' => '0')); $form->addElement('html', ''); } - $form->addElement('html', '
' . get_lang('Number') . '' . get_lang('True') . '' . get_lang('Answer') . '' . get_lang('Comment') . '' . get_lang('Weighting') . '
'); - $form->addElement('html', '
'); + + $form->addHtml(''); + $form->addHtml(''); $form->add_multiple_required_rule($boxes_names, get_lang('ChooseAtLeastOneCheckbox'), 'multiple_required'); global $text, $class; if ($obj_ex->edit_exercise_in_lp == true) { // setting the save button here and not in the question class.php - $form->addElement('style_submit_button', 'lessAnswers', get_lang('LessAnswer'), 'class="btn minus"'); - $form->addElement('style_submit_button', 'moreAnswers', get_lang('PlusAnswer'), 'class="btn plus"'); - $form->addElement('style_submit_button', 'submitQuestion', $text, 'class="' . $class . '"'); + $form->addButtonDelete(get_lang('LessAnswer'), 'lessAnswers'); + $form->addButtonCreate(get_lang('PlusAnswer'), 'moreAnswers'); + $form->addButtonSave($text, 'submitQuestion'); } - $renderer->setElementTemplate('{element} ', 'lessAnswers'); - $renderer->setElementTemplate('{element} ', 'submitQuestion'); - $renderer->setElementTemplate('{element} ', 'moreAnswers'); - $form->addElement('html', ''); + $renderer->setElementTemplate('
{element}', 'lessAnswers'); + $renderer->setElementTemplate('{element}', 'moreAnswers'); + $renderer->setElementTemplate('{element}
', 'submitQuestion'); $defaults['correct'] = $correct; From b7b6257b368a9d13923d743acfb29641aa7a90d8 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Thu, 19 Mar 2015 15:22:36 -0500 Subject: [PATCH 7/8] Use form short for add elements to form --- main/exercice/multiple_answer.class.php | 13 ++++++++----- main/exercice/unique_answer.class.php | 4 ++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/main/exercice/multiple_answer.class.php b/main/exercice/multiple_answer.class.php index 97d83373d4..5c76d0a9c0 100755 --- a/main/exercice/multiple_answer.class.php +++ b/main/exercice/multiple_answer.class.php @@ -32,6 +32,11 @@ class MultipleAnswer extends Question */ function createAnswersForm($form) { + $editorConfig = array( + 'ToolbarSet' => 'TestProposedAnswer', + 'Width' => '100%', + 'Height' => '125' + ); $nb_answers = isset($_POST['nb_answers']) ? $_POST['nb_answers'] : 4; // The previous default value was 2. See task #1759. $nb_answers += (isset($_POST['lessAnswers']) ? -1 : (isset($_POST['moreAnswers']) ? 1 : 0)); @@ -122,15 +127,13 @@ class MultipleAnswer extends Question 'class="checkbox" style="margin-left: 0em;"'); $boxes_names[] = 'correct[' . $i . ']'; - $form->addElement('html_editor', 'answer[' . $i . ']', null, array(), - array('ToolbarSet' => 'TestProposedAnswer', 'Width' => '100%', 'Height' => '100')); + $form->addHtmlEditor("answer[$i]", null, null, true, $editorConfig); $form->addRule('answer[' . $i . ']', get_lang('ThisFieldIsRequired'), 'required'); - $form->addElement('html_editor', 'comment[' . $i . ']', null, array(), - array('ToolbarSet' => 'TestProposedAnswer', 'Width' => '100%', 'Height' => '100')); + $form->addHtmlEditor("comment[$i]", null, null, true, $editorConfig); $form->addElement('text', 'weighting[' . $i . ']', null, array('class' => "span1", 'value' => '0')); - $form->addElement('html', ''); + $form->addHtml(''); } $form->addHtml(''); diff --git a/main/exercice/unique_answer.class.php b/main/exercice/unique_answer.class.php index 5a4b36ec52..355882c50f 100755 --- a/main/exercice/unique_answer.class.php +++ b/main/exercice/unique_answer.class.php @@ -131,7 +131,7 @@ class UniqueAnswer extends Question } for ($i = 1; $i <= $nb_answers; ++$i) { - $form->addElement('html', ''); + $form->addHtml(''); if (isset($answer) && is_object($answer)) { if ($answer->correct[$i]) { $correct = $i; @@ -255,7 +255,7 @@ class UniqueAnswer extends Question $form->addHtmlEditor('comment[' . $i . ']', null, null, false, $editor_config); } $form->addText('weighting[' . $i . ']', null, null, array('class' => "col-md-1", 'value' => '0')); - $form->addElement('html', ''); + $form->addHtml(''); } $form->addHtml(''); From 2c91bb6e9a61b3bbdab562aabc2cf110167cf6ef Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Thu, 19 Mar 2015 15:32:13 -0500 Subject: [PATCH 8/8] User col offset to avoid an empty label --- main/inc/lib/formvalidator/FormValidator.class.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/main/inc/lib/formvalidator/FormValidator.class.php b/main/inc/lib/formvalidator/FormValidator.class.php index 306b07c6a3..e73152d7e1 100755 --- a/main/inc/lib/formvalidator/FormValidator.class.php +++ b/main/inc/lib/formvalidator/FormValidator.class.php @@ -118,8 +118,7 @@ class FormValidator extends HTML_QuickForm $this->setRequiredNote('* ' . get_lang('ThisFieldIsRequired') . ''); $noteTemplate = << -
-
{requiredNote}
+
{requiredNote}
EOT; $renderer->setRequiredNoteTemplate($noteTemplate);