本文整理汇总了PHP中helper::increment方法的典型用法代码示例。如果您正苦于以下问题:PHP helper::increment方法的具体用法?PHP helper::increment怎么用?PHP helper::increment使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类helper
的用法示例。
在下文中一共展示了helper::increment方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: edit
/**
* MODULE : Édition d'une news */
public function edit()
{
// Erreur 404
if (!$this->getData([$this->getUrl(0), $this->getUrl(2)])) {
return false;
} elseif ($this->getPost('submit')) {
// Modifie la clef de la news si le titre a été modifié
$key = $this->getPost('title') ? $this->getPost('title', helper::URL) : $this->getUrl(2);
// Sauvegarde la date de création de la news
$date = $this->getData([$this->getUrl(0), $this->getUrl(2), 'date']);
// Si la clef à changée
if ($key !== $this->getUrl(2)) {
// Incrémente la nouvelle clef de la news pour éviter les doublons
$key = helper::increment($key, $this->getData($this->getUrl(0)));
// Supprime l'ancienne news
$this->removeData([$this->getUrl(0), $this->getUrl(2)]);
}
// Modifie la news ou en crée une nouvelle si la clef a changée
$this->setData([$this->getUrl(0), $key, ['title' => $this->getPost('title', helper::STRING), 'date' => $date, 'content' => $this->getPost('content')]]);
// Enregistre les données
$this->saveData();
// Notification de modification
$this->setNotification('News modifiée avec succès !');
// Redirige vers l'édition de la nouvelle news si la clef à changée ou sinon vers l'ancienne
helper::redirect('module/' . $this->getUrl(0) . '/edit/' . $key);
}
// Contenu de la page
self::$content = template::openForm() . template::openRow() . template::text('title', ['label' => 'Titre de la news', 'value' => $this->getData([$this->getUrl(0), $this->getUrl(2), 'title']), 'required' => 'required']) . template::newRow() . template::textarea('content', ['class' => 'editor', 'value' => $this->getData([$this->getUrl(0), $this->getUrl(2), 'content'])]) . template::newRow() . template::button('back', ['value' => 'Retour', 'href' => helper::baseUrl() . 'module/' . $this->getUrl(0), 'col' => 2]) . template::submit('submit', ['col' => 2, 'offset' => 8]) . template::closeRow();
template::closeForm();
}
示例2: index
/** MODULE : Formulaire */
public function index()
{
// Traitement du formulaire
if ($this->getPost('submit')) {
// Préparation des données (index + 1 comme l'item 0 = champ de copie qui est supprimé à l'enregistrement)
$data = [];
$mail = '';
foreach ($this->getPost('input') as $key => $value) {
// Préparation des données pour la création dans la base
$data[$this->getData([$this->getUrl(0), 'inputs', $key + 1, 'name'])] = $value;
// Préparation des données pour le mail
$mail .= '<li>' . $this->getData([$this->getUrl(0), 'inputs', $key + 1, 'name']) . ' : ' . $value . '</li>';
}
// Crée les données
$this->setData([$this->getUrl(0), 'data', helper::increment(1, $this->getData([$this->getUrl(0), 'data'])), $data]);
// Enregistre les données
$this->saveData();
// Envoi du mail
if ($this->getData([$this->getUrl(0), 'config', 'mail'])) {
helper::mail(false, $this->getData([$this->getUrl(0), 'config', 'mail']), helper::translate('Mail de votre site ZwiiCMS'), '<h1>' . helper::translate('Mail en provenance de votre site ZwiiCMS') . '</h1>' . $mail . '</ul>');
}
// Notification de soumission
$this->setNotification('Formulaire soumis avec succès !');
// Redirige vers la page courante
helper::redirect($this->getUrl());
}
// Génère les inputs
if ($this->getData([$this->getUrl(0), 'inputs'])) {
foreach ($this->getData([$this->getUrl(0), 'inputs']) as $input) {
self::$content .= $this->generateInput($input);
}
// Texte du bouton de validation
$submitText = $this->getData([$this->getUrl(0), 'config', 'button']);
// Ajout du bouton de validation
self::$content .= template::openRow() . template::submit('submit', ['value' => $submitText ? $submitText : 'Enregistrer', 'col' => 2]) . template::closeRow();
}
// Contenu de la page
self::$content = template::openForm() . self::$content . template::closeForm();
}
示例3: edit
/** MODULE : Édition de page */
public function edit()
{
// Erreur 404
if (!$this->getData(['pages', $this->getUrl(0)])) {
return false;
} elseif ($this->getPost('submit')) {
// Modifie la clef de la page si le titre a été modifié
$key = $this->getPost('title') ? $this->getPost('title', helper::URL) : $this->getUrl(0);
// Sauvegarde le module de la page
$module = $this->getData(['pages', $this->getUrl(0), 'module']);
// Si la clef à changée
if ($key !== $this->getUrl(0)) {
// Incrémente la nouvelle clef de la page pour éviter les doublons
$key = helper::increment($key, $this->getData('pages'));
$key = helper::increment($key, self::$modules);
// Evite à une page d'avoir la même clef qu'un module système
// Supprime l'ancienne page
$this->removeData(['pages', $this->getUrl(0)]);
// Crée les nouvelles données du module de la page (avec la nouvelle clef) en copiant les anciennes
$this->setData([$key, $this->getData($this->getUrl(0))]);
// Supprime les données du module de l'ancienne page
$this->removeData($this->getUrl(0));
// Si la page est la page d'accueil, modification la clef dans la configuration du site
if ($this->getData(['config', 'index']) === $this->getUrl(0)) {
$this->setData(['config', 'index', $key]);
}
}
// Change la positions des pages suivantes si la position de la page à changée
$position = $this->getPost('position', helper::INT);
if ($position and $position !== $this->getData(['pages', $this->getUrl(0), 'position'])) {
// Nouvelle position des pages
$newPosition = $position;
// Liste les pages en les triant par position en ordre croissant
$pages = array_flip(helper::arrayCollumn($this->getData('pages'), 'position', 'SORT_ASC', true));
// Incrémente la position des pages suivante
foreach ($pages as $pagePosition => $pageKey) {
if ($pagePosition >= $position) {
$newPosition++;
$this->setData(['pages', $pageKey, 'position', $newPosition]);
}
}
}
// Modifie la page ou en crée une nouvelle si la clef à changée
$this->setData(['pages', $key, ['title' => $this->getPost('title', helper::STRING), 'description' => $this->getPost('description', helper::STRING), 'position' => $position, 'blank' => $this->getPost('blank', helper::BOOLEAN), 'module' => $module, 'content' => $this->getPost('content')]]);
// Supprime l'ancienne page si la clef à changée
if ($key !== $this->getUrl(0)) {
$this->removeData(['pages', $this->getUrl(0)]);
}
// Enregistre les données
$this->saveData($key);
// Notification de modification
$this->setNotification('Page modifiée avec succès !');
// Redirige vers la l'édition de la nouvelle page si la clef à changée ou sinon vers l'ancienne
helper::redirect('edit/' . $key);
}
// Liste les pages en les triant par position
$listPages = ['Ne pas afficher', 'Au début'];
$selected = 0;
$pagePositionPrevious = 1;
$pages = array_flip(helper::arrayCollumn($this->getData('pages'), 'position', 'SORT_ASC', true));
foreach ($pages as $pagePosition => $pageKey) {
// Si la page est la page courante on ne l'affiche pas et on selection l'élément précédent (pas de - 1 à $pagePosition car + 1 dans $listPages)
if ($pageKey === $this->getUrl(0)) {
$selected = $pagePositionPrevious;
} else {
// Ajoute à la liste
$listPages[$pagePosition + 1] = helper::translate('Après') . ' "' . $this->getData(['pages', $pageKey, 'title']) . '"';
// Enregistre la position de cette page afin de la sélectionner si la prochaine page de la liste est la page en train d'être éditée
$pagePositionPrevious = $pagePosition + 1;
}
}
self::$title = $this->getData(['pages', $this->getUrl(0), 'title']);
self::$content = template::openForm() . template::openRow() . template::text('title', ['label' => 'Titre de la page', 'value' => $this->getData(['pages', $this->getUrl(0), 'title']), 'required' => true]) . template::newRow() . template::select('position', $listPages, ['label' => 'Position dans le menu', 'selected' => $selected]) . template::newRow() . template::textarea('content', ['value' => $this->getData(['pages', $this->getUrl(0), 'content']), 'class' => 'editor']) . template::newRow() . template::textarea('description', ['label' => 'Description de la page', 'help' => 'Si le champ est vide, la description du site est utilisée.', 'value' => $this->getData(['pages', $this->getUrl(0), 'description'])]) . template::newRow() . template::hidden('key', ['value' => $this->getUrl(0)]) . template::hidden('oldModule', ['value' => $this->getData(['pages', $this->getUrl(0), 'module'])]) . template::select('module', helper::listModules('Aucun module'), ['label' => 'Inclure le module', 'help' => 'En cas de changement de module, les données du module précédent seront supprimées.', 'selected' => $this->getData(['pages', $this->getUrl(0), 'module']), 'col' => 10]) . template::button('admin', ['value' => 'Administrer', 'href' => helper::baseUrl() . 'module/' . $this->getUrl(0), 'disabled' => $this->getData(['pages', $this->getUrl(0), 'module']) ? '' : 'disabled', 'col' => 2]) . template::newRow() . template::checkbox('blank', true, 'Ouvrir dans un nouvel onglet en mode public', ['checked' => $this->getData(['pages', $this->getUrl(0), 'blank'])]) . template::newRow() . template::button('delete', ['value' => 'Supprimer', 'href' => helper::baseUrl() . 'delete/' . $this->getUrl(0), 'onclick' => 'return confirm(\'' . helper::translate('Êtes-vous sûr de vouloir supprimer cette page ?') . '\');', 'col' => 2, 'offset' => 8]) . template::submit('submit', ['col' => 2]) . template::closeRow() . template::closeForm();
}