Usuwanie typu artykułu
334669
public function deleteAction()
    {
        $record = (new \Cms\Orm\CmsCategoryTypeQuery)->findPk($this->id);
        if ($record && $record->delete()) {
            $this->getMessenger()->addMessage('messenger.categoryTypeAttribute.categoryType.deleted', true);
        }
        $this->getResponse()->redirect('cmsAdmin', 'categoryType');
    }
1221674
private function _getHtmlTree()
    {
        //pobranie struktury
        $structure = $this->getOption('structure');
        //bez struktury zwraca pusty string
        if (!is_array($structure) || empty($structure)) {
            return '';
        }
        //bez dzieci rowniez zwraca pusty string
        if (!isset($structure['children'])) {
            return '';
        }
        //skladam identyfikator galezi
        $treeId = $this->getOption('id') . '_tree';
        //zidentyfikowana gałąź drzewa
        $html = '<div class="tree_structure" id="' . $treeId . '">';
        $html .= $this->_generateTree($structure, '');
        $html .= '</div>';
        $html .= '<button type="button" id="' . $treeId . '_clear" class="tree_clear btn" /> Wyczyść wybór </button>';

        $this->_generateJs($treeId);

        return $html;
    }
1338857
public function send()
    {
        //wysyłanie nagłówka
        header($this->getName() . ($this->getValue() ? ': ' . $this->getValue() : ''), (bool) $this->getReplace());
    }
129777
public function filesAction()
    {
        //formularz
        $form = new Form\ConnectorImportFilesForm;
        //formularz zapisany
        if ($form->isSaved()) {
            //przekazanie listy plików do downloadu
            $this->view->files = $form->getOption('data');
            //otwarcie sesji
            $session = new \Mmi\Session\SessionSpace(\Cms\Model\ConnectorModel::SESSION_SPACE);
            $this->view->downloadUrl = base64_encode($session->url);
        } else {
            //form do widoku
            $this->view->form = $form;
        }
    }
1352744
function main (params) {
  return new Promise((resolve, reject) => {
    var debug = typeof params.debug === 'boolean' ? params.debug : false

    if (typeof params !== 'object') {
      if (debug) console.log('Format ze starej wersji.')
      /** @throws Dane powinny być podane w formie obiektu, a nie są. */
      reject(new Error('Nieprawidłowy format danych.'))
      return
    }
    if (
      (typeof params.username === 'string' &&
        (params.username !== '' && params.username !== ' ')
      ) &&
      (
        (typeof params.password === 'string' &&
          (params.password !== '' && params.password !== ' ')
        ) ||
        (typeof params.hash === 'string' &&
          (params.hash !== '' && params.hash !== ' ')
        )
      )
    ) {
      if (debug) console.log('Loguję...')
      login(params).then(o => {
        resolve(new Client(params.username, o.agent, o.id, o.hash))
      }).catch(e => {
        reject(e)
      })
    } else {
      reject(new Error('Nieprawidłowy format danych.'))
    }
  })
}
1233294
public function beforeSave()
    {
        //czyszczenie uprawnień dla roli
        (new \Cms\Orm\CmsCategoryAclQuery)
            ->whereCmsRoleId()->equals($this->getOption('roleId'))
            ->find()
            ->delete();
        //zapis uprawnień "dozwól"
        foreach (explode(';', $this->getElement('allow')->getValue()) as $categoryId) {
            //brak kategorii
            if (!$categoryId) {
                continue;
            }
            $aclRecord = new \Cms\Orm\CmsCategoryAclRecord;
            $aclRecord->access = 'allow';
            $aclRecord->cmsCategoryId = $categoryId;
            $aclRecord->cmsRoleId = $this->getOption('roleId');
            $aclRecord->save();
        }
        //zapis uprawnień "zabroń"
        foreach (explode(';', $this->getElement('deny')->getValue()) as $categoryId) {
            //brak kategorii
            if (!$categoryId) {
                continue;
            }
            $aclRecord = new \Cms\Orm\CmsCategoryAclRecord;
            $aclRecord->access = 'deny';
            $aclRecord->cmsCategoryId = $categoryId;
            $aclRecord->cmsRoleId = $this->getOption('roleId');
            $aclRecord->save();
        }
        //usunięcie cache
        \App\Registry::$cache->remove('mmi-cms-category-acl');
        return true;
    }
