Пример #1
0
$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();
Пример #2
0
// 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.'));
Пример #3
0
                        $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);
}
Пример #4
0
    $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'));
Пример #6
0
                        $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/');
}