<?php /* This code is part of FusionDirectory (http://www.fusiondirectory.org/) Copyright (C) 2003-2010 Cajus Pollmeier Copyright (C) 2011-2020 FusionDirectory This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ /*! * \file class_msgPool.inc * Source code for class msgPool */ /*! * \brief This class contains all the messages for the various actions */ class msgPool { /*! * \brief Display that we have no permission to delete an object * * \param string $name Name of the object which will be deleted */ public static function permDelete ($name = '') { if ($name == '') { return htmlescape(_('You have no permission to delete this object!')); } if (!is_array($name)) { return htmlescape(_('You have no permission to delete the object:'))."<br/><br/><i>$name</i>"; } if (count($name) == 1) { return htmlescape(_('You have no permission to delete the object:')).'<br/>'.msgPool::buildList($name); } return htmlescape(_('You have no permission to delete these objects:')).'<br/>'.msgPool::buildList($name); } /*! * \brief Display that we have no permission to create an object * * \param string $name Name of the object which will be created */ public static function permCreate ($name = '') { if ($name == '') { return htmlescape(_('You have no permission to create this object!')); } if (!is_array($name)) { return htmlescape(_('You have no permission to create the object:')).'<br/><br/><i>'.htmlescape($name).'</i>'; } if (count($name) == 1) { return htmlescape(_('You have no permission to create the object:')).'<br/>'.msgPool::buildList($name); } return htmlescape(_('You have no permission to create these objects:')).'<br/>'.msgPool::buildList($name); } /*! * \brief Display that we have no permission to modify an object * * \param string $name Name of the object which cannot be modified (or array of objects names) * \param string $field Name of the field of the object which cannot be modified */ public static function permModify ($name = '', $field = '') { if ($name == '') { return htmlescape(_('You have no permission to modify this object!')); } if (!is_array($name)) { if ($field != '') { return htmlescape(sprintf(_('You have no permission to modify the field "%s" of object "%s"'), $field, $name)); } else { return sprintf(htmlescape(_('You have no permission to modify the object:%s')), '<br/><br/><i>'.htmlescape($name).'</i>'); } } if (count($name) == 1) { return sprintf(htmlescape(_('You have no permission to modify the object:%s')), '<br/>'.msgPool::buildList($name)); } return sprintf(htmlescape(_('You have no permission to modify these objects:%s')), '<br/>'.msgPool::buildList($name)); } /*! * \brief Display that we have no permission to view an object * * \param string $name Name of the object which will be viewed */ public static function permView ($name = '') { if ($name == '') { return htmlescape(_('You have no permission to view this object!')); } if (!is_array($name)) { return htmlescape(_('You have no permission to view the object:'))."<br/><br/><i>".htmlescape($name)."</i>"; } if (count($name) == 1) { return htmlescape(_('You have no permission to view the object:')).'<br/>'.msgPool::buildList($name); } return htmlescape(_('You have no permission to view these objects:')).'<br/>'.msgPool::buildList($name); } /*! * \brief Display that we have no permission to move an object * * \param string $name Name of the object which will be moved */ public static function permMove ($name = '') { if ($name == '') { return htmlescape(_('You have no permission to move this object!')); } if (!is_array($name)) { return htmlescape(_('You have no permission to move the object:'))."<br/><br/><i>".htmlescape($name)."</i>"; } if (count($name) == 1) { return htmlescape(_('You have no permission to move the object:')).'<br/>'.msgPool::buildList($name); } return htmlescape(_('You have no permission to move these objects:')).'<br/>'.msgPool::buildList($name); } /*! * \brief Display field contains reserved keyword * * \param string $name The field which contains reserved keyword */ public static function reserved ($name) { return htmlescape(sprintf(_('The field "%s" contains a reserved keyword!'), $name)); } /*! * \brief Display that a command execution failed in this plugin * * \param string $type Command type * * \param string $command Command name * * \param string $plugin Name of the plugin */ public static function cmdexecfailed ($type, $command = '', $plugin = '') { if ($command == '') { if ($plugin == '') { return htmlescape(sprintf(_('Cannot execute "%s" command!'), $type)); } else { return htmlescape(sprintf(_('Cannot execute "%s" command for plugin %s!'), $type, $plugin)); } } else { if ($plugin == '') { return htmlescape(sprintf(_('Cannot execute "%s" command (%s)!'), $type, $command)); } else { return htmlescape(sprintf(_('Cannot execute "%s" command (%s) for plugin %s!'), $type, $command, $plugin)); } } } /*! * \brief Display error about too larged value * * \param string $name Name of the value * * \param string $min The largest value */ public static function toobig ($name, $min = '') { if ($min == '') { return htmlescape(sprintf(_('Value for "%s" is too large!'), $name)); } else { return htmlescape(sprintf(_('"%s" must be smaller than %s!'), $name, $min)); } } /*! * \brief Display error about too small value * * \param string $name Name of the value * * \param string $min The smallest value */ public static function toosmall ($name, $min = '') { if ($min == '') { return htmlescape(sprintf(_('Value for "%s" is too small!'), $name)); } else { return htmlescape(sprintf(_('"%s" must be %d or above!'), $name, $min)); } } /*! * \brief Display a dependence between two objects * * \param string $name1 First object * * \param string $name2 Second object */ public static function depends ($name1, $name2) { return htmlescape(sprintf(_('"%s" depends on "%s" - please provide both values!'), $name1, $name2)); } /*! * \brief Display error about existing entry in the system * * \param string $name The attribute name * \param string $dn The existing entry dn */ public static function duplicated ($name, $dn = NULL) { if ($dn == NULL) { return htmlescape(sprintf(_('There is already an entry with this "%s" attribute in the system!'), $name)); } else { return htmlescape(sprintf(_('The entry "%s" already uses this "%s" attribute!'), $dn, $name)); } } /*! * \brief Display error about required field empty * * \param string $name Name of the field */ public static function required ($name) { return htmlescape(sprintf(_('The required field "%s" is empty!'), $name)); } /*! * \brief Return error about invalid value * * \param string $name The field name * * \param string $data The submited data * * \param string $example Example of a right submited data */ public static function invalid (string $name, $data = '', string $example = ''): string { if (!is_string($data)) { $data = var_export($data, TRUE); } $error = htmlescape(sprintf(_('The field "%s" contains an invalid value.'), $name)); $error .= '<br/><br/> "'.htmlescape($data).'"'; /* Stylize example */ if ($example !== '') { $error .= '<br/><br/><i>'.htmlescape(sprintf(_('Example: %s'), $example)).'</i> '; } return $error; } /*! * \brief Display about missing PHP extension * * \param string $name The name of the extension */ public static function missingext ($name) { return htmlescape(sprintf(_('Missing %s PHP extension!'), $name)); } /*! * \brief Text for a cancel button * * \param bool $escape Whether to escape the result */ public static function cancelButton ($escape = TRUE) { if ($escape) { return htmlescape(_('Cancel')); } else { return _('Cancel'); } } /*! * \brief Text for a ok button * * \param bool $escape Whether to escape the result */ public static function okButton ($escape = TRUE) { if ($escape) { return htmlescape(_('Ok')); } else { return _('Ok'); } } /*! * \brief Text for an apply button * * \param bool $escape Whether to escape the result */ public static function applyButton ($escape = TRUE) { if ($escape) { return htmlescape(_('Apply')); } else { return _('Apply'); } } /*! * \brief Text for a save button * * \param bool $escape Whether to escape the result */ public static function saveButton ($escape = TRUE) { if ($escape) { return htmlescape(_('Save')); } else { return _('Save'); } } /*! * \brief Text for an add button * * \param bool $escape Whether to escape the result */ public static function addButton ($escape = TRUE) { if ($escape) { return htmlescape(_('Add')); } else { return _('Add'); } } /*! * \brief Text for an delete button * * \param bool $escape Whether to escape the result */ public static function delButton ($escape = TRUE) { if ($escape) { return htmlescape(_('Delete')); } else { return _('Delete'); } } /*! * \brief Text for an edit button * * \param bool $escape Whether to escape the result */ public static function editButton ($escape = TRUE) { if ($escape) { return htmlescape(_('Edit...')); } else { return _('Edit...'); } } /*! * \brief Text for a back button * * \param bool $escape Whether to escape the result */ public static function backButton ($escape = TRUE) { if ($escape) { return htmlescape(_('Back')); } else { return _('Back'); } } /*! * \brief a list from an array * * \param array $data Array with the elements of the list */ public static function buildList ($data) { $objects = '<ul>'; foreach ($data as $key => $value) { if (is_numeric($key)) { $objects .= "<li>\n<i>".htmlescape($value)."</i></li>"; } else { $objects .= "<li>\n".htmlescape($value)." (<i>".htmlescape($key)."</i>)</li>"; } } $objects .= '</ul>'; return $objects; } /*! * \brief Display error about invalid extension from account * * \param string $name Name of the extension */ public static function noValidExtension ($name) { return htmlescape(sprintf(_('This account has no valid %s extensions!'), $name)); } /*! * \brief List the features settings enabled * * \param string $name Name of the setting * * \param array $depends Contains all the settings enabled */ public static function featuresEnabled ($name, $depends = '') { if (($depends == '') || (is_array($depends) && (count($depends) == 0))) { return htmlescape(sprintf(_('This account has %s settings enabled. You can disable them by clicking below.'), $name)); } else { if (is_array($depends)) { $depends = implode(' / ', $depends); } return htmlescape(sprintf(_('This account has %s settings enabled. To disable them, you\'ll need to remove the %s settings first!'), $name, $depends)); } } /*! * \brief List the features settings disabled * * \param string $name Name of the tab * * \param array $depends Tabs this tab depends upon * * \param array $conflicts Tabs this tab conflicts with */ public static function featuresDisabled ($name, array $depends = [], array $conflicts = []) { if (empty($depends) && empty($conflicts)) { return htmlescape(sprintf(_('This account has %s settings disabled. You can enable them by clicking below.'), $name)); } elseif (!empty($depends)) { return htmlescape(sprintf(_('This account has %s settings disabled. To enable them, you\'ll need to add the %s settings first!'), $name, implode(' / ', $depends))); } else { return htmlescape(sprintf(_('This account has %s settings disabled. To enable them, you\'ll need to disable the %s settings first!'), $name, implode(' / ', $conflicts))); } } /*! * \brief Display Add features button * * \param string $name Name of the feature */ public static function addFeaturesButton ($name) { return htmlescape(sprintf(_('Add %s settings'), $name)); } /*! * \brief Display Remove features button * * \param string $name Name of the feature */ public static function removeFeaturesButton ($name) { return htmlescape(sprintf(_('Remove %s settings'), $name)); } /*! * \brief Display : Click the "Edit" button below to change information in this dialog */ public static function clickEditToChange () { return htmlescape(_('Click the "Edit" button on the bottom right corner of the page to edit the fields')); } /*! * \brief Build an array with the months */ public static function months () { return [_('January'), _('February'), _('March'), _('April'), _('May'), _('June'), _('July'), _('August'), _('September'), _('October'), _('November'), _('December')]; } /*! * \brief Build an array with the days of a week. * Start by Sunday */ public static function weekdays () { return [ _('Sunday'), _('Monday'), _('Tuesday'), _('Wednesday'), _('Thursday'), _('Friday'), _('Saturday')]; } /*! * \brief Display LDAP error * * \param string $error Error to display * * \param string $dn the DN * * \param integer $type * * \param string $plugin */ public static function ldaperror ($error, $dn = '', $type = 0, $plugin = '') { /* Assign headline depending on type */ $typemap = [1 => _('read operation'), _('add operation'), _('modify operation'), _('delete operation'), _('search operation'), _('authentication')]; if (isset($typemap[$type])) { $msg = htmlescape(sprintf(_('LDAP %s failed!'), $typemap[$type])); } else { $msg = htmlescape(_('LDAP operation failed!')); } /* Fill DN information */ if ($dn != '') { $msg .= '<br/><br/><i>'.htmlescape(_('Object')).':</i> '.htmlescape($dn); } $msg .= '<br/><br/><i>'.htmlescape(_('Error')).':</i> '.htmlescape($error); return $msg; } /*! * \brief Display error about an incorrect upload * * \param string $reason The reason of the upload failed */ public static function incorrectUpload ($reason = '') { if ($reason == '') { return htmlescape(_('Upload failed!')); } return sprintf(htmlescape(_('Upload failed: %s')), '<br/><br/><i>'.htmlescape($reason).'</i>'); } /*! * \brief Display error about communication failure with the infrastructure service * * \param string $error The error of the communication failure */ public static function siError ($error = '') { if ($error == '') { return htmlescape(_('Communication failure with the infrastructure service!')); } return nl2br(htmlescape(sprintf(_("Communication failure with the infrastructure service:\n\nError: %s"), $error))); } /*! * \brief Display checking for a support * * \param string $what Name of the support */ public static function checkingFor ($what) { return htmlescape(sprintf(_('Checking for %s support'), $what)); } /*! * \brief Display install or activate a PHP module * * \param string $what Name of the module */ public static function installPhpModule ($what) { return htmlescape(sprintf(_('Install and activate the %s PHP module.'), $what)); } /*! * \brief Display error when checking the base */ public static function check_base () { return htmlescape(_('The supplied base is not valid and has been reset to the previous value!')); } }