Esempio n. 1
0
    function SitefaqEditForm()
    {
        parent::MailForm();
        global $page, $cgi;
        $this->extra = 'id="cms-edit-form"';
        // get copy from repository
        loader_import('cms.Versioning.Rex');
        $rex = new Rex($cgi->_collection);
        // default: database, database
        $_document = $rex->getCurrent($cgi->_key);
        $widgets = $rex->getStruct();
        if (!$widgets) {
            $widgets = array();
        }
        // edit widgets go here
        $this->widgets = array_merge($this->widgets, $widgets);
        foreach ($this->widgets as $k => $v) {
            if (isset($_document->{$k})) {
                $this->widgets[$k]->setValue($_document->{$k});
            }
        }
        $w =& $this->addWidget('hidden', '_key');
        $w =& $this->addWidget('hidden', '_collection');
        $w =& $this->addWidget('hidden', '_return');
        if ($rex->isVersioned) {
            $t =& $this->addWidget('textarea', 'changelog');
            $t->alt = intl_get('Change Summary');
            $t->rows = 3;
            $t->labelPosition = 'left';
            $t->extra = 'id="changelog"';
        }
        // submit buttons
        $w =& $this->addWidget('msubmit', 'submit_button');
        $b =& $w->getButton();
        $b->setValues(intl_get('Save'));
        $b =& $w->addButton('submit_button', intl_get('Cancel'));
        $b->extra = 'onclick="return cms_cancel (this.form)"';
        $this->error_mode = 'all';
        if ($rex->info['Collection']['singular']) {
            page_title(intl_get('Editing') . ' ' . $rex->info['Collection']['singular'] . ': ' . $_document->{$rex->key});
        } else {
            page_title(intl_get('Editing Item') . ': ' . $_document->{$rex->key});
        }
        // the SiteFAQ additions:
        if (appconf('user_anonymity')) {
            unset($this->widgets['name']);
            unset($this->widgets['email']);
            unset($this->widgets['url']);
            unset($this->widgets['ip']);
            unset($this->widgets['member_id']);
        }
        $admin_roles = session_admin_roles();
        $this->widgets['assigned_to']->setValues(db_pairs('select username, concat(lastname, ", ", firstname, " (", username, ")")
				from sitellite_user
				where role in("' . join('", "', $admin_roles) . '")
				order by lastname, firstname, username'));
        if (!$_document->assigned_to) {
            $this->widgets['assigned_to']->setValue(session_username());
        }
    }
Esempio n. 2
0
 function SiteblogEditForm()
 {
     parent::MailForm();
     global $cgi;
     $refer = $_SERVER['HTTP_REFERER'];
     $this->parseSettings('inc/app/siteblog/forms/edit/settings.php');
     $this->widgets['refer']->setValue($refer);
     //if add is true, we're creating a blog post, otherwise we're editing a blog post
     $add = isset($cgi->_key) && !empty($cgi->_key) ? false : true;
     $this->widgets['status']->setValues(array('Live', 'Not Live'));
     $cats = db_pairs('select id, title from siteblog_category where status = "on"');
     if ($add) {
         page_title('Adding a Blog Post');
         $this->widgets['author']->setValue(session_username());
         unset($this->widgets['icategory']);
         $this->widgets['category']->setValues($cats);
     } else {
         loader_import('cms.Versioning.Rex');
         $rex = new Rex('siteblog_post');
         $document = $rex->getCurrent($cgi->_key);
         page_title('Editing a Blog Post');
         //populate fields
         $this->widgets['subject']->setValue($document->subject);
         $this->widgets['author']->setValue($document->author);
         $this->widgets['status']->setValue($document->status);
         unset($this->widgets['category']);
         $catname = db_shift('select title from siteblog_category where id = ?', $document->category);
         $this->widgets['icategory']->setValue($catname);
         $this->widgets['oldcat']->setValue($document->category);
         $this->widgets['body']->setValue($document->body);
     }
 }
Esempio n. 3
0
/**
 * Updates all pages that reference the specified image.
 */
function imagechooser_update_pages($image, $new)
{
    $links = imagechooser_links($image);
    if (count($links) > 0) {
        loader_import('cms.Versioning.Rex');
        $rex = new Rex('sitellite_page');
        foreach ($links as $id => $title) {
            $c = $rex->getCurrent($id);
            if (is_object($c)) {
                $c->body = str_replace($image, $new, $c->body);
                $method = $rex->determineAction($id, $c->sitellite_status);
                $rex->{$method}($id, (array) $c, 'An image in this page was renamed, updating link.');
            }
        }
    }
}
Esempio n. 4
0
    function NewsEditForm()
    {
        parent::MailForm();
        $this->autosave = true;
        $this->parseSettings('inc/app/news/forms/edit/settings.php');
        global $page, $cgi;
        page_title(intl_get('Editing News Story') . ': ' . $cgi->_key);
        loader_import('ext.phpsniff');
        $sniffer = new phpSniff();
        $this->_browser = $sniffer->property('browser');
        // include formhelp, edit panel init, and cancel handler
        page_add_script(site_prefix() . '/js/formhelp-compressed.js');
        page_add_script(CMS_JS_FORMHELP_INIT);
        page_add_script('
			function cms_cancel_unlock (f, collection, key) {
				onbeforeunload_form_submitted = true;
				if (arguments.length == 0) {
					window.location.href = "' . site_prefix() . '/index/cms-unlock-action?collection=" + collection + "&key=" + key + "&return=' . site_prefix() . '/index/cms-app";
				} else {
					if (f.elements[\'_return\'] && f.elements[\'_return\'].value.length > 0) {
						window.location.href = "' . site_prefix() . '/index/cms-unlock-action?collection=" + collection + "&key=" + key + "&return=" + f.elements[\'_return\'].value;
					} else {
						window.location.href = "' . site_prefix() . '/index/cms-unlock-action?collection=" + collection + "&key=" + key + "&return=' . site_prefix() . '/index/news-app";
					}
				}
				return false;
			}
		');
        if (session_pref('form_help') == 'off') {
            page_add_script('
				formhelp_disable = true;
			');
        }
        // add cancel handler
        $this->widgets['submit_button']->buttons[0]->extra = 'onclick="onbeforeunload_form_submitted = true;"';
        $this->widgets['submit_button']->buttons[1]->extra = 'onclick="return cms_cancel_unlock (this.form, \'' . $cgi->_collection . '\', \'' . $cgi->_key . '\')"';
        // get copy from repository
        loader_import('cms.Versioning.Rex');
        $rex = new Rex($cgi->_collection);
        $_document = $rex->getCurrent($cgi->_key);
        // set values from repository entry
        foreach (get_object_vars($_document) as $k => $v) {
            if (is_object($this->widgets[$k])) {
                $this->widgets[$k]->setValue($v);
            }
        }
    }
Esempio n. 5
0
function sitellite_filesystem_rule_unique($vals)
{
    $r = new Rex($vals['collection']);
    // determine new name value
    if (!empty($vals['name'])) {
        $new = $vals['name'];
    } elseif (is_object($vals['file'])) {
        $new = $vals['file']->name;
    }
    if (!empty($vals['folder'])) {
        $new = $vals['folder'] . '/' . $new;
    }
    if (strpos($new, '/') === 0) {
        $new = substr($new, 1);
    }
    if ($r->getCurrent($new)) {
        // already exists
        return false;
    }
    // doesn't exist yet
    return true;
}
Esempio n. 6
0
}
$pg = new Pager($cgi->offset, $limit);
$history = $rex->getHistory($cgi->_key, false, $limit, $cgi->offset);
if (!$history) {
    $history = array();
    //die ($rex->error);
}
$pg->total = $rex->total;
$pg->setData($history);
$pg->update();
function pretty_date($date)
{
    loader_import('saf.Date');
    return Date::timestamp($date, 'M j, Y - g:ia');
}
$cur = $rex->getCurrent($cgi->_key);
if (!$cur) {
    $title = $cgi->_key;
} else {
    $title = $cur->{$rex->info['Collection']['title_field']};
}
if (!session_allowed('approved', 'w', 'status')) {
    //isset ($cur->sitellite_access) && ! session_allowed ($cur->sitellite_access, 'w', 'access')) {
    $editable = false;
} elseif (isset($cur->sitellite_access) && !session_allowed($cur->sitellite_access, 'w', 'access')) {
    $editable = false;
} elseif (isset($cur->sitellite_status) && !session_allowed($cur->sitellite_status, 'w', 'status')) {
    $editable = false;
} elseif (isset($cur->sitellite_team) && !session_allowed($cur->sitellite_team, 'w', 'team')) {
    $editable = false;
} else {
Esempio n. 7
0
 * - modify: Ordinary modifications (source and store)
 * - replace: A change was approved, overwriting the live version
 * - republish: A change was made as a draft, requiring approval
 * - update: Update to a draft that was republished
 */
// note that changes to ID or file name take effect right away, even though
// the rest of the changes to the document require approval.
loader_import('cms.Versioning.Rex');
if ($parameters['collection'] == 'sitellite_page') {
    $ids = db_shift_array('select id from sitellite_page where body like ?', '%/' . $parameters['key'] . '"%');
    $rex = new Rex('sitellite_page');
    foreach ($ids as $id) {
        $c = $rex->getCurrent($id);
        if (is_object($c)) {
            $c->body = str_replace('/' . $parameters['key'] . '"', '/' . $parameters['data']['id'] . '"', $c->body);
            $method = $rex->determineAction($id, $c->sitellite_status);
            $rex->{$method}($id, (array) $c, 'A page linked to in this page was renamed, updating link.');
        }
    }
} elseif ($parameters['collection'] == 'sitellite_filesystem') {
    $ids = db_shift_array('select id from sitellite_page where body like ?', '%/' . $parameters['key'] . '"%');
    $rex = new Rex('sitellite_page');
    foreach ($ids as $id) {
        $c = $rex->getCurrent($id);
        if (is_object($c)) {
            $c->body = str_replace('/' . $parameters['key'] . '"', '/' . $parameters['data']['name'] . '"', $c->body);
            $method = $rex->determineAction($id, $c->sitellite_status);
            $rex->{$method}($id, (array) $c, 'A file linked to in this page was renamed, updating link.');
        }
    }
}
Esempio n. 8
0
    function CmsEditSitellite_pageForm()
    {
        parent::MailForm();
        $this->autosave = true;
        global $page, $cgi;
        loader_import('ext.phpsniff');
        $sniffer = new phpSniff();
        $this->_browser = $sniffer->property('browser');
        $this->extra = 'id="cms-edit-form" onsubmit="xed_copy_value (this, \'body\')"';
        // include formhelp
        page_add_script(site_prefix() . '/js/formhelp-compressed.js');
        page_add_script('
			formhelp_prepend = \'<table border="0" cellpadding="0"><tr><td width="12" valign="top"><img src="' . site_prefix() . '/inc/app/cms/pix/arrow-10px.gif" alt="" border="0" /></td><td valign="top">\';
			formhelp_append = \'</td></tr></table>\';

			function cms_preview_action (f) {
				cms_copy_values (f);
				return cms_preview (f);
			}
			
			function cms_cancel_action (f) {
				cms_copy_values (f);
				if (confirm (\'Are you sure you want to cancel?\')) {
					return cms_cancel (f);
				}
				return false;
			}

			function page_id () {
				f = document.forms[0];
				if (f.elements[\'id\'].value.length == 0) {
					sugg_id = f.elements[\'title\'].value.toLowerCase ();
					sugg_id = sugg_id.replace (/[àáâäå]/g, \'a\');
					sugg_id = sugg_id.replace (/[çč]/g, \'c\');
					sugg_id = sugg_id.replace (/[éèêëě]/g, \'e\');
					sugg_id = sugg_id.replace (/[íìîï]/g, \'i\');
					sugg_id = sugg_id.replace (/[ñ]/g, \'n\');
					sugg_id = sugg_id.replace (/[óòôöø]/g, \'o\');
					sugg_id = sugg_id.replace (/[úùûüů]/g, \'u\');
					sugg_id = sugg_id.replace (/[ÿ]/g, \'y\');
					sugg_id = sugg_id.replace (/[š]/g, \'s\');
					sugg_id = sugg_id.replace (/[ř]/g, \'r\');
					sugg_id = sugg_id.replace (/[ž]/g, \'z\');
					sugg_id = sugg_id.replace (/[ý]/g, \'y\');
					sugg_id = sugg_id.replace (/[á]/g, \'a\');
					sugg_id = sugg_id.replace (/[ť]/g, \'t\');
					sugg_id = sugg_id.replace (/[í]/g, \'i\');
					sugg_id = sugg_id.replace (/[ď]/g, \'d\');
					sugg_id = sugg_id.replace (/[ň]/g, \'n\');
					sugg_id = sugg_id.replace (/^[^a-z0-9_-]+/g, \'\');
					sugg_id = sugg_id.replace (/[^a-z0-9_-]+$/g, \'\');
					sugg_id = sugg_id.replace (/[^a-z0-9_-]+/g, \'-\');
					sugg_id = sugg_id.replace (/-+/g, \'-\');
					f.elements[\'id\'].value = sugg_id;
				}
			}

			function page_id_to_lower () {
				f = document.forms[0];
				f.elements[\'id\'].value = f.elements[\'id\'].value.toLowerCase ();
			}
		');
        if (session_pref('form_help') == 'off') {
            page_add_script('
				formhelp_disable = true;
			');
        }
        // get copy from repository
        loader_import('cms.Versioning.Rex');
        $rex = new Rex($cgi->_collection);
        // default: database, database
        $_document = $rex->getCurrent($cgi->_key);
        $w =& $this->addWidget('tab', 'tab1');
        $w->title = intl_get('Edit');
        // edit widgets go here
        $w =& $this->addWidget('hidden', '_key');
        $w =& $this->addWidget('hidden', '_collection');
        $w =& $this->addWidget('hidden', '_return');
        $w =& $this->addWidget('text', 'title');
        $w->alt = intl_get('Page Title');
        //$w->addRule ('not empty', 'You must enter a title for your page.');
        $help = addslashes(intl_get('The standard title of the web page, usually used in the content body as a top-level heading.'));
        $w->extra = 'size="40" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide (); page_id ()"';
        $w->setValue($_document->title);
        $w->length = 128;
        $w =& $this->addWidget('text', 'id');
        $w->alt = intl_get('Page ID');
        $w->addRule('not empty', 'You must enter an ID for your page.');
        $w->addRule('not regex "[^a-zA-Z0-9_-]"', 'Your page ID contains invalid characters.');
        $w->addRule('func "rex_unique_id_rule"', 'Your modified page ID already exists.');
        $w->addRule('func "cms_rule_no_actions"', 'Your page ID cannot end in -action, -app, or -form.');
        $help = addslashes(intl_get('The unique page identifier, used in the URL to request this page (ie. /index/page_id).  Must contain only letters, numbers, dashes, and underscores (ie. product_info).'));
        $w->extra = 'size="40" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide (); page_id_to_lower ()"';
        $w->setValue($cgi->_key);
        $w->length = 72;
        $w =& $this->addWidget('text', 'nav_title');
        $w->alt = intl_get('Title in Navigation');
        $help = addslashes(intl_get('This allows you to specify an alternate title to use when linking to this page.'));
        $w->extra = 'size="40" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $w->setValue($_document->nav_title);
        $w->length = 128;
        $w->advanced = true;
        $w =& $this->addWidget('text', 'head_title');
        $w->alt = intl_get('Window Title');
        $help = addslashes(intl_get('This allows you to specify an alternate title to use in the header of the document, which will appear in the top bar of the browser window.'));
        $w->extra = 'size="40" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $w->setValue($_document->head_title);
        $w->length = 128;
        $w->advanced = true;
        $w =& $this->addWidget('xed.Widget.Xeditor', 'body');
        if (appconf('tidy_path')) {
            $w->tidy_path = appconf('tidy_path');
        }
        $w->addRule('not empty', 'You must enter content into your page body.');
        $w->setValue($_document->body);
        //$w->length = 65535;
        // set page title
        if (empty($_document->title)) {
            page_title(intl_get('Editing Page') . ': ' . $_document->id);
        } else {
            page_title(intl_get('Editing Page') . ': ' . $_document->title);
        }
        $w =& $this->addWidget('tab', 'tab2');
        $w->title = intl_get('Properties');
        // property widgets go here
        $t =& $this->addWidget('section', 'section1');
        $t->title = intl_get('Display Settings');
        $t =& $this->addWidget('pagebrowser.Widget.Pagebrowser', 'below_page');
        $t->alt = intl_get('Location in Web Site');
        $t->setValue($_document->below_page);
        $help = addslashes(intl_get('Choose the page that this page should appear under in the hierarchy of the web site.'));
        $t->extra = 'id="below_page" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t =& $this->addWidget('cms.Widget.Templates', 'template');
        $t->alt = intl_get('Display with Template');
        $t->setValue($_document->template);
        $help = addslashes(intl_get('Choose which template you want this page to be displayed with.  This changes the look and feel of the page.'));
        $t->extra = 'id="template" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t =& $this->addWidget('select', 'include');
        $t->alt = intl_get('Include in Site Navigation?');
        $t->setValues(array('yes' => 'Yes', 'no' => 'No'));
        $t->setValue($_document->include);
        $help = addslashes(intl_get('This determines whether or not you want the page to appear in the web site menus and site maps.'));
        $t->extra = 'id="include" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t->advanced = true;
        $t =& $this->addWidget('select', 'include_in_search');
        $t->alt = intl_get('Include in Search?');
        $t->setValues(array('yes' => 'Yes', 'no' => 'No'));
        $t->setValue($_document->include_in_search);
        $help = addslashes(intl_get('This determines whether or not you want the page to be indexed to appear in search results.'));
        $t->extra = 'id="include_in_search" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t->advanced = true;
        $t =& $this->addWidget('text', 'sort_weight');
        $t->alt = intl_get('Sorting Weight');
        $t->setValue($_document->sort_weight);
        $help = addslashes(intl_get('This determines the position of the page within the web site menus and site maps.  Pages with a higher value appear closer to the top.  Pages with the same value are sorted alphabetically.'));
        $t->extra = 'id="sort_weight" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t->advanced = true;
        $t =& $this->addWidget('select', 'is_section');
        $t->alt = intl_get('Is This a Section Index?');
        $t->setValues(array('yes' => 'Yes', 'no' => 'No'));
        $t->setValue($_document->is_section);
        $help = addslashes(intl_get('If you make this page a section index, then pages below it will adopt its template settings if theirs is not specified explicitly.  This allows you to give a consistent look and feel to entire sections of your web site.'));
        $t->extra = 'id="is_section" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t->advanced = true;
        $t =& $this->addWidget('xed.Widget.Linker', 'external');
        $t->alt = intl_get('Forward to (URL)');
        $t->setValue($_document->external);
        $help = addslashes(intl_get('If you provide a link to an external web page or file (ie. a PDF or Word document), then this page can act as an alias for that resource within your web site navigation.'));
        $t->extra = 'size="40" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t->length = 128;
        $t->advanced = true;
        $t->files = false;
        $t->anchors = false;
        $t->email = false;
        $t =& $this->addWidget('section', 'section3');
        $t->title = intl_get('Page Attributes');
        $t =& $this->addWidget('cms.Widget.Keywords', 'keywords');
        $t->alt = intl_get('Keywords');
        $t->setValue($_document->keywords);
        $help = addslashes(intl_get('Type in or select the keywords from the global list that describe the current page.  Keywords help target your page to its intended audience in search engines and site searches.'));
        $t->extra = 'id="keywords" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t =& $this->addWidget('textarea', 'description');
        $t->alt = intl_get('Description');
        $t->setValue($_document->description);
        $t->rows = 3;
        $t->labelPosition = 'left';
        $help = addslashes(intl_get('A description helps target your page to its intended audience in search engines and site searches performed by visitors.'));
        $t->extra = 'id="description" style="overflow: hidden" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $w =& $this->addWidget('tab', 'tab3');
        $w->title = intl_get('State');
        // state widgets go here
        $t =& $this->addWidget('status', 'sitellite_status');
        $t->collection = 'sitellite_page';
        $t->alt = intl_get('Status');
        $t->setDefault('draft');
        $t->setValue($_document->sitellite_status);
        $help = addslashes(intl_get('The status determines what stage of its lifecycle that your document is in.  Only Approved pages can be viewed on the live site.  Queued pages are set to be approved on the specified Publish On date (below) by the scheduler.'));
        $t->extra = 'id="sitellite_status" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t =& $this->addWidget('access', 'sitellite_access');
        $t->alt = intl_get('Access Level');
        $t->setValue($_document->sitellite_access);
        $help = addslashes(intl_get('The access level of a document determines who is allowed to view it.  This allows you to make portions of your site completely private, or only available to specific user roles (ie. members-only).'));
        $t->extra = 'id="sitellite_access" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t =& $this->addWidget('calendar', 'sitellite_startdate');
        $t->alt = intl_get('Publish On (If Status is "Queued")');
        $t->nullable = true;
        $t->showsTime = true;
        $t->format = '%Y-%m-%d %H:%M:%S';
        $t->displayFormat = '%a, %e %b, %Y - %l:%M%P';
        $t->setValue($_document->sitellite_startdate);
        $t->advanced = true;
        $t =& $this->addWidget('calendar', 'sitellite_expirydate');
        $t->alt = intl_get('Archive On (If Status is "Approved")');
        $t->nullable = true;
        $t->showsTime = true;
        $t->format = '%Y-%m-%d %H:%M:%S';
        $t->displayFormat = '%a, %e %b, %Y - %l:%M%P';
        $t->setValue($_document->sitellite_expirydate);
        $t->advanced = true;
        $t =& $this->addWidget('owner', 'sitellite_owner');
        $t->alt = intl_get('Created By');
        $t->setValue($_document->sitellite_owner);
        $t->advanced = true;
        $t =& $this->addWidget('team', 'sitellite_team');
        $t->alt = intl_get('Owned by Team');
        $t->setValue($_document->sitellite_team);
        $t->extra = 'id="sitellite_team"';
        $t->advanced = true;
        $t =& $this->addWidget('textarea', 'changelog');
        $t->alt = intl_get('Change Summary');
        $t->rows = 3;
        $t->labelPosition = 'left';
        $help = addslashes(intl_get('The change summary helps give other site editors, including yourself, a more complete history of the changes that have been made to this page.'));
        $t->extra = 'id="changelog" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $w =& $this->addWidget('tab', 'tab-end');
        // submit buttons
        $w =& $this->addWidget('msubmit', 'submit_button');
        $b =& $w->getButton();
        $b->setValues(intl_get('Save'));
        $b->extra = 'onclick="onbeforeunload_form_submitted = true"';
        $b =& $w->addButton('submit_button', intl_get('Preview'));
        $b->extra = 'onclick="return cms_preview (this.form)"';
        $b =& $w->addButton('submit_button', intl_get('Cancel'));
        $b->extra = 'onclick="return cms_cancel_unlock (this.form, \'' . urlencode($cgi->_collection) . '\', \'' . urlencode($cgi->_key) . '\')"';
        $this->error_mode = 'all';
    }
Esempio n. 9
0
 function CmsEditForm()
 {
     parent::MailForm();
     $this->autosave = true;
     global $page, $cgi;
     $this->extra = 'id="cms-edit-form"';
     // get copy from repository
     loader_import('cms.Versioning.Rex');
     $rex = new Rex($cgi->_collection);
     // default: database, database
     if (strpos($rex->key, ',') !== false) {
         $pkeys = preg_split('/, ?/', $rex->key);
         $pvals = explode('|', $cgi->_key);
         $key = array();
         for ($i = 0; $i < count($pkeys); $i++) {
             $key[$pkeys[$i]] = $pvals[$i];
         }
     } else {
         $key = $cgi->_key;
     }
     $_document = $rex->getCurrent($key);
     $widgets = $rex->getStruct();
     if (!$widgets) {
         $widgets = array();
     }
     // edit widgets go here
     $this->widgets = array_merge($this->widgets, $widgets);
     foreach ($this->widgets as $k => $v) {
         if (strtolower(get_class($this->widgets[$k])) == 'mf_widget_xeditor') {
             $this->extra = 'onsubmit="xed_copy_value (this, \'' . $k . '\')"';
         }
         if (isset($_document->{$k})) {
             $this->widgets[$k]->setValue($_document->{$k});
         }
     }
     foreach ($rex->info as $k => $v) {
         if (preg_match('/^hint:(.*)$/', $k, $regs)) {
             if (!isset($this->widgets[$regs[1]])) {
                 $w =& $this->createWidget($regs[1], $v);
                 $w->id = $cgi->_key;
             }
         }
     }
     $w =& $this->addWidget('hidden', '_key');
     $w =& $this->addWidget('hidden', '_collection');
     $w =& $this->addWidget('hidden', '_return');
     if ($rex->isVersioned) {
         $t =& $this->addWidget('textarea', 'changelog');
         $t->alt = intl_get('Change Summary');
         $t->rows = 3;
         $t->labelPosition = 'left';
         $t->extra = 'id="changelog"';
         if (isset($rex->info['hint:changelog'])) {
             $hint =& $rex->info['hint:changelog'];
             if ($hint['type']) {
                 $t =& $t->changeType($hint['type']);
                 unset($hint['type']);
             }
             foreach ($hint as $k => $v) {
                 if (method_exists($t, $k)) {
                     $t->{$k}($v);
                 } else {
                     $t->{$k} = $v;
                 }
             }
         }
         $this->widgets['changelog'] =& $t;
     }
     // submit buttons
     $w =& $this->addWidget('msubmit', 'submit_button');
     $b =& $w->getButton();
     $b->setValues(intl_get('Save'));
     $b->extra = 'onclick="onbeforeunload_form_submitted = true"';
     $b =& $w->addButton('submit_button', intl_get('Cancel'));
     $b->extra = 'onclick="return cms_cancel (this.form)"';
     $this->error_mode = 'all';
     if ($rex->info['Collection']['singular']) {
         page_title(intl_get('Editing') . ' ' . $rex->info['Collection']['singular'] . ': ' . $_document->{$rex->key});
     } else {
         page_title(intl_get('Editing Item') . ': ' . $_document->{$rex->key});
     }
 }
Esempio n. 10
0
        }
        if (is_int($maxlen)) {
            if (strlen($res[$k]->body) > $maxlen) {
                $res[$k]->body = substr($res[$k]->body, 0, $maxlen) . '...';
            }
        }
    }
    $res->category_name = db_shift('select title from siteblog_category where id = ?', $res->category);
    echo template_simple($template, array('post' => $res));
} elseif (!empty($cgi->id)) {
    //single post to view
    $template = 'post.spt';
    if (isset($cgi->head)) {
        echo template_simple('browsehead.spt', array('title' => 'Viewing Single Post'));
    }
    $post = $rex->getCurrent($cgi->id);
    if ($properties[$post->category]['comments'] == 'on') {
        $post->comments_on = true;
        $post->comment = db_fetch_array('select * from siteblog_comment where child_of_post = ? ORDER BY date ASC', $cgi->id);
        $post->comments = count($post->comment);
    } else {
        $post->comments_on = false;
    }
    if ($properties[$post->category]['poster_visible'] == 'yes') {
        $post->show_author = true;
    }
    $post->category_name = db_shift('select title from siteblog_category where id = ?', $post->category);
    $cgi->post = $cgi->id;
    page_title($post->subject);
    echo template_simple($template, $post);
    //if (count ($comments) > 0) {
Esempio n. 11
0
 function MultilingualTranslateForm()
 {
     parent::MailForm();
     $this->autosave = true;
     global $page, $cgi, $intl;
     $intl->language = $cgi->_lang;
     $intl->charset = $intl->languages[$intl->language]['charset'];
     $this->extra = 'id="multilingual-translate-form"';
     $w =& $this->addWidget('template', '_header');
     $this->lang = multilingual_filter_lang($cgi->_lang);
     $this->reflang = multilingual_filter_lang(intl_default_lang());
     $w->template = '<tr><th colspan="2" width="50%">{intl Language}: {lang}</th><th width="50%">{intl Reference}: {reflang}</th></tr>';
     // get copy from repository
     loader_import('cms.Versioning.Rex');
     $rex = new Rex($cgi->_collection);
     $doc = $rex->getCurrent($cgi->_key);
     $widgets = $rex->getStruct();
     if (!$widgets) {
         $widgets = array();
     }
     // edit widgets go here
     $this->widgets = array_merge($this->widgets, $widgets);
     foreach ($this->widgets as $k => $v) {
         if (in_array($k, array($rex->key, 'sitellite_status', 'sitellite_access', 'sitellite_startdate', 'sitellite_expirydate', 'sitellite_owner', 'sitellite_team'))) {
             unset($this->widgets[$k]);
             continue;
         }
         if ($v->name != '_header' && !in_array($v->type, array('text', 'textarea', 'xeditor'))) {
             unset($this->widgets[$k]);
             continue;
         }
         if (strtolower(get_class($this->widgets[$k])) == 'mf_widget_xeditor') {
             $this->extra = 'onsubmit="xed_copy_value (this, \'' . $k . '\')"';
         }
         if (isset($doc->{$k})) {
             $this->widgets[$k]->reference = $doc->{$k};
         }
     }
     $w =& $this->addWidget('hidden', '_key');
     $w =& $this->addWidget('hidden', '_collection');
     $w =& $this->addWidget('hidden', '_lang');
     $w =& $this->addWidget('status', '_status');
     $w->alt = intl_get('Translation Status');
     $w->setValue('draft');
     $w->reference = '';
     // submit buttons
     $w =& $this->addWidget('msubmit', 'submit_button');
     $w->reference = '';
     $b =& $w->getButton();
     $b->setValues(intl_get('Save'));
     $b =& $w->addButton('submit_button', intl_get('Cancel'));
     $b->extra = 'onclick="return cms_cancel (this.form)"';
     $this->error_mode = 'all';
     if ($rex->info['Collection']['singular']) {
         page_title(intl_get('Translating') . ' ' . $rex->info['Collection']['singular'] . ': ' . $doc->{$rex->key});
     } else {
         page_title(intl_get('Translating Item') . ': ' . $doc->{$rex->key});
     }
     $tr = new Translation($cgi->_collection, $cgi->_lang);
     $curr = $tr->get($cgi->_key);
     if ($curr) {
         foreach ($curr->data as $k => $v) {
             if (isset($this->widgets[$k])) {
                 $this->widgets[$k]->setDefault($v);
             }
         }
         $this->widgets['_status']->setDefault($curr->sitellite_status);
     }
 }
Esempio n. 12
0
<?php

/* Parameters contains:
 * - collection: The collection the item belongs to
 * - key: The primary key value of the item
 * - message: A brief description of the event
 *
 * Note that services are triggered *after* the change has been
 * made.  The only way you can undo changes in a service is by
 * using the cms.Versioning.Rex API if the collection in question
 * supports versioning (not all do).  Also, you can, if necessary,
 * create further modifications to the document, also via the
 * Rex API.
 */
if ($parameters['collection'] == 'sitellite_page') {
    $rex = new Rex($parameters['collection']);
    $current = $rex->getCurrent($parameters['key']);
    if (!$current) {
        $current = new StdClass();
        $current->below_page = '';
    }
    foreach (db_shift_array('select id from sitellite_page where below_page = ?', $parameters['key']) as $child) {
        $method = $rex->determineAction($child);
        if (!$method) {
            die($rex->error);
        }
        $rex->{$method}($child, array('below_page' => $current->below_page), 'Relocated due to deleted parent page.');
    }
}
Esempio n. 13
0
    function CmsEditSitellite_filesystemForm()
    {
        parent::MailForm();
        $this->autosave = true;
        $this->parseSettings('inc/app/cms/forms/edit/sitellite_filesystem/settings.php');
        global $page, $cgi;
        page_title(intl_get('Editing File') . ': ' . $cgi->_key);
        loader_import('ext.phpsniff');
        $sniffer = new phpSniff();
        $this->_browser = $sniffer->property('browser');
        // include formhelp, edit panel init, and cancel handler
        page_add_script(site_prefix() . '/js/formhelp-compressed.js');
        page_add_script(CMS_JS_FORMHELP_INIT);
        page_add_script('
			function cms_cancel_unlock (f, collection, key) {
				onbeforeunload_form_submitted = true;
				if (arguments.length == 0) {
					window.location.href = "' . site_prefix() . '/index/cms-unlock-action?collection=" + collection + "&key=" + key + "&return=' . site_prefix() . '/index/cms-app";
				} else {
					if (f.elements[\'_return\'] && f.elements[\'_return\'].value.length > 0) {
						window.location.href = "' . site_prefix() . '/index/cms-unlock-action?collection=" + collection + "&key=" + key + "&return=" + f.elements[\'_return\'].value;
					} else {
						window.location.href = "' . site_prefix() . '/index/cms-unlock-action?collection=" + collection + "&key=" + key + "&return=' . site_prefix() . '/index/news-app";
					}
				}
				return false;
			}

			function cms_preview_action (f) {
				cms_copy_values (f);
				return cms_preview (f);
			}
			
			function cms_cancel_action (f) {
				cms_copy_values (f);
				if (confirm (\'Are you sure you want to cancel?\')) {
					return cms_cancel (f);
				}
				return false;
			}
		');
        if (session_pref('form_help') == 'off') {
            page_add_script('
				formhelp_disable = true;
			');
        }
        // add cancel handler
        $this->widgets['submit_button']->buttons[1]->extra = 'onclick="return cms_cancel_unlock (this.form, \'' . $cgi->_collection . '\', \'' . $cgi->_key . '\')"';
        // get copy from repository
        loader_import('cms.Versioning.Rex');
        $rex = new Rex($cgi->_collection);
        $_document = $rex->getCurrent($cgi->_key);
        // set values from repository entry
        $info = pathinfo($_document->name);
        if ($info['dirname'] == '.') {
            $info['dirname'] = '';
        }
        $_document->folder = $info['dirname'];
        $_document->file = $_document->name;
        unset($_document->name);
        foreach (get_object_vars($_document) as $k => $v) {
            if (is_object($this->widgets[$k])) {
                $this->widgets[$k]->setValue($v);
            }
        }
        /*if ($rex->determineAction ($cgi->_key) != 'modify') {
        			// turn name field into hidden w/ _key's value
        			$this->widgets['name'] =& $this->widgets['name']->changeType ('info');
        			$this->widgets['name']->setValue (basename ($cgi->_key));
        			$this->widgets['folder'] =& $this->widgets['folder']->changeType ('info');
        			$this->widgets['folder']->setValue (dirname ($cgi->_key));
        		}*/
    }
Esempio n. 14
0
{
    if (is_object($file)) {
        $file = (array) $file;
    }
    ob_start();
    Workflow::trigger($action, array('collection' => 'sitellite_filesystem', 'key' => $key, 'data' => $file, 'changelog' => $changelog, 'message' => 'Collection: sitellite_filesystem, Item: ' . $file['name']));
    ob_end_clean();
}
$rex = new Rex('sitellite_filesystem');
$prefix = 'inc/data';
lock_init();
umask(00);
switch ($parameters['method']) {
    case 'copy':
        $path = webfiles_request();
        $info = $rex->getCurrent(ltrim($path, '/'));
        if (!$info) {
            webfiles_error(404, 'Not found');
        }
        $info2 = clone $info;
        unset($info2->body);
        unset($info2->name);
        if (!session_allowed($info2, 'r')) {
            webfiles_error(403, 'Forbidden');
        }
        $parts = pathinfo($path);
        $parts['basename'] = preg_replace('/\\.' . preg_quote($parts['extension']) . '$/', '', $parts['basename']);
        $new_name = $parts['dirname'] . '/' . $parts['basename'] . ' copy' . '.' . $parts['extension'];
        if (empty($parts['extension'])) {
            $new_name = rtrim($new_name, '.');
        }
Esempio n. 15
0
    function CmsEditSitellite_sidebarForm()
    {
        parent::MailForm();
        $this->autosave = true;
        global $page, $cgi;
        loader_import('ext.phpsniff');
        $sniffer = new phpSniff();
        $this->_browser = $sniffer->property('browser');
        $this->extra = 'id="cms-edit-form" onsubmit="xed_copy_value (this, \'body\')"';
        // include formhelp
        page_add_script(site_prefix() . '/js/formhelp-compressed.js');
        page_add_script('
			formhelp_prepend = \'<table border="0" cellpadding="0"><tr><td width="12" valign="top"><img src="' . site_prefix() . '/inc/app/cms/pix/arrow-10px.gif" alt="" border="0" /></td><td valign="top">\';
			formhelp_append = \'</td></tr></table>\';

			function cms_preview_action (f) {
				cms_copy_values (f);
				return cms_preview (f);
			}
			
			function cms_cancel_action (f) {
				cms_copy_values (f);
				if (confirm (\'Are you sure you want to cancel?\')) {
					return cms_cancel (f);
				}
				return false;
			}
		');
        if (session_pref('form_help') == 'off') {
            page_add_script('
				formhelp_disable = true;
			');
        }
        // get copy from repository
        loader_import('cms.Versioning.Rex');
        $rex = new Rex($cgi->_collection);
        // default: database, database
        $_document = $rex->getCurrent($cgi->_key);
        $w =& $this->addWidget('tab', 'tab1');
        $w->title = intl_get('Edit');
        // edit widgets go here
        $w =& $this->addWidget('text', 'id');
        $w->alt = intl_get('Sidebar ID');
        $w->addRule('not empty', 'You must enter an ID for your sidebar.');
        $w->addRule('not regex "[^a-zA-Z0-9_-]"', 'Your sidebar ID contains invalid characters.');
        $w->addRule('func "rex_unique_id_rule"', 'Your modified sidebar ID already exists.');
        $help = addslashes(intl_get('Must contain only letters, numbers, underscores, and dashes (ie. product_info).'));
        $w->extra = 'onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $w->setValue($cgi->_key);
        $w->length = 32;
        $w =& $this->addWidget('hidden', '_key');
        $w =& $this->addWidget('hidden', '_collection');
        $w =& $this->addWidget('hidden', '_return');
        $w =& $this->addWidget('text', 'title');
        $w->alt = intl_get('Sidebar Title');
        //$w->addRule ('not empty', 'You must enter a title for your sidebar.');
        $w->extra = 'size="40"';
        $w->setValue($_document->title);
        $w->length = 72;
        $w =& $this->addWidget('xed.Widget.Xeditor', 'body');
        if (appconf('tidy_path')) {
            $w->tidy_path = appconf('tidy_path');
        }
        //$w->addRule ('not empty', 'You must enter content into your sidebar body.');
        $w->setValue($_document->body);
        $w->length = 65535;
        // set page title
        if (empty($_document->title)) {
            page_title('Editing Sidebar: ' . $_document->id);
        } else {
            page_title('Editing Sidebar: ' . $_document->title);
        }
        $w =& $this->addWidget('tab', 'tab2');
        $w->title = intl_get('Properties');
        // property widgets go here
        //$t =& $this->addWidget ('section', 'section1');
        //$t->title = intl_get ('Display Settings');
        $res = db_fetch('select * from sitellite_sidebar_position order by id asc');
        if (!$res) {
            $res = array('left' => intl_get('Left'));
        } elseif (is_object($res)) {
            $res = array($res->id => ucwords($res->id));
        } else {
            $n = array();
            foreach ($res as $row) {
                $n[$row->id] = ucwords($row->id);
            }
            $res = $n;
        }
        $t =& $this->addWidget('cms.Widget.Position', 'position');
        $t->alt = intl_get('Position');
        $t->setValues($res);
        $t->setValue($_document->position);
        $help = addslashes(intl_get('Choose the position where you want this sidebar to appear.'));
        $t->extra = 'id="position" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t =& $this->addWidget('text', 'sorting_weight');
        $t->alt = intl_get('Sorting Order');
        $t->setValue($_document->sorting_weight);
        $help = addslashes(intl_get('The larger the number, the further down the list of sidebars in the same position the current sidebar will appear.'));
        $t->extra = 'id="sorting_weight" style="width: 50px" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t->advanced = true;
        loader_box('sitellite/nav/init');
        $t =& $this->addWidget('multiple', 'show_on_pages');
        $t->alt = intl_get('Show in Sections');
        $t->setValues(array_merge(array('all' => intl_get('All')), menu_get_sections()));
        $t->setValue($_document->show_on_pages);
        $help = addslashes(intl_get('Choose the web site sections where you want this sidebar to appear. Ctrl-click to select more than one section.'));
        $t->extra = 'id="show_on_pages" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t->size = 5;
        $t =& $this->addWidget('boxchooser.Widget.Boxchooser', 'alias');
        $t->alt = intl_get('Alias of (a box name)');
        $t->setValue($_document->alias);
        $help = addslashes(intl_get('This allows you to specify the name of a box that will provide the contents of this sidebar.'));
        $t->extra = 'id="alias" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $w->length = 255;
        $t->advanced = true;
        $w =& $this->addWidget('tab', 'tab3');
        $w->title = intl_get('State');
        // state widgets go here
        $t =& $this->addWidget('status', 'sitellite_status');
        $t->alt = intl_get('Status');
        $t->setDefault('draft');
        $t->setValue($_document->sitellite_status);
        $help = addslashes(intl_get('The status determines what stage of its lifecycle that your document is in.  Only Approved items can be viewed on the live site.  Queued items are set to be approved on the specified Publish On date (below) by the scheduler.'));
        $t->extra = 'id="sitellite_status" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t =& $this->addWidget('access', 'sitellite_access');
        $t->alt = intl_get('Access Level');
        $t->setValue($_document->sitellite_access);
        $help = addslashes(intl_get('The access level of a document determines who is allowed to view it.  This allows you to make portions of your site completely private, or only available to specific user roles (ie. members-only).'));
        $t->extra = 'id="sitellite_access" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $t =& $this->addWidget('calendar', 'sitellite_startdate');
        $t->alt = intl_get('Publish On (If Status is "Queued")');
        $t->nullable = true;
        $t->showsTime = true;
        $t->format = '%Y-%m-%d %H:%M:%S';
        $t->displayFormat = '%a, %e %b, %Y - %l:%M%P';
        $t->setValue($_document->sitellite_startdate);
        $t->advanced = true;
        $t =& $this->addWidget('calendar', 'sitellite_expirydate');
        $t->alt = intl_get('Archive On (If Status is "Approved")');
        $t->nullable = true;
        $t->showsTime = true;
        $t->format = '%Y-%m-%d %H:%M:%S';
        $t->displayFormat = '%a, %e %b, %Y - %l:%M%P';
        $t->setValue($_document->sitellite_expirydate);
        $t->advanced = true;
        $t =& $this->addWidget('owner', 'sitellite_owner');
        $t->alt = intl_get('Created By');
        $t->setValue($_document->sitellite_owner);
        $t->advanced = true;
        $t =& $this->addWidget('team', 'sitellite_team');
        $t->alt = intl_get('Owned by Team');
        $t->setValue($_document->sitellite_team);
        $t->extra = 'id="sitellite_team"';
        $t->advanced = true;
        $t =& $this->addWidget('textarea', 'changelog');
        $t->alt = intl_get('Change Summary');
        $t->rows = 3;
        $t->labelPosition = 'left';
        $help = addslashes(intl_get('The change summary helps give other site editors, including yourself, a more complete history of the changes that have been made to this item.'));
        $t->extra = 'id="changelog" onfocus="formhelp_show (this, \'' . $help . '\')" onblur="formhelp_hide ()"';
        $w =& $this->addWidget('tab', 'tab-end');
        // submit buttons
        $w =& $this->addWidget('msubmit', 'submit_button');
        $b =& $w->getButton();
        $b->setValues('Save');
        $b->extra = 'onclick="onbeforeunload_form_submitted = true"';
        //$b =& $w->addButton ('submit_button', 'Preview');
        //$b->extra = 'onclick="return cms_preview (this.form)"';
        $b =& $w->addButton('submit_button', 'Cancel');
        $b->extra = 'onclick="return cms_cancel_unlock (this.form, \'' . urlencode($cgi->_collection) . '\', \'' . urlencode($cgi->_key) . '\')"';
        $this->error_mode = 'all';
    }
Esempio n. 16
0
loader_import('sitesearch.Functions');
loader_import('cms.Versioning.Rex');
$search = new SiteSearch();
$collections = Rex::getCollections();
$default_domain = conf('Site', 'domain');
$mtime = time();
$counts = array();
foreach ($collections as $collection) {
    $rex = new Rex($collection);
    if (!$rex->collection || !$rex->info['Collection']['sitesearch_url']) {
        continue;
    }
    $counts[$collection] = 0;
    foreach ($rex->getList(array()) as $item) {
        // index item
        $item = $rex->getCurrent($item->{$rex->key});
        if (!$item) {
            continue;
        }
        if (isset($rex->info['Collection']['sitesearch_include_field'])) {
            if ($item->{$rex->info['Collection']['sitesearch_include_field']} == 'no') {
                continue;
            }
        }
        if (!isset($item->sitellite_access)) {
            $item->sitellite_access = 'public';
        }
        if (!isset($item->sitellite_status)) {
            $item->sitellite_status = 'approved';
        }
        if (!isset($item->sitellite_status)) {
Esempio n. 17
0
// compile data
$res2 = array();
$locks = array();
$editable = array();
$align = array();
$width = array();
foreach ($res as $key => $row) {
    if (strpos($rex->key, ',') !== false) {
        // multiple column primary key
        $pkeys = preg_split('/, ?/', $rex->key);
        $row->{$rex->key} = array();
        foreach ($pkeys as $pk) {
            $row->{$rex->key}[$pk] = $row->{$pk};
        }
    }
    $row = $rex->getCurrent($row->{$rex->key});
    if (empty($row->{$rex->info['Collection']['title_field']})) {
        $row->{$rex->info['Collection']['title_field']} = $row->{$rex->key};
    }
    $tmp = new StdClass();
    foreach ($data['headers'] as $field) {
        $tmp->{$field->name} = $row->{$field->name};
        if ($data['fields'][$field->name]['filter']) {
            $filter = $data['fields'][$field->name]['filter'];
            $tmp->{$field->name} = $filter($tmp->{$field->name});
        } elseif ($data['fields'][$field->name]['virtual']) {
            $virtual = $data['fields'][$field->name]['virtual'];
            $tmp->{$field->name} = $virtual($row);
        } else {
            $tmp->{$field->name} = htmlentities_compat($tmp->{$field->name});
        }
Esempio n. 18
0
    $lock_info = lock_info($parameters['collection'], $parameters['id']);
    $parameters['lock_owner'] = $lock_info->user;
    $parameters['lock_expires'] = $lock_info->expires;
    loader_import('cms.Filters');
}
if (session_is_resource('delete') && !session_allowed('delete', 'rw', 'resource')) {
    $parameters['deletable'] = false;
}
if ($rex->isVersioned && $parameters['editable']) {
    //session_allowed ('approved', 'w', 'status')) {
    $parameters['history'] = true;
} else {
    $parameters['history'] = false;
}
if ($parameters['collection'] == 'sitellite_page') {
    $c = $rex->getCurrent($parameters['id']);
    if ($c->sitellite_status == 'draft' || $c->sitellite_status == 'pending') {
        //$parameters['status'] = $c->sitellite_status;
        $p = $rex->getSource($parameters['id']);
        if ($p == $c) {
            $parameters['draft'] = false;
        } else {
            $parameters['draft'] = true;
            // access the XT register and "adjust" the body field by adding
            // a wrapper around it that allows the buttons.spt template to
            // toggle between approved and draft versions of it.
            global $_xte;
            $_xte->register['object']->{$rex->info['Collection']['body_field']} = '<div id="scm-approved">' . $_xte->register['object']->{$rex->info['Collection']['body_field']} . '</div><div id="scm-draft" style="display: none">' . template_parse_body($c->{$rex->info['Collection']['body_field']}) . '</div>';
        }
    } else {
        $parameters['draft'] = false;
Esempio n. 19
0
function multilingual_filter_title($c, $id)
{
    $r = new Rex($c);
    $cur = $r->getCurrent($id);
    return $cur->{$r->info['Collection']['title_field']};
}