You are here

public static function InstapageCmsPluginConnector::getPluginRequirements in Instapage plugin 8.3

Same name and namespace in other branches
  1. 7.3 core/connectors/InstapageCmsPluginConnector.php \InstapageCmsPluginConnector::getPluginRequirements()

Gets requirements section for settings module

@uses self::getMySQLVersion() @uses self::isAPIAccessible() @uses self::areSEOFriendlyUrlsEnabled() @uses self::lang() @uses InstapageCmsPluginHelper::getRawVersion() @uses InstapageCmsPluginHelper::isRegularMySQL() @uses InstapageCmsPluginHelper::isMariaDBMySQL()

Parameters

array $features:

Return value

string HTML

3 calls to InstapageCmsPluginConnector::getPluginRequirements()
InstapageCmsPluginDrupal7Connector::getSettingsModule in core/connectors/InstapageCmsPluginDrupal7Connector.php
Gets the settings module, a CMS-dependant part of the Settings page. @uses InstapageCmsPluginConnector::getCmsVersion() @uses InstapageCmsPluginConnector::getPluginRequirements()
InstapageCmsPluginDrupal8Connector::getSettingsModule in core/connectors/InstapageCmsPluginDrupal8Connector.php
Gets the settings module, a CMS-dependant part of the Settings page. @uses InstapageCmsPluginConnector::getCmsVersion() @uses InstapageCmsPluginConnector::getPluginRequirements()
InstapageCmsPluginWPConnector::getSettingsModule in core/connectors/InstapageCmsPluginWPConnector.php
Gets the settings module, a CMS-dependant part of the Settings page. @uses InstapageCmsPluginConnector::getCmsVersion() @uses InstapageCmsPluginConnector::lang() @uses InstapageCmsPluginConnector::getPluginRequirements()

File

core/connectors/InstapageCmsPluginConnector.php, line 378

Class

InstapageCmsPluginConnector
Main connector class, used to integrate with PHP-based CMSes. It's job is to detect a CMS that executes the code and select proper CMS Connector.

Code

public static function getPluginRequirements($features) {
  $dbVersion = InstapageCmsPluginConnector::getMySQLVersion();
  $commonFeatures = array(
    array(
      'label' => InstapageCmsPluginConnector::lang('PHP 5.5+'),
      'condition' => version_compare(phpversion(), '5.5.0', '>='),
    ),
    array(
      'label' => InstapageCmsPluginConnector::lang('MySQL 5.5.3+ / MariaDB 5.5+'),
      'condition' => InstapageCmsPluginHelper::isRegularMySQL($dbVersion) && version_compare(InstapageCmsPluginHelper::getRawVersion($dbVersion), '5.5.3', '>=') || InstapageCmsPluginHelper::isMariaDBMySQL($dbVersion) && version_compare(InstapageCmsPluginHelper::getRawVersion($dbVersion), '5.5.0', '>='),
    ),
    array(
      'label' => InstapageCmsPluginConnector::lang('PHP Curl extension or another way to make remote requests'),
      'condition' => InstapageCmsPluginConnector::isAPIAccessible(),
    ),
    array(
      'label' => InstapageCmsPluginConnector::lang('Enabled clean / SEO friendly URLs'),
      'condition' => InstapageCmsPluginConnector::areSEOFriendlyUrlsEnabled(),
    ),
    array(
      'label' => InstapageCmsPluginConnector::lang('Every request for landing page requires a request to our page server (' . InstapageCmsPluginConnector::getURLWithSelectedProtocol(INSTAPAGE_ENTERPRISE_ENDPOINT) . ') and this URL has to be accessible.'),
      'condition' => InstapageCmsPluginConnector::isAPIAccessible(),
    ),
  );
  $features = array_merge($features, $commonFeatures);
  ob_start();
  ?>
    <div class="custom-params-form ui-section">
      <h3 class="ui-subtitle"><?php

  echo InstapageCmsPluginConnector::lang('Plugin requirements');
  ?></h3>
      <p class="l-space-bottom-primary"><?php

  echo InstapageCmsPluginConnector::lang('Instapage plugin requires following settings to work correctly:');
  ?></p>
      <ul class="c-list">
        <?php

  foreach ($features as $feature) {
    ?>
          <li class="c-list-item">
            &ndash; <span class="<?php

    echo $feature['condition'] ? 'u-text--success' : 'u-text--danger';
    ?>">
              <?php

    echo $feature['label'];
    ?>
            </span>
          </li>
        <?php

  }
  ?>
      </ul>
    </div>
    <?php

  $html = ob_get_contents();
  ob_end_clean();
  return $html;
}