public function __construct()
 {
     parent::__construct();
     $baseDir = realpath(__DIR__ . '/..');
     $this->addDiamanteDeskRequirement(is_writable($baseDir . '/app/attachments'), 'app/attachments/ directory must be writable', 'Change the permissions of the "<strong>app/attachments/</strong>" directory so that the web server can write into it.');
     $this->addRecommendation($this->IsNpmInstalled(), 'npm package manager is installed', 'Install <strong>npm</strong> package manager.');
     $this->addRecommendation($this->IsGruntAndBowerInstalled(), 'grunt and bower packages are installed', 'Install <strong>grunt and bower</strong> packages.');
 }
 /**
  * {@inheritdoc}
  */
 public function __construct(array $directoriesToCheck = array())
 {
     parent::__construct();
     $this->addPimRequirement(!extension_loaded('php5-mysql'), 'Extension php5-mysql should be installed', 'Install and enable <strong>php5-mysql</strong>');
     if (extension_loaded('php5-mysql')) {
         $this->addPimRequirement(version_compare(mysql_get_client_info(), self::REQUIRED_MYSQL_VERSION, '>='), sprintf('MySQL version must be at least %s', self::REQUIRED_MYSQL_VERSION), sprintf('Install MySQL %s or newer (installed version is %s)', self::REQUIRED_MYSQL_VERSION, mysql_get_client_info()));
     }
     // Check directories
     foreach ($directoriesToCheck as $directoryToCheck) {
         $this->addPimRequirement(is_writable($directoryToCheck), sprintf('%s directory must be writable', $directoryToCheck), sprintf('Change the permissions of the "<strong>%s</strong>" directory', $directoryToCheck));
     }
 }