800362
protected function _prepareData()
	{
        //próba pobrania struktury uprawnień z cache
        if (null !== $this->_acl = \App\Registry::$cache->load($cacheKey = 'categories-roles')) {
			return;
        }
		$this->_acl = [];
		//zapytanie o całą strukturę powiązań: kategorie - role
		foreach ((new \Cms\Orm\CmsCategoryRoleQuery())
					->join('cms_role')->on('cms_role_id')
					->orderAscCmsCategoryId()
					->find() as $record) {
			if (!array_key_exists($record->cmsCategoryId, $this->_acl)) {
				$this->_acl[$record->cmsCategoryId] = [];
			}
			$this->_acl[$record->cmsCategoryId][] = $record->getJoined('cms_role')->name;
		}
        //zapis struktury uprawnień do cache
        \App\Registry::$cache->save($this->_acl, $cacheKey, 0);
	}
254187
public function afterSave()
    {
        //brak obiektu
        if (!$this->_saveToObject) {
            return parent::afterSave();
        }
        //czyszczenie relacji
        (new AttributeValueRelationModel($this->_saveToObject, $this->getRecord()->id))->deleteAttributeValueRelations();
        //iteracja po elementach
        foreach ($this->_cmsAttributeElements as $attributeId => $element) {
            //zapis relacji
            $this->_createValueRelationByElement($attributeId, $element);
        }
        //iteracja po atrybutach
        foreach ($this->_cmsAttributes as $attribute) {
            //nie jest zmaterializowany, odziedziczony
            if (!$attribute->getJoined('cms_attribute_relation')->isMaterializedInherited()) {
                continue;
            }
            //brak obiektu do dziedziczenia
            if (null === $element = $this->getElement($attribute->key)) {
                throw new \Exception('No inherited attribute: ' . $attribute->key);
            }
            //zapis relacji z odziedziczonego elementu formularza (występującego w oryginalnym formularzu)
            $this->_createValueRelationByElement($attribute->id, $element);
        }
        //zapis udany
        return parent::afterSave();
    }
1056200
public function flush()
    {
        //bufor nieaktywny
        if (!$this->isActive()) {
            return;
        }
        //czyszczenie rejestru
        $this->getRegistry()->setOptions([], true);
        //czyszczenie do handler
        $this->_handler->deleteAll();
    }
1343350
public function beforeSave()
    {
        $mvcParams = [];
        //parsowanie mvcParams
        parse_str($this->getElement('mvcParams')->getValue(), $mvcParams);
        //zapis do obiektu
        $this->getRecord()->module = isset($mvcParams['module']) ? $mvcParams['module'] : null;
        $this->getRecord()->controller = isset($mvcParams['controller']) ? $mvcParams['controller'] : null;
        $this->getRecord()->action = isset($mvcParams['action']) ? $mvcParams['action'] : null;
    }
912031
public function stickAction()
    {
        $this->getResponse()->setTypePlain();
        //brak id
        if (!$this->id) {
            return '';
        }
        //brak pliku
        if (null === ($file = (new CmsFileQuery)->findPk($this->id)) || $this->hash != $file->name) {
            return $this->view->getTranslate()->_('Przypinanie nie powiodło się');
        }
        //przypina plik
        $file->setSticky();
        return '';
    }
362004
public function pluploadAction()
    {
        set_time_limit(5 * 60);
        //obiekt handlera plupload
        $pluploadHandler = new Model\PluploadHandler();
        //jeśli wystąpił błąd
        if (!$pluploadHandler->handle()) {
            return $this->_jsonError($pluploadHandler->getErrorCode(), $pluploadHandler->getErrorMessage());
        }
        //jeśli wykonać operację po przesłaniu całego pliku i zapisaniu rekordu
        if ($this->getPost()->afterUpload && null !== $record = $pluploadHandler->getSavedCmsFileRecord()) {
            $this->_operationAfter($this->getPost()->afterUpload, $record);
        }
        return json_encode(['result' => 'OK', 'cmsFileId' => $pluploadHandler->getSavedCmsFileId()]);
    }
20061
public function getRelationFiles()
    {
        $filesByObject = new \Mmi\Orm\RecordCollection;
        //wyszukiwanie wartości
        foreach ($this->getAttributeValues() as $record) {
            //pobieranie klucza atrybutu (w celu zgrupowania)
            if ($record->getJoined('cms_attribute_type')->uploader) {
                //dołączanie plików
                foreach (\Cms\Orm\CmsFileQuery::byObject($record->value, $this->_objectId)->find() as $file) {
                    $filesByObject->append($file);
                }
            }
        }
        return $filesByObject;
    }
