本文整理汇总了PHP中CSession::getCurrentUser方法的典型用法代码示例。如果您正苦于以下问题:PHP CSession::getCurrentUser方法的具体用法?PHP CSession::getCurrentUser怎么用?PHP CSession::getCurrentUser使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSession
的用法示例。
在下文中一共展示了CSession::getCurrentUser方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionAdd
public function actionAdd()
{
$biography = new CBiography();
$biography->user_id = CSession::getCurrentUser()->getId();
$this->setData("biography", $biography);
$this->renderView("_biography/add.tpl");
}
示例2: actionSave
public function actionSave()
{
$quest = new CQuestion();
$quest->setAttributes(CRequest::getArray($quest::getClassName()));
if ($quest->validate()) {
if (!CSession::isAuth()) {
$user = "";
} else {
$user = CStaffManager::getUser(CSession::getCurrentUser()->getId())->getName();
}
$quest->contact_info .= " " . $user . '; ip ' . $_SERVER["REMOTE_ADDR"];
if ($quest->answer_text != '') {
$quest->datetime_answ = date("Y-d-m H:i:s", time());
}
$quest->save();
if ($this->continueEdit()) {
$this->redirect("?action=edit&id=" . $quest->getId());
} else {
$this->redirect(WEB_ROOT);
}
return true;
}
$this->setData("quest", $quest);
$this->renderView("__public/_question_add/edit.tpl");
}
示例3: onCreate
public function onCreate(CModel $model)
{
$result = false;
if (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_WRITE_ALL) {
/**
* Пользователь может создавать что-нибудь только если у него уровень
* Чтение и запись всех записей.
*/
$result = true;
}
return $result;
}
示例4: actionIndex
public function actionIndex()
{
$parent = 0;
$title = "Нормативные документы";
if (CRequest::getInt("parent")) {
$parent = CRequest::getInt("parent");
$parentFolder = CDocumentsManager::getFolder($parent);
if (!is_null($parentFolder)) {
$title = $parentFolder->title;
}
}
// извлекаем все папки с учетом иерархии
$query = new CQuery();
$query->select("f.*")->from(TABLE_DOCUMENT_FOLDERS . " as f")->condition("f.parent_id = " . $parent)->order("f.title asc");
$objects = new CArrayList();
foreach ($query->execute()->getItems() as $ar) {
$folder = new CDocumentFolder(new CActiveRecord($ar));
$objects->add($objects->getCount(), $folder);
}
// теперь извлекаем все файлы
$query = new CQuery();
$query->select("f.*")->from(TABLE_DOCUMENTS . " as f")->condition("f.folder_id = " . $parent . " and f.nameFolder like 'gost%'")->order("f.browserFile asc");
foreach ($query->execute()->getItems() as $ar) {
$file = new CDocumentFile(new CDocumentActiveRecord($ar));
$objects->add($objects->getCount(), $file);
}
$this->setData("title", $title);
$this->setData("objects", $objects);
/**
* Генерация меню
*/
// если есть родительская папка, то переходим в нее
if ($parent != 0) {
$parentFolder = CDocumentsManager::getFolder($parent);
if (!is_null($parentFolder)) {
$this->addActionsMenuItem(array("title" => "Назад", "link" => "index.php?action=index&parent=" . $parentFolder->parent_id, "icon" => "actions/edit-undo.png"));
}
}
// если пользователь может чего-нибудь добавлять, то пусть добавит
$this->setData("canEdit", false);
if (CSession::isAuth()) {
if (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_WRITE_ALL || CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_WRITE_OWN_ONLY) {
$this->addActionsMenuItem(array("title" => "Создать папку", "link" => "index.php?action=add&parent=" . $parent, "icon" => "actions/folder-new.png"));
$this->addActionsMenuItem(array("title" => "Загрузить файл", "link" => "files.php?action=add&parent=" . $parent, "icon" => "actions/bookmark-new.png"));
$this->setData("canEdit", true);
}
}
/**
* Отображение представления
*/
$this->addCSSInclude("_modules/_documents/style.css");
$this->renderView("_documents/_folder/index.tpl");
}
示例5: actionIndex
public function actionIndex()
{
$settings = new CUserSettings();
$settings->user_id = CSession::getCurrentUser()->getId();
if (!is_null(CSession::getCurrentUser()->getPersonalSettings())) {
$settings = CSession::getCurrentUser()->getPersonalSettings();
}
$sizes = array(5, 6, 7, 8);
$this->setData("sizes", $sizes);
$this->setData("settings", $settings);
$this->addActionsMenuItem(array("title" => "Добавить инфографику", "link" => "reports.php?action=add&id=" . $settings->getId(), "icon" => "actions/list-add.png"));
$this->renderView("_settings/index.tpl");
}
示例6: actionAdd
public function actionAdd()
{
$newsItem = new CNewsItem();
$newsItem->user_id_insert = CSession::getCurrentUser()->getId();
$newsItem->date_time = date("d.m.Y");
$newsItem->news_type = "notice";
$this->addJSInclude(JQUERY_UI_JS_PATH);
$this->addCSSInclude(JQUERY_UI_CSS_PATH);
$this->addCSSInclude("_modules/_redactor/redactor.css");
$this->addJSInclude("_modules/_redactor/redactor.min.js");
$this->setData("newsItem", $newsItem);
$this->renderView("_news/add.tpl");
}
示例7: actionIndex
public function actionIndex()
{
$this->addActionsMenuItem(array(array("title" => "Показатели преподавателей", "link" => "persons.php", "icon" => "apps/system-users.png"), array("title" => "Публикации", "link" => WEB_ROOT . "_modules/_staff/publications.php", "icon" => "actions/document-open.png")));
if (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_WRITE_ALL) {
$this->addActionsMenuItem(array(array("title" => "Типы изданий", "link" => "?action=types", "icon" => "actions/address-book-new.png")));
}
$this->addJSInclude("_core/HighCharts/highcharts.src.js");
$this->addJSInclude("_core/HighCharts/modules/exporting.src.js");
$this->addJSInclude("_modules/_rating/ratingPublications.js");
$this->addJSInclude("_core/jquery-ui-1.8.20.custom.min.js");
$this->addJSInclude("_core/jTagIt/tag-it.js");
$this->addCSSInclude("_core/jUI/jquery-ui-1.8.2.custom.css");
$this->addCSSInclude("_core/jTagIt/jquery.tagit.css");
$this->renderView("_rating_publications/index.tpl");
}
示例8: onUpdate
/**
* Проверяем, что текущий пользователь имеет право редактировать записи
*
* @param CModel $model
* @return bool
*/
public function onUpdate(CModel $model)
{
$result = true;
if (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_NO_ACCESS) {
/**
* Проверим, что пользователь имеет доступ к текущей задаче
*/
$result = false;
} elseif (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_READ_OWN_ONLY || CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_READ_ALL) {
/**
* Пользователь с правом только на чтение не может что-либо сохранять
*/
$result = false;
} elseif (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_WRITE_OWN_ONLY) {
/**
* Проверим, что текущий пользователь есть в authors-полях модели,
* которую будет сохранять
*/
$result = false;
$coreModel = CCoreObjectsManager::getCoreModel($model);
if (is_null($coreModel)) {
/**
* Если модели нет, то будем считать, что отвалидировано
* успешно. Иначе сломается все остальное
*/
$result = true;
} else {
if ($coreModel->getAuthorsFields()->getCount() == 0) {
/**
* Не стопорим систему если она не настроена.
* Если поля не указаны, то не валидируем
*/
$result = true;
} else {
/**
* Проверяем, что текущий пользователь прописан в authors-полях модели
*/
foreach ($coreModel->getAuthorsFields()->getItems() as $field) {
$fieldName = $field->field_name;
if ($model->{$fieldName} == CSession::getCurrentPerson()->getId()) {
$result = true;
}
}
}
}
}
return $result;
}
示例9: actionSearch
public function actionSearch()
{
$res = array();
$term = CRequest::getString("query");
/**
* Сначала поищем по названию группы
*/
$query = new CQuery();
$query->select("distinct(page.id) as id, page.title as name")->from(TABLE_PAGES . " as page")->condition("page.title like '%" . $term . "%'")->limit(0, 5);
if (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_READ_OWN_ONLY or CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_WRITE_OWN_ONLY) {
$query->condition("page.title like '%" . $term . "%' AND page.user_id_insert = " . CSession::getCurrentUser()->getId());
}
foreach ($query->execute()->getItems() as $item) {
$res[] = array("field" => "id", "value" => $item["id"], "label" => $item["name"], "class" => "CPage");
}
echo json_encode($res);
}
示例10: actionIndex
public function actionIndex()
{
$set = new CRecordSet();
$query = new CQuery();
$query->select("gr.*")->from(TABLE_GRANTS . " as gr")->order("gr.id desc");
if (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_READ_OWN_ONLY || CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_WRITE_OWN_ONLY) {
$query->leftJoin(TABLE_GRANT_MEMBERS . " as m", "m.grant_id = gr.id");
$query->condition("gr.author_id=" . CSession::getCurrentPerson()->getId() . " OR m.person_id=" . CSession::getCurrentPerson()->getId() . " or gr.manager_id=" . CSession::getCurrentUser()->getId());
}
$set->setQuery($query);
$grants = new CArrayList();
foreach ($set->getPaginated()->getItems() as $ar) {
$grant = new CGrant($ar);
$grants->add($grant->getId(), $grant);
}
$this->setData("grants", $grants);
$this->setData("paginator", $set->getPaginator());
$this->renderView("_grants/grant/index.tpl");
}
示例11: __construct
public function __construct()
{
if (!CSession::isAuth()) {
$action = CRequest::getString("action");
if ($action == "") {
$action = "index";
}
if (!in_array($action, $this->allowedAnonymous)) {
$this->redirectNoAccess();
}
} else {
if (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_NO_ACCESS) {
$this->redirectNoAccess();
}
}
$this->_smartyEnabled = true;
$this->setPageTitle("Управление таксономиями");
parent::__construct();
}
示例12: actionAddNewsItem
public function actionAddNewsItem()
{
$order = CStaffManager::getUsatuOrder(CRequest::getInt("id"));
$newsItem = new CNewsItem();
$newsItem->user_id_insert = CSession::getCurrentUser()->getId();
$newsItem->date_time = date("Y-m-d H:i:s");
$newsItem->news_type = "notice";
$newsItem->related_id = $order->getId();
$newsItem->related_type_name = get_class($order);
$newsItem->title = "Добавлен приказ №" . $order->num . " от " . $order->date . ": " . $order->title;
$newsItem->file = $order->text;
// скопируем файл, если он есть
if ($order->attachment != "") {
$propOrder = $order->fieldsProperty();
$propNews = $newsItem->fieldsProperty();
copy($propOrder["attachment"]["upload_dir"] . $order->attachment, $propNews["file_attach"]["upload_dir"] . $order->attachment);
$newsItem->file_attach = $order->attachment;
}
$newsItem->save();
$this->redirect("?action=edit&id=" . $order->getId());
}
示例13: actionIndex
public function actionIndex()
{
$selectedYear = null;
$set = new CRecordSet();
$query = new CQuery();
$set->setQuery($query);
$query->select("p.*")->from(TABLE_PERSON . " as p")->order("p.fio asc");
if (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_WRITE_OWN_ONLY || CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_READ_OWN_ONLY) {
if (is_null(CSession::getCurrentPerson())) {
$query->condition("p.id = 0");
} else {
$query->condition("p.id = " . CSession::getCurrentPerson()->getId());
}
}
// фильтр по году
if (!is_null(CRequest::getFilter("year.id"))) {
$query->innerJoin(TABLE_IND_PLAN_LOADS . " as l", "l.person_id = p.id");
$query->innerJoin(TABLE_YEARS . " as year", "l.year_id = year.id");
$selectedYear = CRequest::getFilter("year.id");
}
$yearsQuery = new CQuery();
$yearsQuery->select("year.*")->from(TABLE_YEARS . " as year")->order("year.name asc");
$years = array();
foreach ($yearsQuery->execute()->getItems() as $ar) {
$year = new CTimeIntervals(new CActiveRecord($ar));
$years[$year->getId()] = $year->name;
}
$persons = new CArrayList();
foreach ($set->getPaginated()->getItems() as $ar) {
$person = new CPerson($ar);
$persons->add($person->getId(), $person);
}
$this->addActionsMenuItem(array(array("title" => "Назад", "link" => "index.php", "icon" => "actions/edit-undo.png"), array("title" => "Печать по шаблону", "link" => "#", "icon" => "devices/printer.png", "template" => "formset_ind_plan_view")));
$this->setData("paginator", $set->getPaginator());
$this->setData("persons", $persons);
$this->setData("years", $years);
$this->setData("selectedYear", $selectedYear);
$this->renderView("_individual_plan/load/index.tpl");
}
示例14: actionIndex
public function actionIndex()
{
$set = new CRecordSet(true);
$query = new CQuery();
$set->setQuery($query);
$query->select("p.*")->from(TABLE_PERSON . " as p")->order("p.fio asc");
if (CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_WRITE_OWN_ONLY || CSession::getCurrentUser()->getLevelForCurrentTask() == ACCESS_LEVEL_READ_OWN_ONLY) {
if (is_null(CSession::getCurrentPerson())) {
$query->condition("p.id = 0");
} else {
$query->condition("p.id = " . CSession::getCurrentPerson()->getId());
}
}
$persons = new CArrayList();
foreach ($set->getPaginated()->getItems() as $ar) {
$person = new CPerson($ar);
$persons->add($person->getId(), $person);
}
$this->addActionsMenuItem(array(array("title" => "Назад", "link" => "index.php", "icon" => "actions/edit-undo.png"), array("title" => "Печать по шаблону", "link" => "#", "icon" => "devices/printer.png", "template" => "formset_ind_plan_view")));
$this->setData("paginator", $set->getPaginator());
$this->setData("persons", $persons);
$this->renderView("_individual_plan/load/index.tpl");
}
示例15: getTasksMenu
/**
* Меню задач для текущего пользователя.
* Возвращаются только доступные ему задачи
*
* @static
* @return CMenu
*/
private static function getTasksMenu()
{
if (!self::getCacheMenu()->hasElement("admin_menu")) {
$user = CSession::getCurrentUser();
/**
* Чтобы не выбиваться из общей концепции придется адаптировать существующую таблицу
* задач портала под вывод в виде меню. Также было бы неплохо сделать редактор этой
* гадости в виде такого же простого вида, как и с моими меню
*
* 1. Создадим фиктивную activeRecord из моего меню для ссылки в другое меню
* 2. Берем из таблицы группы меню (из task_menu_names)
* 3. Выберем пункты меню из нужной таблицы и добавим их как обычные пункты.
* 4. Добавим недостающие
* 5. Исключим недоступные текущему пользователю
*
* Обновление от 06.02.2014 - все пункты меню хранятся в базе
*/
// дополнительный пункт "Прочее"
$arr = array();
$arr['id'] = 100000;
$arr['title'] = "Меню админки";
$arr['alias'] = "admin_menu";
$arr['description'] = "Фиктивное меню для отображения задач портала";
$arr['published'] = 1;
$menu = new CMenu(new CActiveRecord($arr));
foreach (CActiveRecordProvider::getWithCondition("task_menu_names", "1=1 order by name desc")->getItems() as $i) {
$arr = $i->getItems();
// адаптер для моей системы меню
$arr['id'] = $arr['id'] + 100000;
$arr['title'] = $arr['name'];
$arr['anchor'] = "#";
$arr['menu_id'] = $menu->getId();
$arr['parent_id'] = 0;
$i->setItems($arr);
$menuItem = new CMenuItem($i);
$menu->addMenuItem($menuItem);
}
// дополнительный пункт "Прочее"
$arr = array();
$arr['id'] = 100000;
$arr['title'] = CUtils::getTextStringInCorrectEncoding("Прочее");
$arr['anchor'] = "#";
$arr['menu_id'] = $menu->getId();
$arr['parent_id'] = 0;
$menuItem = new CMenuItem(new CActiveRecord($arr));
$menu->addMenuItem($menuItem);
foreach (CActiveRecordProvider::getWithCondition("tasks", "hidden=0 order by name asc")->getItems() as $i) {
$arr = $i->getItems();
// адаптер для совместимости с моей системой
$arr['title'] = $arr['name'];
$arr['anchor'] = $arr['url'];
$arr['parent_id'] = $arr['menu_name_id'] + 100000;
$arr['menu_id'] = $menu->getId();
unset($arr['name']);
unset($arr['url']);
unset($arr['menu_name_id']);
unset($arr['hidden']);
unset($arr['kadri_in_task']);
unset($arr['students_in_task']);
unset($arr['comment']);
$i->setItems($arr);
$menuItem = new CMenuItem($i);
$menu->addMenuItem($menuItem);
}
// дополнительный пункт меню "Выход"
$arr = array();
$arr['id'] = 200000;
$arr['title'] = CUtils::getTextStringInCorrectEncoding("Выход");
$arr['anchor'] = "p_administration.php?exit=1";
$arr['menu_id'] = $menu->getId();
$arr['parent_id'] = 0;
$menuItem = new CMenuItem(new CActiveRecord($arr));
$menu->addMenuItem($menuItem);
// теперь исключаем все задачи недоступные текущему пользователю
foreach ($menu->getMenuItems()->getItems() as $menuItem) {
if ($menuItem->getId() < 100000) {
if (!$user->getRoles()->hasElement($menuItem->getId())) {
$menu->getMenuItems()->removeItem($menuItem->getId());
}
}
}
self::getCacheMenu()->add("admin_menu", $menu);
}
return self::getCacheMenu()->getItem("admin_menu");
}