function rex_unique_id_rule($vals) { $r = new Rex($vals['_collection']); $orig = $vals['_key']; $new = $vals[$r->key]; if ($orig == $new) { // ID unchanged return true; } if ($r->getSource($new)) { // already exists return false; } // doesn't exist yet return true; }
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; } } elseif ($parameters['collection'] == 'sitellite_sidebar') { $c = $rex->getCurrent($parameters['id']);