public function executeAddNewTrademark() { $this->setLayout(false); $this->trademarkTypes = UtilsHelper::loadTrademarkTypes(); if ($trademark = Document::getDocumentInstance($this->getRequestParameter('trademark_id'))) { if (get_class($trademark) != 'Trademark') { $trademark = null; } } if (!$trademark) { $trademark = new Trademark(); } $ownersArr = array(); $root = Rootfolder::getRootfolderByModule('clients'); $owners = Document::getChildrenOf($root->getId(), 'Client'); foreach ($owners as $ow) { $ownersArr[$ow->getId()] = $ow->getLabel(); } $this->ownersArr = $ownersArr; $success = false; if ($this->getRequestParameter('submit') > '') { // check input data $request = $this->getRequest(); $params = $request->getParameterHolder()->getAll(); //var_dump($params); $errors = false; $fields = array("label" => 'Наименование', "application_number" => 'Заявка номер', "kind" => 'Тип', "application_date" => 'Дата на заявяване', "expires_on" => 'Срок', "contestation" => 'Краен срок за опозиция', "nice_classes" => 'Класове по Ницска класификация', "rights_owner" => 'Притежател', "office_of_origin" => 'Държава на регистрация', "designated_contracting_party" => 'Държави в които е в сила'); foreach ($fields as $fl => $label) { $val = trim($params[$fl]); if ($val == '') { if ($fl == 'rights_owner') { if ($params['owner'] == '') { $errors = true; $request->setError('err' . $fl, '- ' . $label); } } else { $errors = true; $request->setError('err' . $fl, '- ' . $label); } } } $image = null; if ($errors) { UtilsHelper::setFlashMsg('Моля, въведете необходимите данни:<br>', UtilsHelper::MSG_ERROR); } else { if ($request->getFileName('image')) { try { $image = Media::upload('image', 'upload', array('image/gif', 'image/jpeg', 'image/jpg', 'image/png')); //var_dump($image); list($w, $h) = getimagesize($image->getServerAbsoluteUrl()); if ($w > $h) { $image->resizeImage("thumbs", null, 105); } else { $image->resizeImage("thumbs", 95); } } catch (Exception $e) { $errors = true; $request->setError('errImage', '- ' . UtilsHelper::Localize('media.' . $e->getMessage())); } } if ($errors) { // remove uploaded image if ($image) { $image->delete(); } UtilsHelper::setFlashMsg('Моля, коригирайте:<br>', UtilsHelper::MSG_ERROR); } } // if everithing is OK if (!$errors) { //$trademark = new Brand(); $trademark->setLabel($params['label']); $trademark->setFromSystem(1); if ($params['owner'] > '') { //$trademark->setClientId($params['owner']); $client = Document::getDocumentInstance($params['owner']); $trademark->setRightsOwner($client->getLabel()); } else { $val = trim($params['rights_owner']); $client = new Client(); $client->setLabel($val); $client->save(); //$trademark->setClientId($client->getId()); $this->client = $client; $trademark->setRightsOwner($val); } $trademark->setApplicationNumber($params['application_number']); $trademark->setRegisterNumber($params['register_number']); if ($params['registration_date']) { $trademark->setRegistrationDate($params['registration_date']); } $trademark->setKind($params['kind']); $trademark->setApplicationDate($params['application_date']); $trademark->setStatus($params['status']); $trademark->setExpiresOn($params['expires_on']); $trademark->setContestation($params['contestation']); $trademark->setPublications($params['publications']); $trademark->setViennaClasses(str_replace(' ', '', $params['vienna_classes'])); $trademark->setColors($params['colors']); $trademark->setNiceClasses(str_replace(' ', '', $params['nice_classes'])); $trademark->setRightsOwnerAddress($params['rights_owner_address']); $trademark->setRightsRepresentative($params['rights_representative']); $trademark->setRightsRepresentativeAddress($params['rights_representative_address']); $trademark->setOfficeOfOrigin($params['office_of_origin']); $trademark->setDesignatedContractingParty($params['designated_contracting_party']); if ($image) { $trademark->setImage($image->getId()); } $trademark->save(); $success = true; } } $this->trademark = $trademark; $this->success = $success; }