84        $this->user_id = $a_user_id;
 
   86        $this->lng = 
$DIC->language();
 
   87        $this->lng->loadLanguageModule(
'dateplaner');
 
   88        $this->ctrl = 
$DIC->ctrl();
 
   89        $this->ref_id = $a_ref_id;
 
   91        $this->tabs = 
$DIC->tabs();
 
   92        $this->tpl = 
$DIC->ui()->mainTemplate();
 
   94        $this->lng->loadLanguageModule(
"dateplaner");
 
   96        if (in_array($this->ctrl->getNextClass(), array(
"", 
"ilcalendarcategorygui")) && $this->ctrl->getCmd() == 
"manage") {
 
   98                $this->ctrl->returnToParent($this);
 
  100            if ((
int) 
$_GET[
'category_id'] > 0) {
 
  102                $this->ctrl->setParameter($this, 
"category_id", 
"");
 
  103                $this->ctrl->setParameterByClass(
"ilcalendarpresentationgui", 
"category_id", 
"");
 
  104                $this->ctrl->redirect($this, 
"manage");
 
  108        $this->category_id = (int) 
$_GET[
'category_id'];
 
  110        include_once(
"./Services/Calendar/classes/class.ilCalendarActions.php");
 
  129        $next_class = $this->ctrl->getNextClass($this);
 
  130        $this->ctrl->saveParameter($this, 
'category_id');
 
  131        $this->ctrl->setParameter($this, 
'seed', $this->seed->get(
IL_CAL_DATE));
 
  133        if (array_key_exists(
'backvm', $_REQUEST)) {
 
  134            $this->ctrl->setParameter($this, 
'backvm', 1);
 
  136        switch ($next_class) {
 
  137            case 'ilcalendarappointmentgui':
 
  138                $this->ctrl->setReturn($this, 
'details');
 
  140                include_once(
'./Services/Calendar/classes/class.ilCalendarAppointmentGUI.php');
 
  142                $this->ctrl->forwardCommand($app);
 
  146                $cmd = $this->ctrl->getCmd(
"show");
 
  148                if (!in_array($cmd, array(
"details", 
"askDeleteAppointments", 
"deleteAppointments"))) {
 
  163        if (array_key_exists(
'backvm', $_REQUEST)) {
 
  164            $this->ctrl->redirect($this, 
'manage');
 
  168        $this->ctrl->returnToParent($this);
 
  184        $ilTabs = 
$DIC[
'ilTabs'];
 
  186        $ilTabs->clearTargets();
 
  187        $ilTabs->setBackTarget($this->lng->txt(
"cal_back_to_list"), $this->ctrl->getLinkTarget($this, 
'cancel'));
 
  189        $ed_tpl = 
new ilTemplate(
'tpl.edit_category.html', 
true, 
true, 
'Services/Calendar');
 
  194        $ed_tpl->setVariable(
'EDIT_CAT', 
$form->getHTML());
 
  195        $tpl->setContent($ed_tpl->get());
 
  206        if (
$form->checkInput()) {
 
  208            $category->setTitle(
$form->getInput(
'title'));
 
  209            $category->setColor(
'#' . 
$form->getInput(
'color'));
 
  210            $category->setLocationType(
$form->getInput(
'type_rl'));
 
  211            $category->setRemoteUrl(
$form->getInput(
'remote_url'));
 
  212            $category->setRemoteUser(
$form->getInput(
'remote_user'));
 
  213            $category->setRemotePass(
$form->getInput(
'remote_pass'));
 
  215                $category->setType((
int) 
$form->getInput(
'type'));
 
  216                $category->setObjId(0);
 
  224            $form->setValuesByPost();
 
  234        } 
catch (Exception $e) {
 
  238            $form->setValuesByPost();
 
  243        ilUtil::sendSuccess($this->lng->txt(
'settings_saved'), 
true);
 
  244        $GLOBALS[
'DIC']->ctrl()->redirect($this, 
'manage');
 
  258        $tabs->activateTab(
"edit");
 
  262        if (!$this->category_id) {
 
  264            $this->ctrl->returnToParent($this);
 
  267        if (!$this->actions->checkSettingsCal($this->category_id)) {
 
  269            $this->ctrl->returnToParent($this);
 
  289        if (!$this->category_id) {
 
  291            $this->ctrl->returnToParent($this);
 
  298        include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
  300        $info->setFormAction($this->ctrl->getFormAction($this));
 
  302        $info->addSection($this->lng->txt(
'cal_cal_details'));
 
  304        $tpl->setContent(
$info->getHTML() . $this->showAssignedAppointments());
 
  309        if (!$this->category_id) {
 
  311            $this->ctrl->returnToParent($this);
 
  318        } 
catch (Exception $e) {
 
  320            $this->ctrl->redirect($this, 
'manage');
 
  322        ilUtil::sendSuccess($this->lng->txt(
'cal_cal_sync_success'), 
true);
 
  323        $this->ctrl->redirect($this, 
'manage');
 
  332        include_once 
'./Services/Calendar/classes/class.ilCalendarRemoteReader.php';
 
  337        $remote->import($category);
 
  348        if (!$this->category_id) {
 
  350            $this->ctrl->returnToParent($this);
 
  360        if (
$form->checkInput()) {
 
  363                $category->setTitle(
$form->getInput(
'title'));
 
  365            $category->setColor(
'#' . 
$form->getInput(
'color'));
 
  367            ilUtil::sendSuccess($this->lng->txt(
'settings_saved'), 
true);
 
  368            if ($this->ref_id > 0) {
 
  369                $this->ctrl->returnToParent($this);
 
  371                $this->ctrl->redirect($this, 
"manage");
 
  374            $form->setValuesByPost();
 
  392        $cat_ids = (is_array(
$_POST[
'selected_cat_ids']) && count(
$_POST[
'selected_cat_ids']) > 0)
 
  393            ? 
$_POST[
'selected_cat_ids']
 
  394            : (
$_GET[
"category_id"] > 0 ? array(
$_GET[
"category_id"]) : 
null);
 
  396        if (!is_array($cat_ids)) {
 
  411        include_once(
'./Services/Utilities/classes/class.ilConfirmationGUI.php');
 
  414        $confirmation_gui->setFormAction($this->ctrl->getFormAction($this));
 
  415        $confirmation_gui->setHeaderText($this->lng->txt(
'cal_del_cal_sure'));
 
  416        $confirmation_gui->setConfirm($this->lng->txt(
'delete'), 
'delete');
 
  417        $confirmation_gui->setCancel($this->lng->txt(
'cancel'), 
'manage');
 
  419        include_once(
'./Services/Calendar/classes/class.ilCalendarCategory.php');
 
  420        foreach ($cat_ids as $cat_id) {
 
  422            $confirmation_gui->addItem(
'category_id[]', $cat_id, $category->getTitle());
 
  425        $tpl->setContent($confirmation_gui->getHTML());
 
  435    protected function delete()
 
  441        if (!
$_POST[
'category_id']) {
 
  456        include_once(
'./Services/Calendar/classes/class.ilCalendarCategory.php');
 
  457        foreach (
$_POST[
'category_id'] as $cat_id) {
 
  462        ilUtil::sendSuccess($this->lng->txt(
'cal_cal_deleted'), 
true);
 
  463        $ilCtrl->redirect($this, 
'manage');
 
  481        include_once(
'./Services/Calendar/classes/class.ilCalendarCategories.php');
 
  482        include_once(
'./Services/Calendar/classes/class.ilCalendarVisibility.php');
 
  484        $selected_cat_ids = 
$_POST[
'selected_cat_ids'] ? 
$_POST[
'selected_cat_ids'] : array();
 
  485        $shown_cat_ids = 
$_POST[
'shown_cat_ids'] ? 
$_POST[
'shown_cat_ids'] : array();
 
  488        $cat_ids = $cats->getCategories();
 
  494        if ($this->obj_id > 0) {
 
  495            $old_selection = $cat_visibility->getVisible();
 
  497            $old_selection = $cat_visibility->getHidden();
 
  501        $new_selection = array();
 
  505        foreach ($old_selection as $cat_id) {
 
  506            if (!in_array($cat_id, $shown_cat_ids)) {
 
  507                $new_selection[] = $cat_id;
 
  511        foreach ($shown_cat_ids as $shown_cat_id) {
 
  512            $shown_cat_id = (int) $shown_cat_id;
 
  513            if ($this->obj_id > 0) {
 
  514                if (in_array($shown_cat_id, $selected_cat_ids)) {
 
  515                    $new_selection[] = $shown_cat_id;
 
  518                if (!in_array($shown_cat_id, $selected_cat_ids)) {
 
  519                    $new_selection[] = $shown_cat_id;
 
  524        if ($this->obj_id > 0) {
 
  525            $cat_visibility->showSelected($new_selection);
 
  527            $cat_visibility->hideSelected($new_selection);
 
  530        $cat_visibility->save();
 
  532        ilUtil::sendSuccess($this->lng->txt(
'settings_saved'), 
true);
 
  533        $this->ctrl->returnToParent($this);
 
  550        $tabs->activateTab(
"share");
 
  552        if (!$this->category_id) {
 
  554            $this->ctrl->returnToParent($this);
 
  567        $this->ctrl->saveParameter($this, 
'category_id');
 
  569        include_once(
'./Services/Calendar/classes/class.ilCalendarSharedListTableGUI.php');
 
  571        $table->setTitle($this->lng->txt(
'cal_cal_shared_with'));
 
  572        $table->setCalendarId($this->category_id);
 
  590        $tabs->activateTab(
"share");
 
  592        $this->lng->loadLanguageModule(
'search');
 
  594        if (!$this->category_id) {
 
  596            $this->ctrl->returnToParent($this);
 
  598        $this->ctrl->saveParameter($this, 
'category_id');
 
  601        if (!isset(
$_POST[
'query'])) {
 
  604        } elseif (
$_POST[
'query']) {
 
  617        include_once 
'Services/Search/classes/class.ilQueryParser.php';
 
  618        include_once 
'Services/Search/classes/class.ilObjectSearchFactory.php';
 
  619        include_once 
'Services/Search/classes/class.ilSearchResult.php';
 
  625        $query_parser->setMinWordLength(3);
 
  626        $query_parser->parse();
 
  632                $search->enableActiveCheck(
true);
 
  634                $search->setFields(array(
'login'));
 
  635                $res = $search->performSearch();
 
  636                $res_sum->mergeEntries(
$res);
 
  638                $search->setFields(array(
'firstname'));
 
  639                $res = $search->performSearch();
 
  640                $res_sum->mergeEntries(
$res);
 
  642                $search->setFields(array(
'lastname'));
 
  643                $res = $search->performSearch();
 
  644                $res_sum->mergeEntries(
$res);
 
  651                include_once 
'Services/Search/classes/Like/class.ilLikeObjectSearch.php';
 
  653                $search->setFilter(array(
'role'));
 
  655                $res = $search->performSearch();
 
  656                $res_sum->mergeEntries(
$res);
 
  662        if (!count($res_sum->getResults())) {
 
  700        if (!$this->category_id) {
 
  702            $this->ctrl->returnToParent($this);
 
  704        if (!count(
$_POST[
'user_ids'])) {
 
  718        include_once(
'./Services/Calendar/classes/class.ilCalendarShared.php');
 
  726        ilUtil::sendSuccess($this->lng->txt(
'cal_shared_selected_usr'));
 
  751        if (!$this->category_id) {
 
  753            $this->ctrl->returnToParent($this);
 
  755        if (!count(
$_POST[
'role_ids'])) {
 
  768        include_once(
'./Services/Calendar/classes/class.ilCalendarShared.php');
 
  771        foreach (
$_POST[
'role_ids'] as $role_id) {
 
  774        ilUtil::sendSuccess($this->lng->txt(
'cal_shared_selected_usr'));
 
  787        if (!$this->category_id) {
 
  789            $this->ctrl->returnToParent($this);
 
  791        if (!count(
$_POST[
'obj_ids'])) {
 
  805        include_once(
'./Services/Calendar/classes/class.ilCalendarShared.php');
 
  808        foreach (
$_POST[
'obj_ids'] as $obj_id) {
 
  809            $shared->stopSharing($obj_id);
 
  811        ilUtil::sendSuccess($this->lng->txt(
'cal_unshared_selected_usr'));
 
  830        include_once(
'./Services/Calendar/classes/class.ilCalendarSharedUserListTableGUI.php');
 
  833        $table->setTitle($this->lng->txt(
'cal_share_search_usr_header'));
 
  834        $table->setFormAction($this->ctrl->getFormAction($this));
 
  857        include_once(
'./Services/Calendar/classes/class.ilCalendarSharedRoleListTableGUI.php');
 
  860        $table->setTitle($this->lng->txt(
'cal_share_search_role_header'));
 
  861        $table->setFormAction($this->ctrl->getFormAction($this));
 
  880        $tb = 
$DIC->toolbar();
 
  883        $lng->loadLanguageModule(
'search');
 
  885        $tb->setFormAction($this->ctrl->getFormAction($this));
 
  888        $search = 
new ilTextInputGUI($this->lng->txt(
'cal_search'), 
'query');
 
  889        $search->setValue(
$_POST[
'query']);
 
  890        $search->setSize(16);
 
  891        $search->setMaxLength(128);
 
  893        $tb->addInputItem($search, 
true);
 
  896        include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
 
  898            self::SEARCH_USER => $this->lng->txt(
'obj_user'),
 
  899            self::SEARCH_ROLE => $this->lng->txt(
'obj_role'),
 
  904        $si->setInfo($this->lng->txt(
""));
 
  905        $tb->addInputItem(
$si);
 
  908        $tb->addFormButton($this->lng->txt(
'search'), 
"sharePerformSearch");
 
  922        $rbacsystem = 
$DIC[
'rbacsystem'];
 
  924        $ilHelp = 
$DIC[
'ilHelp'];
 
  926        $ilHelp->setScreenIdComponent(
"cal");
 
  927        $ilHelp->setScreenId(
"cal");
 
  928        if ($a_mode == 
"edit") {
 
  929            $ilHelp->setSubScreenId(
"edit");
 
  931            $ilHelp->setSubScreenId(
"create");
 
  934        include_once(
'./Services/Calendar/classes/class.ilCalendarCategories.php');
 
  938        #$this->form->setTableWidth('40%'); 
  942                $this->form->setTitle($this->lng->txt(
'cal_edit_category'));
 
  943                $this->ctrl->saveParameter($this, array(
'seed',
'category_id'));
 
  944                $this->form->setFormAction($this->ctrl->getFormAction($this));
 
  946                    $this->form->addCommandButton(
'update', $this->lng->txt(
'save'));
 
  958                $this->editable = 
true;
 
  960                $this->ctrl->saveParameter($this, array(
'category_id'));
 
  961                $this->form->setFormAction($this->ctrl->getFormAction($this));
 
  962                $this->form->setTitle($this->lng->txt(
'cal_add_category'));
 
  963                $this->form->addCommandButton(
'save', $this->lng->txt(
'save'));
 
  967        $this->form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
 
  971        if ($a_mode == 
'edit') {
 
  973                $title->setDisabled(
true);
 
  976        $title->setRequired(
true);
 
  979        $title->setValue($category->getTitle());
 
  980        $this->form->addItem(
$title);
 
  983        include_once(
'./Services/Calendar/classes/class.ilCalendarSettings.php');
 
  986            $type->setValue($category->getType());
 
  987            $type->setRequired(
true);
 
  990            $type->addOption($opt);
 
  993            $type->addOption($opt);
 
  994            $type->setInfo($this->lng->txt(
'cal_type_info'));
 
  995            $this->form->addItem(
$type);
 
 1000        $color->setValue($category->getColor());
 
 1002            $color->setDisabled(
true);
 
 1004        $color->setRequired(
true);
 
 1005        $this->form->addItem($color);
 
 1008        $location->setDisabled($a_mode == 
'edit');
 
 1013        $location->setValue($category->getLocationType());
 
 1017        $url->setDisabled($a_mode == 
'edit');
 
 1018        $url->setValue($category->getRemoteUrl());
 
 1019        $url->setMaxLength(500);
 
 1021        $url->setRequired(
true);
 
 1022        $location_remote->addSubItem(
$url);
 
 1025        $user->setDisabled($a_mode == 
'edit');
 
 1026        $user->setValue($category->getRemoteUser());
 
 1027        $user->setMaxLength(50);
 
 1029        $user->setRequired(
false);
 
 1030        $location_remote->addSubItem(
$user);
 
 1033        $pass->setDisabled($a_mode == 
'edit');
 
 1034        $pass->setValue($category->getRemotePass());
 
 1035        $pass->setMaxLength(50);
 
 1037        $pass->setRetype(
false);
 
 1038        $pass->setInfo($this->lng->txt(
'remote_pass_info'));
 
 1039        $location_remote->addSubItem(
$pass);
 
 1045            $this->form->addItem($ne);
 
 1052            $this->form->addItem($ne);
 
 1068        if (!$this->category_id) {
 
 1070            $this->ctrl->returnToParent($this);
 
 1076        include_once(
'./Services/Calendar/classes/class.ilCalendarSharedStatus.php');
 
 1079        include_once(
'./Services/Calendar/classes/class.ilCalendarShared.php');
 
 1085        $status->decline($this->category_id);
 
 1087        ilUtil::sendSuccess($this->lng->txt(
'settings_saved'), 
true);
 
 1088        $this->ctrl->redirect($this, 
'manage');
 
 1099        include_once(
'./Services/Calendar/classes/class.ilCalendarCategoryTableGUI.php');
 
 1100        include_once(
'./Services/Calendar/classes/class.ilCalendarCategoryAssignments.php');
 
 1101        include_once(
'./Services/Calendar/classes/class.ilCalendarAppointmentsTableGUI.php');
 
 1104        $table_gui->setTitle($this->lng->txt(
'cal_assigned_appointments'));
 
 1105        $table_gui->setAppointments(
 
 1110        return $table_gui->getHTML();
 
 1125        if (!count(
$_POST[
'appointments'])) {
 
 1131        include_once(
'./Services/Utilities/classes/class.ilConfirmationGUI.php');
 
 1134        $this->ctrl->setParameter($this, 
'category_id', $this->category_id);
 
 1135        $confirmation_gui->setFormAction($this->ctrl->getFormAction($this));
 
 1136        $confirmation_gui->setHeaderText($this->lng->txt(
'cal_del_app_sure'));
 
 1137        $confirmation_gui->setConfirm($this->lng->txt(
'delete'), 
'deleteAppointments');
 
 1138        $confirmation_gui->setCancel($this->lng->txt(
'cancel'), 
'details');
 
 1140        include_once(
'./Services/Calendar/classes/class.ilCalendarEntry.php');
 
 1141        foreach (
$_POST[
'appointments'] as $app_id) {
 
 1143            $confirmation_gui->addItem(
'appointments[]', (
int) $app_id, $app->getTitle());
 
 1146        $tpl->setContent($confirmation_gui->getHTML());
 
 1157        if (!count(
$_POST[
'appointments'])) {
 
 1162        include_once(
'./Services/Calendar/classes/class.ilCalendarEntry.php');
 
 1163        foreach (
$_POST[
'appointments'] as $app_id) {
 
 1167            include_once(
'./Services/Calendar/classes/class.ilCalendarCategoryAssignments.php');
 
 1171        ilUtil::sendSuccess($this->lng->txt(
'settings_saved'));
 
 1183        include_once(
"./Services/Calendar/classes/class.ilCalendarSelectionBlockGUI.php");
 
 1201        $this->lng->loadLanguageModule(
'pd');
 
 1203        $tpl = 
new ilTemplate(
'tpl.calendar_selection.html', 
true, 
true, 
'Services/Calendar');
 
 1204        include_once(
'./Services/Calendar/classes/class.ilCalendarUserSettings.php');
 
 1207                $tpl->setVariable(
'HTEXT', $this->lng->txt(
'pd_my_memberships'));
 
 1208                $tpl->touchBlock(
'head_item');
 
 1209                $tpl->touchBlock(
'head_delim');
 
 1210                $tpl->touchBlock(
'head_item');
 
 1213                $this->ctrl->setParameter($this, 
'seed', $this->seed->get(
IL_CAL_DATE));
 
 1214                $tpl->setVariable(
'HHREF', $this->ctrl->getLinkTarget($this, 
'switchCalendarMode'));
 
 1215                $tpl->setVariable(
'HLINK', $this->lng->txt(
'pd_my_offers'));
 
 1216                $tpl->touchBlock(
'head_item');
 
 1221                $this->ctrl->setParameter($this, 
'seed', $this->seed->get(
IL_CAL_DATE));
 
 1222                $tpl->setVariable(
'HHREF', $this->ctrl->getLinkTarget($this, 
'switchCalendarMode'));
 
 1223                $tpl->setVariable(
'HLINK', $this->lng->txt(
'pd_my_memberships'));
 
 1224                $tpl->touchBlock(
'head_item');
 
 1225                $tpl->touchBlock(
'head_delim');
 
 1226                $tpl->touchBlock(
'head_item');
 
 1228                $tpl->setVariable(
'HTEXT', $this->lng->txt(
'pd_my_offers'));
 
 1229                $tpl->touchBlock(
'head_item');
 
 1243        include_once(
'./Services/Calendar/classes/class.ilCalendarUserSettings.php');
 
 1247        $this->ctrl->returnToParent($this);
 
 1263        $rbacsystem = 
$DIC[
'rbacsystem'];
 
 1264        $ilAccess = 
$DIC[
'ilAccess'];
 
 1266        $this->editable = 
false;
 
 1268        $this->visible = 
false;
 
 1269        $this->importable = 
false;
 
 1271        include_once(
'./Services/Calendar/classes/class.ilCalendarShared.php');
 
 1276        switch ($cat->getType()) {
 
 1279                if ($cat->getObjId() == 
$ilUser->getId()) {
 
 1280                    $this->visible = 
true;
 
 1281                    $this->editable = 
true;
 
 1282                    $this->importable = 
true;
 
 1283                } elseif (isset($shared[$cat->getCategoryID()])) {
 
 1284                    $this->visible = 
true;
 
 1290                $this->visible = 
true;
 
 1294                $this->editable = 
false;
 
 1297                foreach ($refs as $ref) {
 
 1298                    if ($ilAccess->checkAccess(
'read', 
'', $ref)) {
 
 1299                        $this->visible = 
true;
 
 1301                    if ($ilAccess->checkAccess(
'edit_event', 
'', $ref)) {
 
 1302                        $this->importable = 
true;
 
 1304                    if ($ilAccess->checkAccess(
'write', 
'', $ref)) {
 
 1305                        $this->editable = 
true;
 
 1312                $this->editable = 
$ilUser->getId() == $cat->getCategoryID();
 
 1313                $this->visible = 
true;
 
 1314                $this->importable = 
false;
 
 1330        if (!$this->visible) {
 
 1331            $ilErr->raiseError($this->lng->txt(
'permission_denied'), 
$ilErr->FATAL);
 
 1347        return $this->importable;
 
 1362        $tpl = 
new ilTemplate(
'tpl.cal_reference_links.html', 
true, 
true, 
'Services/Calendar');
 
 1365            include_once(
'./Services/Link/classes/class.ilLink.php');
 
 1367            $parent_ref_id = 
$tree->getParentId($ref_id);
 
 1375            $tpl->setCurrentBlock(
'reference');
 
 1378            $tpl->setVariable(
'PARENT_TITLE', $parent_title);
 
 1385            $tpl->parseCurrentBlock();
 
 1396    protected function manage($a_reset_offsets = 
false)
 
 1406        include_once(
'./Services/Calendar/classes/class.ilCalendarManageTableGUI.php');
 
 1409        if ($a_reset_offsets) {
 
 1410            $table_gui->resetToDefaults();
 
 1413        $table_gui->parse();
 
 1415        include_once 
"./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php";
 
 1416        $toolbar = 
new ilToolbarGui();
 
 1417        $ilCtrl->setParameter($this, 
'backvm', 1);
 
 1418        $toolbar->addButton(
$lng->txt(
"cal_add_calendar"), 
$ilCtrl->getLinkTarget($this, 
"add"));
 
 1420        $tpl->setContent($toolbar->getHTML() . $table_gui->getHTML());
 
 1430        $ilTabs = 
$DIC[
'ilTabs'];
 
 1433        if (!$this->category_id) {
 
 1435            $this->ctrl->returnToParent($this);
 
 1437        $this->ctrl->setParameter($this, 
'category_id', $this->category_id);
 
 1445            $this->ctrl->returnToParent($this);
 
 1448        $ilTabs->clearTargets();
 
 1449        $ilTabs->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTarget($this, 
"cancel"));
 
 1463        include_once 
'./Services/Form/classes/class.ilPropertyFormGUI.php';
 
 1465        $form->setTitle($this->lng->txt(
'cal_import_tbl'));
 
 1466        $form->setFormAction($this->ctrl->getFormAction($this));
 
 1468        $form->addCommandButton(
'uploadAppointments', $this->lng->txt(
'import'));
 
 1470        $ics = 
new ilFileInputGUI($this->lng->txt(
'cal_import_file'), 
'file');
 
 1471        $ics->setALlowDeletion(
false);
 
 1472        $ics->setSuffixes(array(
'ics'));
 
 1473        $ics->setInfo($this->lng->txt(
'cal_import_file_info'));
 
 1474        $form->addItem($ics);
 
 1485        if (
$form->checkInput()) {
 
 1486            $file = 
$form->getInput(
'file');
 
 1489            ilUtil::moveUploadedFile($file[
'tmp_name'], $file[
'name'], $tmp);
 
 1491            $num = $this->
doImportFile($tmp, (
int) $_REQUEST[
'category_id']);
 
 1493            ilUtil::sendSuccess(sprintf($this->lng->txt(
'cal_imported_success'), (
int) $num), 
true);
 
 1494            $this->ctrl->redirect($this, 
'cancel');
 
 1508        include_once 
'./Services/Calendar/classes/../classes/iCal/class.ilICalParser.php';
 
 1509        include_once 
'./Services/Calendar/classes/class.ilCalendarCategoryAssignments.php';
 
 1519        return $assigned_after - $assigned_before;
 
 1536            $lng->txt(
"calendar"),
 
 1537            $ilCtrl->getLinkTarget($this, 
"manage")
 
 1541        $calendars = $status->getOpenInvitations();
 
 1547            $lng->txt(
"cal_shared_calendars"),
 
 1548            $ilCtrl->getLinkTarget($this, 
"invitations")
 
 1552        $ilTabs->activateSubTab($a_active);
 
 1566        include_once(
'./Services/Calendar/classes/class.ilCalendarInboxSharedTableGUI.php');
 
 1567        include_once(
'./Services/Calendar/classes/class.ilCalendarShared.php');
 
 1574        $this->tpl->setContent(
$table->getHTML());
 
 1590        if (!
$_POST[
'cal_ids'] or !is_array(
$_POST[
'cal_ids'])) {
 
 1596        include_once(
'./Services/Calendar/classes/class.ilCalendarSharedStatus.php');
 
 1599        include_once(
'./Services/Calendar/classes/class.ilCalendarShared.php');
 
 1600        foreach (
$_POST[
'cal_ids'] as $calendar_id) {
 
 1606            $status->accept($calendar_id);
 
 1609        ilUtil::sendSuccess($this->lng->txt(
'settings_saved'), 
true);
 
 1611        $this->ctrl->redirect($this, 
'invitations');
 
 1626        if (!
$_POST[
'cal_ids'] or !is_array(
$_POST[
'cal_ids'])) {
 
 1632        include_once(
'./Services/Calendar/classes/class.ilCalendarSharedStatus.php');
 
 1635        include_once(
'./Services/Calendar/classes/class.ilCalendarShared.php');
 
 1636        foreach (
$_POST[
'cal_ids'] as $calendar_id) {
 
 1642            $status->decline($calendar_id);
 
 1645        ilUtil::sendSuccess($this->lng->txt(
'settings_saved'), 
true);
 
 1647        $this->ctrl->redirect($this, 
'invitations');
 
An exception for terminatinating execution or to throw for unit testing.
static getInstance()
Get instance.
Administrate calendar appointments.
static _getInstance($a_usr_id=0)
get singleton instance
static _getAssignedAppointments($a_cat_id)
Get assigned apointments.
static lookupNumberOfAssignedAppointments($a_cat_ids)
Get number of assigned appoitments.
static _deleteByAppointmentId($a_app_id)
Delete appointment assignment.
Administration, Side-Block presentation of calendar categories.
showAssignedAppointments()
show assigned aapointments
addSubTabs($a_active)
Add subtabs.
shareSearch()
share calendar
initFormCategory($a_mode)
init edit/create category form
appendCalendarSelection()
readPermissions()
read permissions
details()
show calendar details
invitations()
Invitations.
sharePerformSearch()
share perform search
initImportForm()
Create import form.
deleteAppointments()
delete appointments
switchCalendarMode()
Switch calendar selection nmode.
__construct($a_user_id, $seed, $a_ref_id=0)
Constructor.
declineShared()
accept shared calendar
saveSelection()
save selection of categories
doImportFile($file, $category_id)
Import ics.
isEditable()
check if calendar is editable @access private
shareAssignRolesEditable()
Share editable.
uploadAppointments()
Upload appointments.
shareAssignRoles($a_editable=false)
share assign roles
add(ilPropertyFormGUI $form=null)
add new calendar
unshare()
Stop calendar sharing.
manage($a_reset_offsets=false)
Manage calendars @global type $lng @global type $ilCtrl @global type $tpl.
confirmDelete()
confirm delete
showUserList($a_ids=array())
show user list
edit(ilPropertyFormGUI $form=null)
edit category
shareDeassign()
desassign users/roles from calendar
addReferenceLinks($a_obj_id)
Show links to references.
shareAssignEditable()
Share with write access.
askDeleteAppointments()
ask delete appointments
doSynchronisation(ilCalendarCategory $category)
Sync calendar.
executeCommand()
Execute command.
acceptShared()
accept shared calendar
importAppointments(ilPropertyFormGUI $form=null)
import appointments
shareAssign($a_editable=false)
share assign
getSearchToolbar()
Get search toolbar.
showRoleList($a_ids=array())
show role list
Stores calendar categories.
Model for a calendar entry.
Show shared calendars for a specific user.
show list of alle calendars to manage
Reader for remote ical calendars.
BlockGUI class calendar selection.
static _getInstance()
get singleton instance
Stores status (accepted/declined) of shared calendars.
Handles shared calendars.
static isSharedWithUser($a_usr_id, $a_calendar_id)
is shared with user
static getSharedCalendarsForUser($a_usr_id=0)
get shared calendars of user
const CAL_SELECTION_ITEMS
static _getInstance()
get instance for logged in user
const CAL_SELECTION_MEMBERSHIP
static _getInstanceByUserId($a_user_id, $a_ref_id=0)
get instance by user id
Confirmation screen class.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
This class represents a non editable value in a property form.
static _getUserSearchInstance($query_parser)
get reference of ilLikeUserSearch
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
static _getAllReferences($a_id)
get all reference ids of object
static _lookupType($a_id, $a_reference=false)
lookup object type
This class represents an option in a radio group.
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static ilTempnam($a_temp_path=null)
Returns a unique and non existing Path for e temporary file or directory.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
if(empty($password)) $table
if(isset($_POST['submit'])) $form
foreach($_POST as $key=> $value) $res