示例#1
0
 public function process(array $scriptProperties = array())
 {
     $placeholders = parent::process($scriptProperties);
     $this->resourceArray['published'] = 0;
     $this->getDefaultContainerSettings();
     return $placeholders;
 }
示例#2
0
    /**
     * Register custom CSS/JS for the page
     *
     * @return void
     */
    public function loadCustomCssJs()
    {
        $html = $this->head['html'];
        parent::loadCustomCssJs();
        $this->head['html'] = $html;
        if (is_null($this->resourceArray['properties'])) {
            $this->resourceArray['properties'] = array();
        }
        $this->resourceArray['properties']['tickets'] = $this->resource->getProperties('tickets');
        $this->resourceArray['properties']['ratings'] = $this->resource->getProperties('ratings');
        $this->resourceArray['syncsite'] = 0;
        /** @var Tickets $Tickets */
        $Tickets = $this->modx->getService('Tickets');
        $Tickets->loadManagerFiles($this, array('config' => true, 'utils' => true, 'css' => true, 'section' => true));
        $this->addLastJavascript($Tickets->config['jsUrl'] . 'mgr/section/create.js');
        $ready = array('xtype' => 'tickets-page-section-create', 'record' => $this->resourceArray, 'publish_document' => (int) $this->canPublish, 'canSave' => (int) $this->canSave, 'show_tvs' => (int) (!empty($this->tvCounts)), 'mode' => 'create');
        $this->addHtml('
		<script type="text/javascript">
		// <![CDATA[
		MODx.config.publish_document = ' . (int) $this->canPublish . ';
		MODx.onDocFormRender = "' . $this->onDocFormRender . '";
		MODx.ctx = "' . $this->ctx . '";
		Ext.onReady(function() {
			MODx.load(' . $this->modx->toJSON($ready) . ');
		});
		// ]]>
		</script>');
    }
示例#3
0
 /**
  * Register custom CSS/JS for the page
  * @return void
  */
 public function loadCustomCssJs()
 {
     $modxtalksAssetsUrl = $this->modx->getOption('modxtalks.assets_url', null, $this->modx->getOption('assets_url', null, MODX_ASSETS_URL) . 'components/modxtalks/');
     $connectorUrl = $modxtalksAssetsUrl . 'connector.php';
     $modxtalksJsUrl = $modxtalksAssetsUrl . 'js/mgr/';
     $modxtalksCssUrl = $modxtalksAssetsUrl . 'css/mgr/';
     $this->addLastJavascript($modxtalksJsUrl . 'comments/comments.js');
     $this->addCss($modxtalksCssUrl . 'comments.css');
     $this->addHtml('<script type="text/javascript">
     Ext.onReady(function() {
         modxTalks = {};
         modxTalks.config = ' . $this->modx->toJSON(array()) . ';
         modxTalks.config.connector_url = "' . $connectorUrl . '";
         modxTalks.request = ' . $this->modx->toJSON($_GET) . ';
     });
     </script>');
     parent::loadCustomCssJs();
 }
示例#4
0
 function getDefaultTemplate()
 {
     // Here we can return template ID
     return parent::getDefaultTemplate();
 }
示例#5
0
 /**
  * Custom logic code here for setting placeholders, etc
  * @param array $scriptProperties
  * @return mixed
  */
 public function process(array $scriptProperties = array())
 {
     $this->scriptProperties['template'] = $this->modx->getOption('ms2_template_product_default', null, $this->modx->getOption('default_template', null, 1), true);
     return parent::process($scriptProperties);
 }
示例#6
0
 public function loadCustomCssJs()
 {
     parent::loadCustomCssJs();
     return $this->_loadCustomCssJs();
 }
 public function process(array $scriptProperties = array())
 {
     $placeholders = parent::process($scriptProperties);
     $this->resourceArray['responseCode'] = $this->resource->getProperty('responseCode', 'core', 'HTTP/1.1 301 Moved Permanently');
     return $placeholders;
 }
示例#8
0
    public function render()
    {
        # $this->loadRichTextEditor();
        $render = parent::render();
        $record = $this->modx->toJSON($this->resourceArray);
        $canPublish = (int) $this->canPublish;
        $canSave = (int) ($this->modx->hasPermission('save_document') ? 1 : 0);
        $show_tvs = (int) (!empty($this->tvCounts) ? 1 : 0);
        $rules = '';
        foreach ($this->ruleOutput as $rule) {
            $rule = preg_replace("/<script.*\\{(.+)\\}.*/simu", "\$1", $rule);
            $rules .= "\n" . $rule;
        }
        $output = <<<HTML
        <script type="text/javascript">
        // <![CDATA[
        MODx.config.publish_document = "'.1.'";
        MODx.onDocFormRender = "'..'";
        MODx.ctx = "'.web.'";
        // Ext.onReady(function() {
        
            /*console.log('this');
            console.log(this);
            console.log('grid');
            console.log(grid);*/
            
            var resource_editor = MODx.load({
                xtype: "modx-panel-resource"
                ,renderTo: null
                ,record: {$record}
                ,publish_document: {$canPublish}
                ,canSave: {$canSave}
                ,show_tvs: {$show_tvs}
                ,mode: "create"
                ,url: MODx.config.connector_url + '?action=resource/create'
                ,useLoadingMask: false
                ,listeners: { 
                    'success': {fn:function(r){
                        //console.log('dfsfdf');
                        //console.log(r);
                        //console.log(this);
                        /*try {
                            r = Ext.decode(r.responseText);
                        } catch (e) {
                            Ext.MessageBox.show({
                                title: _('error')
                                ,msg: e.message+': '+ r.responseText
                                ,buttons: Ext.MessageBox.OK
                                ,cls: 'modx-js-parse-error'
                                ,minWidth: 600
                                ,maxWidth: 750
                                ,modal: false
                                ,width: 600
                            });
                            return;
                        }*/
                        
                        
                        //console.log('r');
                        //console.log(r);
                        
                        w.close();
                        try{
                            //console.log(r);
                            window.open(MODx.config.manager_url + '?a='+ MODx.action['resource/update'] + '&id=' + r.result.object.id, '_blank');
                            // sdfsdf();
                            
                            /*
                                grid передается в основном табличном редакторе
                            */
                            this.grid.store.reload();
                        }
                        catch(e){
                            MODx.msg.alert('Статус', r.result.message || 'Документ успешно сохранен');
                            setTimeout( function() {
                                window.location.reload();
                            } , 1000);
                        }
                        
                        
                        
                    }
                    //, scope: this
                    
                    }
                }
            });
            
            w.add(resource_editor);
        // });
        // ]]>
        </script>
HTML;
        $output .= $render;
        $output .= <<<HTML
        <script type="text/javascript">
            var p = Ext.getCmp('modx-panel-resource');
            if (p) {
                p.add({
                    xtype: 'hidden'
                    ,listeners: {
                        afterrender: function(){
                            //     console.log('rendered');
                            setTimeout( function() {
                                // alert(p.setup);
                                p.setup();
                                
                                // window.p = p;
                                
                                // MODx.loadRTE('ta');
                                {$rules}
                            } , 1000)
                        }
                    }
                });
                p.doLayout();
            }
        </script>
HTML;
        return $output;
    }