1055803
public static function postUpdate(Event $event) 
    { 
        //inicjalizacja autoloadera 
        self::_initAutoload($event); 
        //linkowanie zasobów web 
        self::_linkModuleWebResources(); 
        //kopiowanie binariów z modułów 
        self::_copyModuleBinaries(); 
    }
617749
public function routeStartup()
    {
        //iteracja po pluginach
        foreach (FrontController::getInstance()->getPlugins() as $plugin) {
            //wykonywanie routeStartup() na kolejnych pluginach
            $plugin->routeStartup(FrontController::getInstance()->getRequest());
        }
        //profiler
        FrontController::getInstance()->getProfiler()->event('Mvc\Dispatcher: plugins route startup');
    }
1156079
public function fetchField()
    {
        $view = \Mmi\App\FrontController::getInstance()->getView();
        $view->headScript()->appendFile('/resource/cmsAdmin/js/tiny/tinymce.min.js');

        //bazowa wspólna konfiguracja
        $this->_baseConfig($view);
        //tryb edytora
        $mode = $this->getMode() ? $this->getMode() : 'default';
        //metoda konfiguracji edytora
        $modeConfigurator = '_mode' . ucfirst($mode);
        if (method_exists($this, $modeConfigurator)) {
            $this->$modeConfigurator();
        }

        $class = $this->getOption('id');
        $this->setOption('class', trim($this->getOption('class') . ' ' . $class));
        $object = 'tmp-' . $this->getUploaderObject();
        $objectId = $this->getUploaderId();
        $t = round(microtime(true));
        $hash = md5(\Mmi\Session\Session::getId() . '+' . $t . '+' . $objectId);
        //tworzenie kopii plików załadowanych do TinyMce
        $this->_createTempFiles();
        //aktualizacja wartości pola - poprawka ścieżek do plików
        $this->_updateValue();
        //dołączanie skryptu
        $view->headScript()->appendScript("
			tinyMCE.init({
				selector: '." . $class . "',
				language: request.locale,
				" . $this->_renderConfig('theme', 'theme', 'modern') . "
				" . $this->_renderConfig('skin', 'skin', 'lightgray') . "
				" . $this->_renderConfig('plugins', 'plugins') . "
				" . $this->_renderConfig('contextmenu', 'contextMenu') . "
				" . $this->_renderConfig('width', 'width', '') . "
				" . $this->_renderConfig('height', 'height', 320) . "
				" . $this->_renderConfig('resize', 'resize', true) . "
				" . $this->_renderConfig('menubar', 'menubar', true) . "
				" . $this->_renderConfig('image_advtab', 'imageAdvanceTab', true) . "
				" . $this->_renderConfig('font_formats', 'fontFormats') . "
				" . $this->_renderConfig('fontsize_formats', 'fontSizeFormats') . "
				" . $this->_renderConfig('content_css', 'css') . "
				" . $this->_renderConfigN('toolbar', 'toolbars') . "
				" . $this->_renderConfig('image_caption', 'imageCaption', false) . "
				" . ($this->getCustomConfig() ? trim($this->getCustomConfig(), ",") . "," : "") . "
				" . $this->_other . "
				" . $this->_common . "
				hash: '$hash',
				object: '$object',
				objectId: '$objectId',
				time: '$t',
				baseUrl: '" . $view->baseUrl . "',
                image_list: '" . $view->baseUrl . "' + '/?module=cms&controller=file&action=list&object=$object&objectId=$objectId&t=$t&hash=$hash',
                branding: false
			});
		");

        //unsety zbędnych opcji
        $this->unsetMode()->unsetCustomConfig()->unsetCss()->unsetTheme()->unsetSkin()
            ->unsetPlugins()->unsetContextMenu()->unsetResize()->unsetMenubar()
            ->unsetImageAdvanceTab()->unsetFontFormats()->unsetFontSizeFormats()
            ->unsetToolbars()->unsetImageCaption();

        return parent::fetchField();
    }
1348859
public final function commit()
    {
        //brak transakcji
        if (!$this->_transactionInProgress) {
            return false;
        }
        //zakończenie transakcji z zatwierdzeniem
        $this->_transactionInProgress = false;
        return $this->_upstreamPdo->commit();
    }