Пример #1
0
 public function purge(PerchContent_Page $Page)
 {
     $Settings = $this->api->get('Settings');
     $siteURL = $Settings->get('siteURL')->val();
     $url = parse_url($siteURL);
     if (!isset($url['protocol'])) {
         $siteURL = 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . $_SERVER['HTTP_HOST'];
     }
     $siteURL = rtrim($siteURL, '/');
     $this->issue_purge_request($siteURL . $Page->pagePath());
     $Routes = new PerchPageRoutes();
     $routes = $Routes->get_routes_for_page($Page->id());
     if (PerchUtil::count($routes)) {
         $Router = new PerchRouter();
         foreach ($routes as $Route) {
             if (substr($Route->routeRegExp(), 0, 1) != '^') {
                 $this->issue_purge_request($siteURL . '/' . $Route->routePattern());
             } else {
                 $posix = $Router->pattern_to_regexp($Route->routePattern(), true);
                 $this->issue_ban_request($siteURL, $posix);
             }
         }
     }
 }
                    } else {
                        $PageRoute->delete();
                    }
                }
            }
            $new_routes = $Form->receive(array('new_pattern'));
            if (count($new_routes)) {
                foreach ($new_routes as $pattern) {
                    if (trim($pattern) != '') {
                        $PageRoute = $PageRoutes->create(array('pageID' => $Page->id(), 'routePattern' => $pattern));
                    }
                }
            }
            $Form->reset_field('new_pattern');
        }
        $Alert->set('success', PerchLang::get('Successfully updated'));
    }
}
$created = false;
if (isset($_GET['created'])) {
    $Alert->set('success', PerchLang::get('Your page has been successfully created. Return to %spage listing%s', '<a href="' . PERCH_LOGINPATH . '/core/apps/content/">', '</a>'));
    $created = true;
}
$Roles = new PerchUserRoles();
$roles = $Roles->all();
$details = $Page->to_array();
$navgroups = $NavGroups->all();
if (PERCH_RUNWAY) {
    $routes = $PageRoutes->get_routes_for_page($Page->id());
    $collections = $Collections->all();
}