$Form = new PerchForm('role', false); $req = array(); $req['roleTitle'] = "Required"; $Form->set_required($req); if ($Form->posted() && $Form->validate()) { PerchUtil::debug($_POST); $data = array(); $postvars = array('roleTitle'); $data = $Form->receive($postvars); $data['roleSlug'] = PerchUtil::urlify($data['roleTitle']); if (is_object($Role)) { $Role->update($data); } else { $Role = $Roles->create($data); } $privs = $Form->find_items('privs-'); $new_privs = array(); if (PerchUtil::count($privs)) { foreach ($privs as $category) { if (PerchUtil::count($category)) { foreach ($category as $item) { $new_privs[] = $item; } } } } $Role->set_privileges($new_privs); $Alert->set('success', PerchLang::get('Role successfully updated.')); } if ($Role) { $details = $Role->to_array();
// Find the region if (isset($_GET['id']) && is_numeric($_GET['id'])) { $id = (int) $_GET['id']; $Region = $Regions->find($id); } // Check we have a region if (!$Region || !is_object($Region)) { PerchUtil::redirect(PERCH_LOGINPATH . '/core/apps/content/'); } // Check permissions if (!$Region->role_may_edit($CurrentUser)) { PerchUtil::redirect(PERCH_LOGINPATH . '/core/apps/content/edit/denied/'); } $Form = new PerchForm('reorder'); if ($Form->posted() && $Form->validate()) { $items = $Form->find_items('item_'); if (PerchUtil::count($items)) { foreach ($items as $itemID => $itemOrder) { $Item = $Items->find_item($Region->id(), $itemID, $Region->regionLatestRev()); if (is_object($Item)) { $data = array(); $data['itemOrder'] = (int) $itemOrder; $Item->update($data); } } $Region->set_option('sortField', ''); if (!$Region->has_draft()) { $Region->publish(); $Region->index(); } $Alert->set('success', PerchLang::get('Item orders successfully updated.'));
$parentID = '0'; } if (!isset($sort_orders[$parentID])) { $sort_orders[$parentID] = 1; } else { $sort_orders[$parentID]++; } $order = $sort_orders[$parentID]; $Category = $Categories->find($catID); if (is_object($Category)) { $Category->update_tree_position($parentID, $order); } } } } } else { // Basic, non JavaScript ordering within section. PerchUtil::debug($_POST); $items = $Form->find_items('c-'); if (PerchUtil::count($items)) { foreach ($items as $catID => $catOrder) { $Category = $Categories->find($catID); if (is_object($Category)) { $Category->update_tree_position($Category->catParentID(), $catOrder); } } } } $Alert->set('success', PerchLang::get('Category orders successfully updated.')); PerchUtil::redirect(PERCH_LOGINPATH . '/core/apps/categories/sets/?id=' . $setID); }
$count = PerchUtil::count($PerchPage->get_list()) + 1; } if ($id !== $count) { PerchUtil::redirect(PERCH_LOGINPATH . '/apps/perchpages'); } // Check permission to add if ($CurrentUser->userRole() == 'Editor' && !$Settings->get('editorMayDeleteRegions')->settingValue()) { PerchUtil::redirect(PERCH_LOGINPATH . '/apps/perchpages'); } /* --------- Add Form ----------- */ $Form = new PerchForm('add'); $req = array(); $req['fileTemplate'] = 'Required'; $req['fileAlias'] = 'Required'; $req['fileDir'] = 'Required'; $req['fileName'] = 'Required'; $req['fileNameExt'] = 'Required'; $Form->set_required($req); $Form->posted = $Form->find_items('file'); $fileNameExts = array(array('label' => '.php', 'value' => 'php'), array('label' => '.html', 'value' => 'html'), array('label' => '.htm', 'value' => 'htm')); if ($Form->posted() && $Form->validate()) { $Form->posted['Location'] = $Form->posted['Dir'] . '/' . $Form->posted['Name'] . '.' . $Form->posted['NameExt']; unset($Form->posted['Dir'], $Form->posted['Name'], $Form->posted['NameExt']); if (!$PerchPage->copy_template($Form->posted['Template'], $Form->posted['Location'])) { PerchUtil::redirect(PERCH_LOGINPATH . '/apps/perchpages/?failure=add'); return false; } $Form->posted['Location'] = str_replace($PerchPage->root, '', $Form->posted['Location']); $PerchPage->add($Form->posted); PerchUtil::redirect(PERCH_LOGINPATH . '/apps/perchpages/?success=add'); }
if ($Region->regionPage() != '*') { $region_data = array(); $region_data['regionPage'] = $data['pagePath']; $Region->update($region_data); } } } // navgroups if (isset($_POST['navgroups']) && PerchUtil::count($_POST['navgroups'])) { $Page->update_navgroups($_POST['navgroups']); } else { $Page->remove_from_navgroups(); } if (PERCH_RUNWAY) { // routes $routes = $Form->find_items('routePattern_'); if (count($routes)) { foreach ($routes as $routeID => $pattern) { $PageRoute = $PageRoutes->find($routeID); if (!is_object($PageRoute)) { continue; } if (trim($pattern) != '') { $pattern = trim($pattern, '/'); $PageRoute->update(array('routePattern' => $pattern)); } else { $PageRoute->delete(); } } } $new_routes = $Form->receive(array('new_pattern'));
$parentID = '0'; } if (!isset($sort_orders[$parentID])) { $sort_orders[$parentID] = 1; } else { $sort_orders[$parentID]++; } $order = $sort_orders[$parentID]; $Page = $Pages->find($pageID); if (is_object($Page)) { $Page->update_tree_position($parentID, $order); } } } } } else { // Basic, non JavaScript ordering within section. PerchUtil::debug($_POST); $items = $Form->find_items('p-'); if (PerchUtil::count($items)) { foreach ($items as $pageID => $pageOrder) { $Page = $Pages->find($pageID); if (is_object($Page)) { $Page->update_tree_position($Page->pageParentID(), $pageOrder); } } } } $Alert->set('success', PerchLang::get('Page orders successfully updated.')); PerchUtil::redirect(PERCH_LOGINPATH . '/core/apps/content/'); }