PHP Classes

File: engine/modules/core/form/form.qtags.inc

Recommend this page to a friend!
  Classes of Aldo Tripiciano   Quanta CMS   engine/modules/core/form/form.qtags.inc   Download  
File: engine/modules/core/form/form.qtags.inc
Role: Example script
Content type: text/plain
Description: Example script
Class: Quanta CMS
Manage content that works without a database
Author: By
Last change:
Date: 5 years ago
Size: 2,582 bytes
 

Contents

Class file image Download
<?php

/**
 * Implements INPUT qtag.
 *
 * Renders an input item of a form.
 *
 * @param Environment $env
 * The Environment.
 *
 * @param string $target
 * The qtag's target.
 *
 * @param array $attributes
 * The qtag's attributes.
 *
 * @return string
 * The rendered qtag.
 */
function qtag_INPUT($env, $target, $attributes) {
 
$rendered = '';
 
$form = FormFactory::getForm($env, $target);
 
FormFactory::createInputItem($env, $attributes, $form);
 
$rendered .= str_replace('[INPUT|', '[INPUT_RENDER|', $attributes['tag_full']);
  return
$rendered;
}

/**
 * Implements INPUT_RENDER qtag.
 *
 * Helper qtag, that renders an INPUT after all input items are loaded.
 *
 * @param Environment $env
 * The Environment.
 *
 * @param string $target
 * The qtag's target.
 *
 * @param array $attributes
 * The qtag's attributes.
 *
 * @return string
 * The rendered qtag.
 */
function qtag_INPUT_RENDER($env, $target, $attributes) {

 
$rendered = '';
 
$form = FormFactory::getForm($env, $target);
  if (!(empty(
$attributes['name'])) && !(empty($form->getItem($attributes['name'])))) {

   
$input = $form->getItem($attributes['name']);
    if (
$input->isFirst()) {
     
$rendered .= $form->renderFormOpen();
    }

   
$rendered .= ($form->isValidated()) ? '' : $input->renderFormItem();

    if (
$input->isLast()) {
       
$rendered .= $form->renderFormClose();
    }
  }

  return
$rendered;
}

/**
 * Implements FORM qtag.
 *
 * Renders a form.
 *
 * @param Environment $env
 * The Environment.
 *
 * @param string $target
 * The qtag's target.
 *
 * @param array $attributes
 * The qtag's attributes.
 *
 * @return string
 * The rendered qtag.
 */
function qtag_FORM($env, $target, $attributes) {
 
$form = FormFactory::getForm($env, $target);
 
$form->loadAttributes($attributes);
 
$string = '';
 
// If the form has been submitted, validate it.
 
if ($form->isSubmitted() && ($validate_ok = $form->checkValidate())) {
   
$string = $validate_ok;
  }
  return
$string;
}

/**
 * Implements LIST_VALUES qtag.
 *
 * Use subnodes of a node as possible values for a form item.
 *
 * @param Environment $env
 * The Environment.
 *
 * @param string $target
 * The qtag's target.
 *
 * @param array $attributes
 * The qtag's attributes.
 *
 * @return string
 * The rendered qtag.
 */
function qtag_LIST_VALUES($env, $target, $attributes) {
 
$attributes['editable'] = 'false';
 
$attributes['clean'] = TRUE;
 
$attributes['separator'] = ',';
 
$dirlist = new DirList($env, $target, 'list-values', $attributes, 'form');
    return
$dirlist->render();
}