Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 5 additions & 37 deletions src/AppBundle/Resources/public/js/main-form.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ function doMainFormMagic() {
});

// Select PHP extensions based on service choices
var checkboxPrefix = 'project_';
var extensionServices = [];
var extensionMultiSelects = $('[id^=project_phpOptions_phpExtensions]');
let checkboxPrefix = 'project_';
let extensionServices = [];
let extensionMultiSelects = $('[id^=project_phpOptions_phpExtensions]');
extensionServices['hasRedis'] = 'Redis';
extensionServices['hasMemcached'] = 'Memcached';
extensionServices['mysqlOptions_hasMysql'] = 'MySQL';
Expand Down Expand Up @@ -114,40 +114,8 @@ function doMainFormMagic() {
}
});

// Phalcon is not supported by PHP 7.4 yet - proper jquery spaghetti, remove as soon as 7.4 is supported
/*** HACK ***/
var applicationType = $('#project_applicationOptions_applicationType');
var form = $('#generator');
var hiddenFieldId = 'hidden-phpversion';

applicationType.change(function () {
var hiddenField = $('#' + hiddenFieldId);

if ($(this).val() === 'phalcon') {
if (phpVersionSelector.val() === '7.4.x') {
phpVersionSelector.val('7.3.x').change()
phpVersionSelector.parent().parent().effect('bounce')

$('<input>').attr('type', 'hidden').appendTo(form).attr('id', hiddenFieldId).attr('name', phpVersionSelector.attr('name')).val(phpVersionSelector.val())
}

phpVersionSelector.children().each(function () {
if (this.value === '7.4.x') {
$(this).prop('disabled', true)
}
})
} else {
phpVersionSelector.children().each(function () {
if (this.value === '7.4.x') {
$(this).prop('disabled', false);
}
});

hiddenField.remove();
}
});

/*** END OF HACK ***/
const form = $('#generator');
const hiddenFieldId = 'hidden-phpversion';

phpVersionSelector.change(function () {
var hiddenField = $('#' + hiddenFieldId);
Expand Down
3 changes: 3 additions & 0 deletions src/AppBundle/Resources/views/Generator/generator.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
<div class="col col-lg-6 col-md-6">{{ form_row(attribute(form.applicationOptions, field)) }}</div>
{% endfor %}
</div>
<div class="col col-lg-6 col-md-6 note">
<p>Note: if you want to use Phalcon, select "generic" application, type then look for Phalcon on the list of PHP extensions.</p>
</div>
</div>
</div>

Expand Down
2 changes: 2 additions & 0 deletions src/PHPDocker/PhpExtension/Php72AvailableExtensions.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ protected function getOptionalExtensionsMap(): array
'MongoDB' => ['packages' => ['php7.2-mongodb']],
'MessagePack/msgpack' => ['packages' => ['php7.2-msgpack']],
'ODBC' => ['packages' => ['php7.2-odbc']],
'Phalcon3' => ['packages' => ['php7.2-phalcon3']],
'Phalcon4' => ['packages' => ['php7.2-phalcon4', 'php7.2-psr']],
'PHPDBG' => ['packages' => ['php7.2-phpdbg']],
'PSpell' => ['packages' => ['php7.2-pspell']],
'raphf' => ['packages' => ['php7.2-raphf']],
Expand Down
2 changes: 2 additions & 0 deletions src/PHPDocker/PhpExtension/Php73AvailableExtensions.php
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ protected function getOptionalExtensionsMap(): array
'MessagePack/msgpack' => ['packages' => ['php7.3-msgpack']],
'ODBC' => ['packages' => ['php7.3-odbc']],
'PHPDBG' => ['packages' => ['php7.3-phpdbg']],
'Phalcon3' => ['packages' => ['php7.3-phalcon3']],
'Phalcon4' => ['packages' => ['php7.3-phalcon4', 'php7.3-psr']],
'PSpell' => ['packages' => ['php7.3-pspell']],
'raphf' => ['packages' => ['php7.3-raphf']],
'Recode' => ['packages' => ['php7.3-recode']],
Expand Down
1 change: 1 addition & 0 deletions src/PHPDocker/PhpExtension/Php74AvailableExtensions.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ protected function getOptionalExtensionsMap(): array
'MessagePack/msgpack' => ['packages' => ['php7.4-msgpack']],
'ODBC' => ['packages' => ['php7.4-odbc']],
'PHPDBG' => ['packages' => ['php7.4-phpdbg']],
'Phalcon4' => ['packages' => ['php7.4-phalcon4', 'php7.4-psr']],
'PSpell' => ['packages' => ['php7.4-pspell']],
'raphf' => ['packages' => ['php7.4-raphf']],
'SNMP' => ['packages' => ['php7.4-snmp']],
Expand Down
10 changes: 4 additions & 6 deletions src/PHPDocker/Project/ServiceOptions/Application.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,16 @@ class Application
/**
* Supported application types
*/
const APPLICATION_TYPE_SYMFONY = 'symfony';
const APPLICATION_TYPE_PHALCON = 'phalcon';
const APPLICATION_TYPE_GENERIC = 'generic';
const APPLICATION_TYPE_SILEX = 'silex';
private const APPLICATION_TYPE_SYMFONY = 'symfony';
private const APPLICATION_TYPE_GENERIC = 'generic';
private const APPLICATION_TYPE_SILEX = 'silex';

/**
* Allowed application types with short description
*/
const ALLOWED_APPLICATION_TYPES = [
private const ALLOWED_APPLICATION_TYPES = [
self::APPLICATION_TYPE_GENERIC => 'Generic: Symfony 4, Zend, Laravel, Lumen...',
self::APPLICATION_TYPE_SYMFONY => 'Symfony 2/3',
self::APPLICATION_TYPE_PHALCON => 'Phalcon 3',
self::APPLICATION_TYPE_SILEX => 'Silex',
];

Expand Down
22 changes: 0 additions & 22 deletions src/PHPDocker/Template/dockerfile-php-fpm.conf.twig
Original file line number Diff line number Diff line change
Expand Up @@ -33,26 +33,4 @@ RUN apt-get update \
&& {{ cleanupCommand }}
{% endif %}

{% if applicationType == 'phalcon' %}
{% spaceless %}
{% if phpVersion == '5.6.x' %}
{% set phalconPackage = 'php5-phalcon' %}
{% elseif phpVersion == '7.0.x' %}
{% set phalconPackage = 'php7.0-phalcon' %}
{% elseif phpVersion == '7.1.x' %}
{% set phalconPackage = 'php7.1-phalcon' %}
{% elseif phpVersion == '7.2.x' %}
{% set phalconPackage = 'php7.2-phalcon' %}
{% elseif phpVersion == '7.3.x' %}
{% set phalconPackage = 'php7.3-phalcon' %}
{% elseif phpVersion == '7.4.x' %}
{% set phalconPackage = 'php7.4-phalcon' %}
{% endif %}
{% endspaceless %}

# Install phalcon
RUN curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.deb.sh | bash \
&& apt-get install -y {{ phalconPackage }} \
&& {{ cleanupCommand }}
{% endif %}
{% endspaceless %}