Ejemplo n.º 1
0
 /**
  * Executes this action
  *
  * @param sfRequest $request A request object
  */
 public function execute($request)
 {
     $request->setParameter('type', $request->getParameter('search_module'));
     $this->forward('communityTopic', 'search');
 }
Ejemplo n.º 2
0
 public function executeSettings(sfRequest $request)
 {
     $request->setParameter('id', $this->getUser()->getProfile()->getId());
     $this->forward('profile', 'edit');
 }
Ejemplo n.º 3
0
 public function executeUploadImages(sfRequest $request)
 {
     // Belongs at the beginning, not the end
     $this->forward404Unless(aMediaTools::userHasUploadPrivilege());
     $this->form = new aMediaUploadImagesForm();
     if ($request->isMethod('post')) {
         $this->form->bind($request->getParameter('a_media_items'), $request->getFiles('a_media_items'));
         if ($this->form->isValid()) {
             $request->setParameter('first_pass', true);
             $active = array();
             // Saving embedded forms is weird. We can get the form objects
             // via getEmbeddedForms(), but those objects were never really
             // bound, so getValue will fail on them. We have to look at the
             // values array of the parent form instead. The widgets and
             // validators of the embedded forms are rolled into it.
             // See:
             // http://thatsquality.com/articles/can-the-symfony-forms-framework-be-domesticated-a-simple-todo-list
             for ($i = 0; $i < aMediaTools::getOption('batch_max'); $i++) {
                 $values = $this->form->getValues();
                 if ($values["item-{$i}"]['file']) {
                     $active[] = $i;
                 } else {
                     // So the editImagesForm validator won't complain about these
                     $items = $request->getParameter("a_media_items");
                     unset($items["item-{$i}"]);
                     $request->setParameter("a_media_items", $items);
                 }
             }
             $request->setParameter('active', implode(",", $active));
             // We'd like to just do this...
             // $this->forward('aMedia', 'editImages');
             // But we need to break out of the iframe, and
             // modern browsers ignore Window-target: _top which
             // would otherwise be perfect for this.
             // Fortunately, the persistent file upload widget can tolerate
             // a GET-method redirect very nicely as long as we pass the
             // persistids. So we make the current parameters available
             // to a template that breaks out of the iframe via
             // JavaScript and passes the prameters on.
             $this->parameters = $request->getParameterHolder('a_media_items')->getAll();
             // If I don't do this I just get redirected back to myself
             unset($this->parameters['module']);
             unset($this->parameters['action']);
             return 'Redirect';
         }
     }
 }
 /**
  * Executes action
  *
  * @param sfRequest $request A request object
  */
 public function execute($request)
 {
     // only respond to OAI requests if the feature has been enabled
     if (sfConfig::get('app_oai_oai_enabled') == 0) {
         // the following displays a GUI response, should we return a
         // '503 - Service unavailable' HTTP response (without specifying
         // a 'Retry-After' parameter instead?
         $this->forward('admin', 'oaiDisabled');
     }
     $request->setRequestFormat('xml');
     /*    print_r($this->oaiErrorArray);
         //Check for null and duplicate parameters
         if(QubitOai::hasDuplicateOrNullParameters())
         {
           $request->setParameter('errorCode', 'badArgument');
           $request->setParameter('errorMsg', $this->oaiErrorArray{'badArgument'});
           $this->forward('oai', 'error');
         }*/
     $this->date = QubitOai::getDate();
     $this->path = $this->request->getUriPrefix() . $this->request->getPathInfo();
     $this->attributes = $this->request->getGetParameters();
     $this->attributesKeys = array_keys($this->attributes);
     $this->requestAttributes = '';
     foreach ($this->attributesKeys as $key) {
         $this->requestAttributes .= ' ' . $key . '="' . $this->attributes[$key] . '"';
     }
     $this->sets = array();
     foreach (QubitInformationObject::getCollections() as $el) {
         $this->sets[] = new sfIsadPlugin($el);
     }
     /**
      * Validate that verb is valid
      */
     if (isset($this->request->verb)) {
         if (!in_array($this->request->verb, $this->oaiVerbArr)) {
             $request->setParameter('errorCode', 'badVerb');
             $request->setParameter('errorMsg', 'Value of the verb argument is not a legal OAI-PMH verb, the verb argument is missing, or the verb argument is repeated.');
             $this->forward('oai', 'error');
         }
         /**
          * Validate that attributes are valid
          */
         $allowedKeys = sfConfig::get('mod_oai_' . $this->request->verb . 'Allowed');
         $mandatoryKeys = sfConfig::get('mod_oai_' . $this->request->verb . 'Mandatory');
         if (!QubitOai::checkBadArgument($this->attributesKeys, $allowedKeys, $mandatoryKeys)) {
             $request->setParameter('errorCode', 'badArgument');
             $request->setParameter('errorMsg', 'The request includes illegal arguments, is missing required arguments, includes a repeated argument, or values for arguments have an illegal syntax.');
             $this->forward('oai', 'error');
         }
         // For now, if there is a metadataPrefix requested other than oai_dc, fail the request
         $metadataPrefix = $this->request->metadataPrefix;
         if ($metadataPrefix != '' and $metadataPrefix != 'oai_dc') {
             $request->setParameter('errorCode', 'badVerb');
             $request->setParameter('errorMsg', 'The metadata format identified by the value given for the metadataPrefix argument is not supported by the item or by the repository.');
             $this->forward('oai', 'error');
         }
         switch ($this->request->verb) {
             case 'Identify':
                 $this->verb = 'identify';
                 break;
             case 'ListMetadataFormats':
                 $this->verb = 'listMetadataFormats';
                 break;
             case 'ListSets':
                 $this->verb = 'listSets';
                 break;
             case 'ListRecords':
                 $this->verb = 'listRecords';
                 break;
             case 'ListIdentifiers':
                 $this->verb = 'listIdentifiers';
                 break;
             case 'GetRecord':
                 $this->verb = 'getRecord';
                 break;
             default:
                 $this->verb = 'badVerb';
         }
     } else {
         $this->verb = 'badVerb';
     }
 }