Overview

Namespaces

  • AnalyseModule
    • Models
  • BaseModule
    • Exceptions
    • Models
    • Repository
    • Services
  • DispatchModule
    • Helpers
    • Models
    • Tools
  • PredictModule
  • SearchModule

Classes

  • AnalyseModule\AnalysePresenter
  • AnalyseModule\ConservancyPresenter
  • AnalyseModule\Models\BaseTool
  • AnalyseModule\Models\ConservancyComparator
  • BaseModule\BasePresenter
  • BaseModule\DiscoveredViewReflection
  • BaseModule\ErrorPresenter
  • BaseModule\Form
  • BaseModule\HomepagePresenter
  • BaseModule\Models\BaseModel
  • BaseModule\Models\FileModel
  • BaseModule\PesekPresenter
  • BaseModule\Repository\BaseRepository
  • BaseModule\Repository\TestRepository
  • BaseModule\RouterFactory
  • BaseModule\RssPresenter
  • BaseModule\Services\Authenticator
  • BaseModule\Services\BaseService
  • BaseModule\Services\DbService
  • DispatchModule\BaseMatch
  • DispatchModule\BaseParser
  • DispatchModule\BlastMatch
  • DispatchModule\BlatMatch
  • DispatchModule\Helpers\RnaplotHelper
  • DispatchModule\Helpers\TravelerHelper
  • DispatchModule\Models\BaseModel
  • DispatchModule\Models\BlastModel
  • DispatchModule\Models\BlastXMLParser
  • DispatchModule\Models\BlatModel
  • DispatchModule\Models\Cppredict2Model
  • DispatchModule\Models\CppredictModel
  • DispatchModule\Models\FastaModel
  • DispatchModule\Models\FileModel
  • DispatchModule\PredictParser
  • DispatchModule\ResultSet
  • DispatchModule\SearchParser
  • DispatchModule\Sequence
  • DispatchModule\Tools\AnnotationDbTool
  • DispatchModule\Tools\BaseTool
  • DispatchModule\Tools\Cppredict2Tool
  • DispatchModule\Tools\DbTool
  • DispatchModule\Tools\SimilarityTool
  • DispatchModule\Tools\TaxonomyDbTool
  • PredictModule\PredictPresenter
  • SearchModule\SearchPresenter

Interfaces

  • DispatchModule\Tools\ToolInterface

Exceptions

  • BaseModule\Exceptions\BaseException
  • BaseModule\Exceptions\NotFoundException
  • BaseModule\Exceptions\ToolException
  • Overview
  • Namespace
  • Class
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 
<?php

namespace BaseModule;

/**
 * Form is extension of standard \Nette\Application\UI\Form,
 * it additionally supports adding inputs with type specified in argument
 */
class Form extends \Nette\Application\UI\Form {

    /**
     * Array of added inputs (to prevent multiple added names)
     * @var array
     */
    private $inputs = array();

    /**
     * Adds input specified in argument
     *
     * @param string $originalName
     * @param string $type
     * @param string $label
     * @param string $namePrefix prefix that will be added to input & it's modifiers
     * @param mixed $params
     * @return string whole input name (on success)
     */
    public function addInput($originalName, $type = 'text', $label = '', $namePrefix = '', $params = null) {
        $name = $namePrefix . '_' . $originalName;

        // if input already exists, do not add it again
        if (in_array($name, $this->inputs)) {
            return false;
        }

        // if input has modifiers, add them as well (recursively)
        if ($params !== null && array_key_exists('modifiers', $params)) {
            foreach ($params['modifiers'] as $key => $input) {
                $this->addInput($key, $input[0], $input[1], $namePrefix, $input[2]);
            }
        }

        array_push($this->inputs, $name);
        switch ($type) {
            case 'hidden':
                // hidden with value
                if (isset($params['value'])) {
                    $this->addHidden($name, $params['value']);
                } else {
                    $this->addHidden($name);
                }
                break;
            case 'text':
                $placeHolder = isset($params['placeholder']) ? $params['placeholder'] : '';
                $this->addText($name, $label)->setAttribute('placeholder', $placeHolder);
                break;
            case 'textarea':
                $placeHolder = isset($params['placeholder']) ? $params['placeholder'] : '';
                $this->addTextArea($name, $label)->setAttribute('placeholder', $placeHolder);
                break;
            case 'select':
                // select requires items parameter
                if (empty($params['items'])) {
                    // badly filled parameters, add textbox instead
                    $this->addText($name, $label);
                } else {
                    $this->addSelect($name, $label, $params['items']);
                }
                break;
            case 'file':
                $this->addUpload($name, $label);
                break;
            case'checkbox':
                if (isset($params['default']) && $params['default'] == 'checked') {
                    $this->addCheckbox($name, $label)->setDefaultValue('checked');
                } else {
                    $this->addCheckbox($name, $label);
                }
        }

        return $name;
    }

}
API documentation generated by ApiGen