/**
  * Component can be tied to specific presenter-action by annotation
  * {@inheritdoc}
  */
 protected function createComponent($name)
 {
     $ucname = ucfirst($name);
     $method = 'createComponent' . $ucname;
     $presenterReflection = $this->getReflection();
     if ($presenterReflection->hasMethod($method)) {
         $reflection = $presenterReflection->getMethod($method);
         $this->checkRequirements($reflection);
         $annotations = (array) $reflection->getAnnotation('Action');
         if (!empty($annotations) && !in_array($this->getAction(), $annotations)) {
             throw new \Nette\Application\ForbiddenRequestException("Creation of component '{$name}' is forbidden for action '{$this->action}'.");
         }
         return parent::createComponent($name);
     }
 }
Beispiel #2
0
 /**
  * Sign in form component factory.
  * @return NAppForm
  */
 protected function createComponent($name)
 {
     switch ($name) {
         case 'loginForm':
             $form = new NAppForm();
             $form->addText('username', _('Prihlasovacie meno') . ':')->addRule(NForm::FILLED, _('Prihlasovacie meno musí byť vyplnené.'));
             $form->addPassword('password', _('Heslo') . ':')->addRule(NForm::FILLED, _('Prihlasovacie heslo musí byť vyplnené.'));
             $form->addSubmit('submit_login', 'Log In');
             $renderer = $form->getRenderer();
             $renderer->wrappers['controls']['container'] = NULL;
             $renderer->wrappers['pair']['container'] = 'div';
             $renderer->wrappers['label']['container'] = NULL;
             $renderer->wrappers['control']['container'] = NULL;
             $form->addProtection(_('Sedenie vypršalo. Proším obnovte prihlasovací formulár a zadajte údaje znovu.'), 1800);
             $form['submit_login']->getControlPrototype()->class = 'btnLogin';
             $form->onSuccess[] = callback($this, 'loginFormSubmitted');
             return $form;
             break;
         default:
             return parent::createComponent($name);
             break;
     }
 }
Beispiel #3
0
 protected function createComponent($name)
 {
     switch ($name) {
         case 'article':
             return new ArticleControl();
             break;
         case 'questionToSeller':
             $f = new QuestionToSeller();
             $f->setDefaults(array('link' => $_SERVER['HTTP_HOST'] . $this->link('this')));
             return $f;
             break;
         case 'searchform':
             $f = new MyForm();
             $f->addText('q', 'hľadané slovo / výraz')->getControlPrototype()->class = 'no-border';
             //->addRule( NForm::FILLED, 'Hľadané slovo musí byť vyplnené');
             $f->addSubmit('btn', 'Vyhľadať')->getControlPrototype()->class = 'no-border';
             $f->onSuccess[] = array($this, 'searchFormSubmitted');
             $f->setDefaults(array('q' => $this->getParam('q')));
             return $f;
             break;
         case 'poll':
             $p = new PollControl();
             return $p;
             break;
             /*
              * Pomocka pre pohyb admina po Front
              */
         /*
          * Pomocka pre pohyb admina po Front
          */
         case 'adminBar':
             return new AdminBarControl();
             break;
             /*
              * Sluzi na zobrazenie vypredajovych poloziek
              * prislusenstva
              * noviniek
              */
         /*
          * Sluzi na zobrazenie vypredajovych poloziek
          * prislusenstva
          * noviniek
          */
         case 'productNewsSaleAvaiableTable':
             return new ProductNewsSaleAvaiableTableControl();
             break;
         case 'Home':
             return new SlideshowControl();
             break;
         case 'breadcrumb':
             return new BreadcrumbControl();
             break;
         case 'quickFilter':
             return new QuickFilterControl();
             break;
         case 'cart':
             $cart = new CartControl();
             return $cart;
             break;
         case 'cartsmall':
             $cart = new CartSmallControl();
             return $cart;
             break;
         case 'gmap':
             return new GmapControl();
             break;
         case 'newsletter':
             return new NewsletterControl();
             break;
         case 'UserForm':
             return new UserFormControl();
             break;
         case 'LoginForm':
             return new LoginControl();
             break;
         case 'userProfil':
             return new UserProfilControl();
             break;
         case 'cartLogin':
             return new CartLoginControl();
             break;
             //
             //			case 'EshopProduct' :
             //				$p = new EshopProductControl;
             //				$p->invalidateControl();
             //				return $p;
             //				break;
             //
             //			case 'Redirect' :
             //				return new RedirectControl ();
             //				break;
         //
         //			case 'EshopProduct' :
         //				$p = new EshopProductControl;
         //				$p->invalidateControl();
         //				return $p;
         //				break;
         //
         //			case 'Redirect' :
         //				return new RedirectControl ();
         //				break;
         case 'ContactForm':
             return new ContactFormControl();
             break;
             //			case 'comment' :
             //				return new CommentControl ();
             //				break;
         //			case 'comment' :
         //				return new CommentControl ();
         //				break;
         case 'msg':
             return new MsgControl();
             break;
         case 'vizionWidget':
             $widget = new VizionWidgetControl();
             $widget->setWidgetService($this->getService('Widget'));
             return $widget;
             break;
         case 'userBaseForm':
             $form = UserModel::baseForm();
             $_convertor_lang_to_iso = array('sk' => 'SVK', 'cz' => 'CZE', 'de' => 'DEU', 'en' => 'GB', 'hu' => 'HUN');
             $form->setDefaults(array('type' => 0, 'iso' => $_convertor_lang_to_iso[$this->lang], 'delivery_iso' => $_convertor_lang_to_iso[$this->lang]));
             return $form;
             break;
         default:
             return parent::createComponent($name);
             break;
     }
 }
Beispiel #4
0
 protected function createComponent($name)
 {
     if (strpos($name, ElementManager::ELEMENT_PREFIX) === 0) {
         $name = substr($name, strlen(ElementManager::ELEMENT_PREFIX));
         $name = explode('_', $name);
         $id = end($name);
         unset($name[count($name) - 1]);
         $name = implode('_', $name);
         $route = $this->getContext()->cms->routeRepository->find($this->elementRouteId);
         /** @var $component \CmsModule\Content\IElement */
         $component = $this->context->cms->elementManager->createInstance($id);
         $component->setRoute($route);
         $component->setName($name);
         $component->setLanguage($this->context->cms->languageRepository->find($this->elementLanguageId));
         return $component;
     }
     return parent::createComponent($name);
 }