import(‘blogspirit.BlogSpiritSecurity’);
$loader->import(‘webforms.core.WebFormController’);
$loader->import(‘webforms.core.WebFormValidator’);
$loader->import(‘blogspirit.lists.SideListsFilter’);
$loader->import(‘blogspirit.lists.SideListsManager’);
$loader->import(‘blogspirit.lists.SideListContentType’);
$parser = $application->getParser();
$session = &Session::getInstance();
$sessionData = &$session->getSessionData();
$user = &$session->getUser();
$security = &BlogSpiritSecurity::getInstance();
$security->setPrincipal($user);
$blog_id = (isset($_GET['blog_id']) ? $_GET['blog_id'] : $sessionData->get(‘blog_id’));
$blog_type = (isset($_GET['blog_type']) ? $_GET['blog_type'] : $sessionData->get(‘blog_type’));
if(!$security->checkPermission($blog_type,$blog_id)) {
trigger_error(‘Hack’,E_USER_ERROR);
} else {
$sessionData->set(‘blog_id’,$blog_id);
$sessionData->set(‘blog_type’,$blog_type);
}
$blog = $security->getBlog();
$listManager = new SideListsManager;
$listManager->setBlog($blog);
if( ($lists = $user->getValueOf(’sidelists’))==null) { // check security
$filter = new SideListsFilter;
$filter->setBlogID($blog['blog_id']);
$lists = $listManager->getUserLists($filter);
$user->setValueOf(’sidelists’,$lists);
}
if(count($_POST)) { // validate
if (!isset($_POST['evnt'])) {
trigger_error(‘Unregistered “evnt” in forms !’,E_USER_ERROR);
} else if($_POST['evnt'] == ‘addlist’) {
$validator = new WebFormValidator(‘lists/viewlists’,'create_list’);
$webform = new WebFormController($validator);
$validator->setSource(array_merge($_POST,array(‘blog_path’=>$blog['blog_path'].’list/’,'blog_id’=>$blog['blog_id'])));
if($webform->handle($parser)) { // all right
$clean = $validator->reader($validator->clean());
$res = $listManager->update(array_merge(array(‘list_permalink’=>$blog['blog_url'].’list/’.$clean['list_folder'].’/'),$clean));
$user->setValueOf(’sidelists’,null);
}
} else {
trigger_error(‘Unknown evnt’.$_POST['evnt'],E_USER_ERROR);
}
} else {
// initialize the form
$webform = new WebFormController(new WebFormValidator(”));
$webform->handle($parser);
}
$filter = new SideListsFilter;
$filter->setBlogID($blog['blog_id']);
$filter->appendCountItems();
$filter->setLastUpdated();
$filter->orderByCreation();
$lists = $listManager->getLists($filter);
$parser->assign(‘lists’,$lists);
$parser->assign(‘blog_type’,$blog_type);
$parser->assign($blog);
$parser->display(‘lists/viewlists’);
?>
0 respuestas hasta el momento ↓
Todavía no hay comentarios... Empiece usted rellenando el siguiente formulario.