ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilECSSettingsGUI Class Reference
+ Collaboration diagram for ilECSSettingsGUI:

Public Member Functions

 __construct ()
 Constructor. More...
 
 executeCommand ()
 Execute command. More...
 
 overview ()
 List available servers. More...
 
 communities ()
 show communities More...
 
 importMappings ()
 Show mapping settings (EContent-Data <-> (Remote)Course. More...
 

Data Fields

const MAPPING_EXPORT = 1
 
const MAPPING_IMPORT = 2
 

Protected Member Functions

 activate ()
 activate server More...
 
 deactivate ()
 activate server More...
 
 readAll ()
 Read all importable econtent. More...
 
 create ()
 Create new settings ilTabs $ilTabs. More...
 
 edit ()
 Edit server setting. More...
 
 cp ()
 
 delete ()
 Delete confirmation. More...
 
 doDelete ()
 Do delete. More...
 
 settings ()
 show settings More...
 
 initSettingsForm ($a_mode='update')
 init settings form More...
 
 update ()
 save settings More...
 
 save ()
 Save settings. More...
 
 updateTitle ()
 Update configuration title. More...
 
 loadFromPost ()
 Load from post. More...
 
 refreshParticipants ()
 Refresh participants. More...
 
 validateImportTypes (&$import_types)
 Validate import types. More...
 
 updateCommunities ()
 update whitelist More...
 
 setMappingTabs ($a_active)
 Handle tabs for ECS data mapping. More...
 
 exportMappings ()
 Show mapping settings (EContent-Data <-> (Remote)Course. More...
 
 saveImportMappings ()
 Save mappings. More...
 
 saveExportMappings ()
 Save mappings. More...
 
 initMappingsForm ($a_server_id, $mapping_type)
 init mapping form More...
 
 categoryMapping ()
 Category mappings. More...
 
 addCategoryMapping ()
 save category mapping More...
 
 editCategoryMapping ()
 Edit category mapping. More...
 
 updateCategoryMapping ()
 update category mapping More...
 
 deleteCategoryMappings ()
 Delete selected category mappings. More...
 
 showRulesTable ()
 Show rules table. More...
 
 initRule ($a_rule_id=0)
 Init rule. More...
 
 initCategoryMappingForm ($a_mode='add')
 Init category mapping form. More...
 
 imported ()
 Show imported materials. More...
 
 exportImported ()
 csv export of imported remote courses More...
 
 released ()
 Show released materials. More...
 
 exportReleased ()
 export released More...
 
 prepareFieldSelection ($fields)
 get options for field selection More...
 
 initSettings ($a_server_id=1)
 Init settings. More...
 
 setSubTabs ()
 set sub tabs More...
 
 initTaskScheduler ()
 Init next task execution <type> $ilDB <type> $ilSetting. More...
 

Protected Attributes

 $log = null
 
 $tpl
 
 $lng
 
 $ctrl
 
 $tabs_gui
 

Private Member Functions

 prepareRoleSelect ()
 get global role array More...
 
 buildPath ($a_ref_id)
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilECSSettingsGUI::__construct ( )

Constructor.

public

Definition at line 56 of file class.ilECSSettingsGUI.php.

References $GLOBALS, $ilCtrl, $lng, $tpl, and initSettings().

57  {
58  global $lng,$tpl,$ilCtrl,$ilTabs;
59 
60  $this->tpl = $tpl;
61  $this->lng = $lng;
62  $this->lng->loadLanguageModule('ecs');
63  $this->ctrl = $ilCtrl;
64  $this->tabs_gui = $ilTabs;
65 
66  $this->log = $GLOBALS['DIC']->logger()->wsrv();
67 
68  $this->initSettings();
69  }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
global $ilCtrl
Definition: ilias.php:18
initSettings($a_server_id=1)
Init settings.
+ Here is the call graph for this function:

Member Function Documentation

◆ activate()

ilECSSettingsGUI::activate ( )
protected

activate server

Definition at line 152 of file class.ilECSSettingsGUI.php.

References initSettings(), ilUtil\sendSuccess(), and settings().

153  {
154  $this->initSettings($_REQUEST['server_id']);
155  $this->settings->setEnabledStatus(true);
156  $this->settings->update();
157  ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
158  $this->ctrl->redirect($this, 'overview');
159  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
initSettings($a_server_id=1)
Init settings.
+ Here is the call graph for this function:

◆ addCategoryMapping()

ilECSSettingsGUI::addCategoryMapping ( )
protected

save category mapping

Returns

Definition at line 1175 of file class.ilECSSettingsGUI.php.

References categoryMapping(), initCategoryMappingForm(), initRule(), ilUtil\sendInfo(), ilECSCategoryMappingRule\TYPE_BY_TYPE, ilECSCategoryMappingRule\TYPE_DURATION, and ilECSCategoryMappingRule\TYPE_FIXED.

1176  {
1177  $this->initRule();
1178 
1179  $this->initCategoryMappingForm('add');
1180  if ($this->form->checkInput()) {
1181  $this->rule->setContainerId($this->form->getInput('import_id'));
1182  $this->rule->setFieldName($this->form->getInput('field'));
1183  $this->rule->setMappingType($this->form->getInput('type'));
1184 
1185  switch ($this->form->getInput('type')) {
1187  $this->rule->setMappingValue($this->form->getInput('mapping_value'));
1188  break;
1189 
1191  $this->rule->setDateRangeStart($this->form->getItemByPostVar('dur_begin')->getDate());
1192  $this->rule->setDateRangeEnd($this->form->getItemByPostVar('dur_end')->getDate());
1193  break;
1194 
1196  $this->rule->setByType($this->form->getInput('by_type'));
1197  break;
1198  }
1199 
1200  if ($err = $this->rule->validate()) {
1201  ilUtil::sendInfo($this->lng->txt($err));
1202  $this->form->setValuesByPost();
1203  $this->categoryMapping();
1204  return false;
1205  }
1206 
1207  $this->rule->save();
1208  ilUtil::sendInfo($this->lng->txt('settings_saved'));
1209  unset($this->rule);
1210  $this->categoryMapping();
1211  return true;
1212  }
1213  ilUtil::sendInfo($this->lng->txt('err_check_input'));
1214  $this->form->setValuesByPost();
1215  $this->categoryMapping();
1216  return false;
1217  }
categoryMapping()
Category mappings.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
initCategoryMappingForm($a_mode='add')
Init category mapping form.
initRule($a_rule_id=0)
Init rule.
+ Here is the call graph for this function:

◆ buildPath()

ilECSSettingsGUI::buildPath (   $a_ref_id)
private
Parameters
int$a_ref_id
Returns
string

Definition at line 1875 of file class.ilECSSettingsGUI.php.

References $DIC.

Referenced by initCategoryMappingForm(), and initSettingsForm().

1876  {
1877  global $DIC;
1878 
1879  $tree = $DIC->repositoryTree();
1880 
1881  if (!$tree->isInTree($a_ref_id) || $tree->isDeleted($a_ref_id)) {
1882  return '';
1883  }
1884  $loc = new ilLocatorGUI();
1885  $loc->setTextOnly(false);
1886  $loc->addContextItems($a_ref_id);
1887 
1888  return $loc->getHTML();
1889  }
global $DIC
Definition: saml.php:7
locator handling class
+ Here is the caller graph for this function:

◆ categoryMapping()

ilECSSettingsGUI::categoryMapping ( )
protected

Category mappings.

Returns

Definition at line 1156 of file class.ilECSSettingsGUI.php.

References $html, initCategoryMappingForm(), initRule(), and showRulesTable().

Referenced by addCategoryMapping(), deleteCategoryMappings(), editCategoryMapping(), and updateCategoryMapping().

1157  {
1158  $this->tabs_gui->setSubTabActive('ecs_category_mapping');
1159  $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.category_mapping.html', 'Services/WebServices/ECS');
1160 
1161  $this->initRule();
1162  $this->initCategoryMappingForm();
1163 
1164 
1165  $this->tpl->setVariable('NEW_RULE_TABLE', $this->form->getHTML());
1166  if ($html = $this->showRulesTable()) {
1167  $this->tpl->setVariable('RULES_TABLE', $html);
1168  }
1169  }
initCategoryMappingForm($a_mode='add')
Init category mapping form.
initRule($a_rule_id=0)
Init rule.
showRulesTable()
Show rules table.
$html
Definition: example_001.php:87
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ communities()

ilECSSettingsGUI::communities ( )

show communities

public

Definition at line 664 of file class.ilECSSettingsGUI.php.

References $GLOBALS, $reader, $server, ilECSServerSettings\getInstance(), ilECSCommunityReader\getInstanceByServerId(), and ilTable2GUI\setTitle().

665  {
666  global $ilAccess;
667  // add toolbar to refresh communities
668  if ($ilAccess->checkAccess('write', '', $_REQUEST["ref_id"])) {
669  $GLOBALS['ilToolbar']->addButton(
670  $this->lng->txt('ecs_refresh_participants'),
671  $this->ctrl->getLinkTarget($this, 'refreshParticipants')
672  );
673  }
674 
675 
676  $this->tabs_gui->setSubTabActive('ecs_communities');
677 
678  $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.ecs_communities.html', 'Services/WebServices/ECS');
679 
680  $this->tpl->setVariable('FORMACTION', $this->ctrl->getFormAction($this, 'updateCommunities'));
681 
682  if ($ilAccess->checkAccess('write', '', $_REQUEST["ref_id"])) {
683  $this->tpl->setCurrentBlock("submit_buttons");
684  $this->tpl->setVariable('TXT_SAVE', $this->lng->txt('save'));
685  $this->tpl->setVariable('TXT_CANCEL', $this->lng->txt('cancel'));
686  $this->tpl->parseCurrentBlock();
687  }
688 
689  include_once('Services/WebServices/ECS/classes/class.ilECSCommunityReader.php');
690  include_once('Services/WebServices/ECS/classes/class.ilECSCommunityTableGUI.php');
691 
692  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
693  $settings = ilECSServerSettings::getInstance();
694  #$settings->readInactiveServers();
695 
696  foreach ($settings->getServers() as $server) {
697  // Try to read communities
698  try {
700  foreach ($reader->getCommunities() as $community) {
701  $this->tpl->setCurrentBlock('table_community');
702  $table_gui = new ilECSCommunityTableGUI($server, $this, 'communities', $community->getId());
703  $table_gui->setTitle($community->getTitle() . ' (' . $community->getDescription() . ')');
704  $table_gui->parse($community->getParticipants());
705  $this->tpl->setVariable('TABLE_COMM', $table_gui->getHTML());
706  $this->tpl->parseCurrentBlock();
707  }
708  } catch (ilECSConnectorException $exc) {
709  // Maybe server is not fully configured
710  continue;
711  }
712 
713  // Show section for each server
714  $this->tpl->setCurrentBlock('server');
715  $this->tpl->setVariable('TXT_SERVER_NAME', $server->getTitle());
716  $this->tpl->parseCurrentBlock();
717  }
718  }
static getInstance()
Get singleton instance.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
static getInstanceByServerId($a_server_id)
Get instance by server id.
$server
Definition: getUserInfo.php:12
+ Here is the call graph for this function:

◆ cp()

ilECSSettingsGUI::cp ( )
protected

Definition at line 248 of file class.ilECSSettingsGUI.php.

References initSettings(), and ilUtil\sendSuccess().

249  {
250  $this->initSettings((int) $_REQUEST['server_id']);
251 
252  $copy = clone $this->settings;
253  $copy->save();
254 
255  $this->ctrl->setParameter($this, 'server_id', $copy->getServerId());
256  ilUtil::sendSuccess($this->lng->txt('ecs_settings_cloned'), true);
257  $this->ctrl->redirect($this, 'edit');
258  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
initSettings($a_server_id=1)
Init settings.
+ Here is the call graph for this function:

◆ create()

ilECSSettingsGUI::create ( )
protected

Create new settings ilTabs $ilTabs.

Definition at line 212 of file class.ilECSSettingsGUI.php.

References initSettings(), and initSettingsForm().

Referenced by save().

213  {
214  global $ilTabs;
215 
216  $this->initSettings(0);
217 
218  $ilTabs->clearTargets();
219  $ilTabs->clearSubTabs();
220  $ilTabs->setBackTarget($this->lng->txt('back'), $this->ctrl->getLinkTarget($this, 'overview'));
221 
222  $this->initSettingsForm('create');
223  $this->tabs_gui->setSubTabActive('ecs_settings');
224 
225  $this->tpl->setContent($this->form->getHTML());
226  }
initSettingsForm($a_mode='update')
init settings form
initSettings($a_server_id=1)
Init settings.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deactivate()

ilECSSettingsGUI::deactivate ( )
protected

activate server

Definition at line 164 of file class.ilECSSettingsGUI.php.

References initSettings(), ilUtil\sendSuccess(), and settings().

165  {
166  $this->initSettings($_REQUEST['server_id']);
167  $this->settings->setEnabledStatus(false);
168  $this->settings->update();
169  ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
170  $this->ctrl->redirect($this, 'overview');
171  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
initSettings($a_server_id=1)
Init settings.
+ Here is the call graph for this function:

◆ delete()

ilECSSettingsGUI::delete ( )
protected

Delete confirmation.

Definition at line 263 of file class.ilECSSettingsGUI.php.

References initSettings(), and settings().

264  {
265  global $ilTabs;
266 
267  $this->initSettings((int) $_REQUEST['server_id']);
268 
269  $ilTabs->clearTargets();
270  $ilTabs->clearSubTabs();
271  $ilTabs->setBackTarget($this->lng->txt('back'), $this->ctrl->getLinkTarget($this, 'overview'));
272 
273  include_once './Services/Utilities/classes/class.ilConfirmationGUI.php';
274  $confirm = new ilConfirmationGUI();
275  $confirm->setFormAction($this->ctrl->getFormAction($this));
276  $confirm->setConfirm($this->lng->txt('delete'), 'doDelete');
277  $confirm->setCancel($this->lng->txt('cancel'), 'overview');
278  $confirm->setHeaderText($this->lng->txt('ecs_delete_setting'));
279 
280  $confirm->addItem('', '', $this->settings->getServer());
281  $confirm->addHiddenItem('server_id', $this->settings->getServerId());
282 
283  $this->tpl->setContent($confirm->getHTML());
284  }
initSettings($a_server_id=1)
Init settings.
Confirmation screen class.
+ Here is the call graph for this function:

◆ deleteCategoryMappings()

ilECSSettingsGUI::deleteCategoryMappings ( )
protected

Delete selected category mappings.

Definition at line 1296 of file class.ilECSSettingsGUI.php.

References $_POST, $rule, categoryMapping(), and ilUtil\sendInfo().

1297  {
1298  if (!is_array($_POST['rules']) or !$_POST['rules']) {
1299  ilUtil::sendInfo($this->lng->txt('no_checkbox'));
1300  $this->categoryMapping();
1301  return false;
1302  }
1303  foreach ($_POST['rules'] as $rule_id) {
1304  include_once './Services/WebServices/ECS/classes/class.ilECSCategoryMappingRule.php';
1305  $rule = new ilECSCategoryMappingRule($rule_id);
1306  $rule->delete();
1307  }
1308  ilUtil::sendInfo($this->lng->txt('settings_saved'));
1309  $this->categoryMapping();
1310  return true;
1311  }
categoryMapping()
Category mappings.
Defines a rule for the assignment of ECS remote courses to categories.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$rule
Definition: showstats.php:43
$_POST["username"]
+ Here is the call graph for this function:

◆ doDelete()

ilECSSettingsGUI::doDelete ( )
protected

Do delete.

Definition at line 289 of file class.ilECSSettingsGUI.php.

References ilECSCommunitiesCache\delete(), ilECSDataMappingSettings\delete(), ilECSParticipantSettings\deleteByServer(), ilECSExport\deleteByServer(), ilECSImport\deleteByServer(), ilECSEventQueueReader\deleteServer(), initSettings(), ilUtil\sendSuccess(), and settings().

290  {
291  $this->initSettings($_REQUEST['server_id']);
292  $this->settings->delete();
293 
294  // Delete communities
295  include_once './Services/WebServices/ECS/classes/class.ilECSCommunitiesCache.php';
296  ilECSCommunitiesCache::delete((int) $_REQUEST['server_id']);
297 
298  include_once './Services/WebServices/ECS/classes/class.ilECSDataMappingSettings.php';
299  ilECSDataMappingSettings::delete((int) $_REQUEST['server_id']);
300 
301  include_once './Services/WebServices/ECS/classes/class.ilECSEventQueueReader.php';
302  ilECSEventQueueReader::deleteServer((int) $_REQUEST['server_id']);
303 
304  include_once './Services/WebServices/ECS/classes/class.ilECSExport.php';
305  ilECSExport::deleteByServer((int) $_REQUEST['server_id']);
306 
307  include_once './Services/WebServices/ECS/classes/class.ilECSImport.php';
308  ilECSImport::deleteByServer((int) $_REQUEST['server_id']);
309 
310  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSettings.php';
311  ilECSParticipantSettings::deleteByServer((int) $_REQUEST['server_id']);
312 
313  ilUtil::sendSuccess($this->lng->txt('ecs_setting_deleted'), true);
314  $this->ctrl->redirect($this, 'overview');
315  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static deleteServer($a_server_id)
Delete by server id ilDB $ilDB.
static deleteByServer($a_server_id)
Delete by server id ilDB $ilDB.
static delete($a_server_id)
Delete comunities by server id.
static deleteByServer($a_server_id)
Delete by server id ilDB $ilDB.
static delete($a_server_id)
Delete server ilDB $ilDB.
static deleteByServer($a_server_id)
Delete by server $ilDB.
initSettings($a_server_id=1)
Init settings.
+ Here is the call graph for this function:

◆ edit()

ilECSSettingsGUI::edit ( )
protected

Edit server setting.

Definition at line 231 of file class.ilECSSettingsGUI.php.

References initSettings(), and initSettingsForm().

Referenced by update().

232  {
233  global $ilTabs;
234 
235  $this->initSettings((int) $_REQUEST['server_id']);
236  $this->ctrl->saveParameter($this, 'server_id', (int) $_REQUEST['server_id']);
237 
238  $ilTabs->clearTargets();
239  $ilTabs->clearSubTabs();
240  $ilTabs->setBackTarget($this->lng->txt('back'), $this->ctrl->getLinkTarget($this, 'overview'));
241 
242  $this->initSettingsForm();
243  $this->tabs_gui->setSubTabActive('ecs_settings');
244 
245  $this->tpl->setContent($this->form->getHTML());
246  }
initSettingsForm($a_mode='update')
init settings form
initSettings($a_server_id=1)
Init settings.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ editCategoryMapping()

ilECSSettingsGUI::editCategoryMapping ( )
protected

Edit category mapping.

Returns

Definition at line 1223 of file class.ilECSSettingsGUI.php.

References categoryMapping(), initCategoryMappingForm(), initRule(), and ilUtil\sendInfo().

Referenced by updateCategoryMapping().

1224  {
1225  if (!$_REQUEST['rule_id']) {
1226  ilUtil::sendInfo($this->lng->txt('select_one'));
1227  $this->categoryMapping();
1228  return false;
1229  }
1230 
1231  $this->tabs_gui->setSubTabActive('ecs_category_mapping');
1232  $this->ctrl->saveParameter($this, 'rule_id');
1233  $this->initRule((int) $_REQUEST['rule_id']);
1234 
1235  $this->initCategoryMappingForm('edit');
1236  $this->tpl->setContent($this->form->getHTML());
1237  return true;
1238  }
categoryMapping()
Category mappings.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
initCategoryMappingForm($a_mode='add')
Init category mapping form.
initRule($a_rule_id=0)
Init rule.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilECSSettingsGUI::executeCommand ( )

Execute command.

public

Parameters

Definition at line 78 of file class.ilECSSettingsGUI.php.

References setSubTabs().

79  {
80  global $ilAccess;
81  $next_class = $this->ctrl->getNextClass($this);
82  $cmd = $this->ctrl->getCmd();
83 
84  $this->setSubTabs();
85  switch ($next_class) {
86  case 'ilecsmappingsettingsgui':
87  include_once './Services/WebServices/ECS/classes/Mapping/class.ilECSMappingSettingsGUI.php';
88  $mapset = new ilECSMappingSettingsGUI($this, (int) $_REQUEST['server_id'], (int) $_REQUEST['mid']);
89  $this->ctrl->setReturn($this, 'communities');
90  $this->ctrl->forwardCommand($mapset);
91  break;
92 
93  case 'ilecsparticipantsettingsgui':
94  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSettingsGUI.php';
95  $part = new ilECSParticipantSettingsGUI(
96  (int) $_REQUEST['server_id'],
97  (int) $_REQUEST['mid']
98  );
99  $this->ctrl->setReturn($this, 'communities');
100  $this->ctrl->forwardCommand($part);
101  break;
102 
103  default:
104 
105  if (!$ilAccess->checkAccess('write', '', $_REQUEST["ref_id"]) && $cmd != "overview" && $cmd != "communities") {
106  $this->ctrl->redirect($this, "overview");
107  }
108 
109  if (!$cmd || $cmd == 'view') {
110  $cmd = "overview";
111  }
112  $this->$cmd();
113  break;
114  }
115  return true;
116  }
+ Here is the call graph for this function:

◆ exportImported()

ilECSSettingsGUI::exportImported ( )
protected

csv export of imported remote courses

protected

Returns

Definition at line 1511 of file class.ilECSSettingsGUI.php.

References $ilUser, $reader, ilECSDataMappingSettings\_getInstance(), ilECSCommunityReader\_getInstance(), ilUtil\_getObjectsByOperations(), ilObject\_lookupDescription(), ilRemoteObjectBase\_lookupMID(), ilObject\_lookupTitle(), array, date, ilUtil\deliverData(), ilECSUtils\getAdvancedMDValuesForObjId(), IL_CAL_DATETIME, IL_CAL_UNIX, and ilECSDataMappingSetting\MAPPING_IMPORT_RCRS.

1512  {
1513  global $ilObjDataCache,$ilUser;
1514 
1515  // :TODO: mind resource type and move to ilRemoteObjectBase...
1516 
1517  $rcourses = ilUtil::_getObjectsByOperations('rcrs', 'visible', $ilUser->getId(), -1);
1518 
1519  // Read participants
1520  include_once('./Modules/RemoteCourse/classes/class.ilObjRemoteCourse.php');
1521  include_once('./Services/WebServices/ECS/classes/class.ilECSCommunityReader.php');
1522  try {
1524  } catch (ilECSConnectorException $e) {
1525  $reader = null;
1526  }
1527 
1528  // read obj_ids
1529  $ilObjDataCache->preloadReferenceCache($rcourses);
1530  $obj_ids = array();
1531  foreach ($rcourses as $rcrs_ref_id) {
1532  $obj_id = $ilObjDataCache->lookupObjId($rcrs_ref_id);
1533  $obj_ids[$obj_id] = $obj_id;
1534  }
1535 
1536  include_once('Services/Utilities/classes/class.ilCSVWriter.php');
1537  $writer = new ilCSVWriter();
1538 
1539  $writer->addColumn($this->lng->txt('title'));
1540  $writer->addColumn($this->lng->txt('description'));
1541  $writer->addColumn($this->lng->txt('ecs_imported_from'));
1542  $writer->addColumn($this->lng->txt('ecs_field_courseID'));
1543  $writer->addColumn($this->lng->txt('ecs_field_term'));
1544  $writer->addColumn($this->lng->txt('ecs_field_lecturer'));
1545  $writer->addColumn($this->lng->txt('ecs_field_courseType'));
1546  $writer->addColumn($this->lng->txt('ecs_field_semester_hours'));
1547  $writer->addColumn($this->lng->txt('ecs_field_credits'));
1548  $writer->addColumn($this->lng->txt('ecs_field_room'));
1549  $writer->addColumn($this->lng->txt('ecs_field_cycle'));
1550  $writer->addColumn($this->lng->txt('ecs_field_begin'));
1551  $writer->addColumn($this->lng->txt('ecs_field_end'));
1552  $writer->addColumn($this->lng->txt('last_update'));
1553 
1554  include_once('./Services/WebServices/ECS/classes/class.ilECSDataMappingSettings.php');
1556 
1557  foreach ($obj_ids as $obj_id) {
1558  include_once "Services/WebServices/ECS/classes/class.ilECSUtils.php";
1559  $values = ilECSUtils::getAdvancedMDValuesForObjId($obj_id);
1560 
1561  $writer->addRow();
1562  $writer->addColumn(ilObject::_lookupTitle($obj_id));
1563  $writer->addColumn(ilObject::_lookupDescription($obj_id));
1564 
1565  $mid = ilObjRemoteCourse::_lookupMID($obj_id);
1566  if ($reader and ($participant = $reader->getParticipantByMID($mid))) {
1567  $writer->addColumn($participant->getParticipantName());
1568  }
1569  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS, 'courseID');
1570  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1571 
1572  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS, 'term');
1573  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1574 
1575  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS, 'lecturer');
1576  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1577 
1578  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS, 'courseType');
1579  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1580 
1581  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS, 'semester_hours');
1582  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1583 
1584  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS, 'credits');
1585  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1586 
1587  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS, 'room');
1588  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1589 
1590  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS, 'cycle');
1591  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1592 
1593  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS, 'begin');
1594  $dt = '';
1595  if (isset($values[$field])) {
1596  $dt = new ilDateTime($values[$field], IL_CAL_UNIX);
1597  $dt = $dt->get(IL_CAL_DATETIME);
1598  }
1599  $writer->addColumn($dt);
1600 
1601  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS, 'end');
1602  $dt = '';
1603  if (isset($values[$field])) {
1604  $dt = new ilDateTime($values[$field], IL_CAL_UNIX);
1605  $dt = $dt->get(IL_CAL_DATETIME);
1606  }
1607  $writer->addColumn($dt);
1608 
1609  $writer->addColumn($ilObjDataCache->lookupLastUpdate($obj_id));
1610  }
1611  ilUtil::deliverData($writer->getCSVString(), date("Y_m_d") . "_ecs_import.csv", "text/csv");
1612  }
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
const IL_CAL_DATETIME
Helper class to generate CSV files.
static _getInstance()
get singleton instance
static _getObjectsByOperations($a_obj_type, $a_operation, $a_usr_id=0, $limit=0)
Get all objects of a specific type and check access This function is not recursive, instead it parses the serialized rbac_pa entries.
static _lookupMID($a_obj_id)
lookup owner mid
static _lookupTitle($a_id)
lookup object title
const IL_CAL_UNIX
static getAdvancedMDValuesForObjId($a_obj_id)
Get advanced metadata values for object id.
static _lookupDescription($a_id)
lookup object description
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
Date and time handling
$ilUser
Definition: imgupload.php:18
Create styles array
The data for the language used.
static _getInstance()
Get Singleton instance.
+ Here is the call graph for this function:

◆ exportMappings()

ilECSSettingsGUI::exportMappings ( )
protected

Show mapping settings (EContent-Data <-> (Remote)Course.

protected

Definition at line 937 of file class.ilECSSettingsGUI.php.

References $_SESSION, $form, $options, $server, $title, array, ilECSServerSettings\getInstance(), ilAdvancedMDFieldDefinition\getInstancesByObjType(), initMappingsForm(), ilUtil\sendInfo(), and setMappingTabs().

938  {
939  global $ilToolbar;
940 
941  include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
942 
943  $this->setMappingTabs(self::MAPPING_EXPORT);
944 
946  if (!count($fields)) {
947  ilUtil::sendInfo($this->lng->txt('ecs_no_adv_md'));
948  return true;
949  }
950 
951  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
952  $settings = ilECSServerSettings::getInstance();
953  $settings->readInactiveServers();
954 
955  $sel_srv = (int) $_REQUEST["ecs_mapping_server"];
956  if (!$sel_srv) {
957  $sel_srv = $_SESSION["ecs_sel_srv"];
958  } else {
959  $_SESSION["ecs_sel_srv"] = $sel_srv;
960  }
961 
962  // Iterate all servers
963  $options = array(0 => $this->lng->txt("please_choose"));
964  foreach ($settings->getServers() as $server) {
965  $title = $server->getTitle();
966  if (!$title) {
967  $title = "ECS (" . $server->getServerId() . ")";
968  }
969  $options[$server->getServerId()] = $title;
970  }
971 
972  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
973  $sel = new ilSelectInputGUI("", "ecs_mapping_server");
974  $sel->setOptions($options);
975  $sel->setValue($sel_srv);
976  $ilToolbar->addInputItem($sel);
977 
978  $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "exportMappings"));
979  $ilToolbar->addFormButton($this->lng->txt("submit"), "exportMappings");
980 
981  if ($sel_srv) {
982  $form = $this->initMappingsForm($sel_srv, self::MAPPING_EXPORT);
983  $this->tpl->setContent($form->getHTML());
984  }
985 
986  return true;
987  }
setMappingTabs($a_active)
Handle tabs for ECS data mapping.
$_SESSION["AccountId"]
This class represents a selection list property in a property form.
static getInstance()
Get singleton instance.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(isset($_POST['submit'])) $form
initMappingsForm($a_server_id, $mapping_type)
init mapping form
static getInstancesByObjType($a_obj_type, $a_active_only=true)
Create styles array
The data for the language used.
$server
Definition: getUserInfo.php:12
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ Here is the call graph for this function:

◆ exportReleased()

ilECSSettingsGUI::exportReleased ( )
protected

export released

protected

Returns

Definition at line 1678 of file class.ilECSSettingsGUI.php.

References ilECSDataMappingSettings\_getInstance(), ilObject\_lookupDescription(), ilObject\_lookupTitle(), date, ilUtil\deliverData(), ilECSUtils\getAdvancedMDValuesForObjId(), ilECSExport\getExportedIds(), IL_CAL_DATETIME, and IL_CAL_UNIX.

1679  {
1680  global $ilObjDataCache;
1681 
1682  include_once('./Services/WebServices/ECS/classes/class.ilECSExport.php');
1683  $exported = ilECSExport::getExportedIds();
1684  $ilObjDataCache->preloadObjectCache($exported);
1685 
1686  include_once('Services/Utilities/classes/class.ilCSVWriter.php');
1687  $writer = new ilCSVWriter();
1688 
1689  $writer->addColumn($this->lng->txt('title'));
1690  $writer->addColumn($this->lng->txt('description'));
1691  $writer->addColumn($this->lng->txt('ecs_field_courseID'));
1692  $writer->addColumn($this->lng->txt('ecs_field_term'));
1693  $writer->addColumn($this->lng->txt('ecs_field_lecturer'));
1694  $writer->addColumn($this->lng->txt('ecs_field_courseType'));
1695  $writer->addColumn($this->lng->txt('ecs_field_semester_hours'));
1696  $writer->addColumn($this->lng->txt('ecs_field_credits'));
1697  $writer->addColumn($this->lng->txt('ecs_field_room'));
1698  $writer->addColumn($this->lng->txt('ecs_field_cycle'));
1699  $writer->addColumn($this->lng->txt('ecs_field_begin'));
1700  $writer->addColumn($this->lng->txt('ecs_field_end'));
1701  $writer->addColumn($this->lng->txt('last_update'));
1702 
1703  include_once('./Services/WebServices/ECS/classes/class.ilECSDataMappingSettings.php');
1705 
1706  foreach ($exported as $obj_id) {
1707  include_once "Services/WebServices/ECS/classes/class.ilECSUtils.php";
1708  $values = ilECSUtils::getAdvancedMDValuesForObjId($obj_id);
1709 
1710  $writer->addRow();
1711  $writer->addColumn(ilObject::_lookupTitle($obj_id));
1712  $writer->addColumn(ilObject::_lookupDescription($obj_id));
1713 
1714  $field = $settings->getMappingByECSName(0, 'courseID');
1715  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1716 
1717  $field = $settings->getMappingByECSName(0, 'term');
1718  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1719 
1720  $field = $settings->getMappingByECSName(0, 'lecturer');
1721  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1722 
1723  $field = $settings->getMappingByECSName(0, 'courseType');
1724  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1725 
1726  $field = $settings->getMappingByECSName(0, 'semester_hours');
1727  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1728 
1729  $field = $settings->getMappingByECSName(0, 'credits');
1730  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1731 
1732  $field = $settings->getMappingByECSName(0, 'room');
1733  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1734 
1735  $field = $settings->getMappingByECSName(0, 'cycle');
1736  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1737 
1738  $field = $settings->getMappingByECSName(0, 'begin');
1739  $dt = '';
1740  if (isset($values[$field])) {
1741  $dt = new ilDateTime($values[$field], IL_CAL_UNIX);
1742  $dt = $dt->get(IL_CAL_DATETIME);
1743  }
1744  $writer->addColumn($dt);
1745 
1746  $field = $settings->getMappingByECSName(0, 'end');
1747  $dt = '';
1748  if (isset($values[$field])) {
1749  $dt = new ilDateTime($values[$field], IL_CAL_UNIX);
1750  $dt = $dt->get(IL_CAL_DATETIME);
1751  }
1752  $writer->addColumn($dt);
1753 
1754  $writer->addColumn($ilObjDataCache->lookupLastUpdate($obj_id));
1755  }
1756 
1757  ilUtil::deliverData($writer->getCSVString(), date("Y_m_d") . "_ecs_export.csv", "text/csv");
1758  }
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
const IL_CAL_DATETIME
Helper class to generate CSV files.
static _lookupTitle($a_id)
lookup object title
const IL_CAL_UNIX
static getExportedIds()
Get exported ids ilDB $ilDB.
static getAdvancedMDValuesForObjId($a_obj_id)
Get advanced metadata values for object id.
static _lookupDescription($a_id)
lookup object description
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
Date and time handling
static _getInstance()
Get Singleton instance.
+ Here is the call graph for this function:

◆ imported()

ilECSSettingsGUI::imported ( )
protected

Show imported materials.

protected

Definition at line 1452 of file class.ilECSSettingsGUI.php.

References $ilUser, $options, ilUtil\_getObjectsByOperations(), ilECSServerSettings\getInstance(), and ilECSUtils\getPossibleRemoteTypes().

Referenced by readAll().

1453  {
1454  global $ilUser, $ilToolbar;
1455 
1456  $this->tabs_gui->setSubTabActive('ecs_import');
1457 
1458  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
1459  if (ilECSServerSettings::getInstance()->activeServerExists()) {
1460  $ilToolbar->addButton(
1461  $this->lng->txt('ecs_read_remote_links'),
1462  $this->ctrl->getLinkTarget($this, 'readAll')
1463  );
1464 
1465  $ilToolbar->addSeparator();
1466  }
1467 
1468 
1469  $sel_type = $_REQUEST["otype"];
1470  if (!$sel_type) {
1471  $sel_type = "rcrs";
1472  }
1473 
1474  include_once './Services/WebServices/ECS/classes/class.ilECSUtils.php';
1476 
1477  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
1478  $sel = new ilSelectInputGUI("", "otype");
1479  $sel->setOptions($options);
1480  $sel->setValue($sel_type);
1481  $ilToolbar->addInputItem($sel);
1482 
1483  $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "imported"));
1484  $ilToolbar->addFormButton($this->lng->txt("submit"), "imported");
1485 
1486  $robjs = ilUtil::_getObjectsByOperations($sel_type, 'visible', $ilUser->getId(), -1);
1487  if (count($robjs)) {
1488  $ilToolbar->addSeparator();
1489 
1490  $ilToolbar->addButton(
1491  $this->lng->txt('csv_export'),
1492  $this->ctrl->getLinkTarget($this, 'exportImported')
1493  );
1494  }
1495 
1496  include_once('Services/WebServices/ECS/classes/class.ilECSImportedContentTableGUI.php');
1497  $table_gui = new ilECSImportedContentTableGUI($this, 'imported');
1498  $table_gui->setTitle($this->lng->txt('ecs_imported_content'));
1499  $table_gui->parse($robjs);
1500  $this->tpl->setContent($table_gui->getHTML());
1501 
1502  return true;
1503  }
static getPossibleRemoteTypes($a_with_captions=false)
Get all possible remote object types.
This class represents a selection list property in a property form.
static getInstance()
Get singleton instance.
static _getObjectsByOperations($a_obj_type, $a_operation, $a_usr_id=0, $limit=0)
Get all objects of a specific type and check access This function is not recursive, instead it parses the serialized rbac_pa entries.
$ilUser
Definition: imgupload.php:18
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importMappings()

ilECSSettingsGUI::importMappings ( )

Show mapping settings (EContent-Data <-> (Remote)Course.

protected

Definition at line 880 of file class.ilECSSettingsGUI.php.

References $_SESSION, $form, $options, $server, $title, array, ilECSServerSettings\getInstance(), ilAdvancedMDFieldDefinition\getInstancesByObjType(), initMappingsForm(), ilUtil\sendInfo(), and setMappingTabs().

881  {
882  global $ilToolbar;
883 
884  include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
885 
886  $this->setMappingTabs(self::MAPPING_IMPORT);
887 
889  if (!count($fields)) {
890  ilUtil::sendInfo($this->lng->txt('ecs_no_adv_md'));
891  return true;
892  }
893 
894  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
895  $settings = ilECSServerSettings::getInstance();
896  $settings->readInactiveServers();
897 
898  $sel_srv = (int) $_REQUEST["ecs_mapping_server"];
899  if (!$sel_srv) {
900  $sel_srv = $_SESSION["ecs_sel_srv"];
901  } else {
902  $_SESSION["ecs_sel_srv"] = $sel_srv;
903  }
904 
905  // Iterate all servers
906  $options = array(0 => $this->lng->txt("please_choose"));
907  foreach ($settings->getServers() as $server) {
908  $title = $server->getTitle();
909  if (!$title) {
910  $title = "ECS (" . $server->getServerId() . ")";
911  }
912  $options[$server->getServerId()] = $title;
913  }
914 
915  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
916  $sel = new ilSelectInputGUI("", "ecs_mapping_server");
917  $sel->setOptions($options);
918  $sel->setValue($sel_srv);
919  $ilToolbar->addInputItem($sel);
920 
921  $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "importMappings"));
922  $ilToolbar->addFormButton($this->lng->txt("submit"), "importMappings");
923 
924  if ($sel_srv) {
925  $form = $this->initMappingsForm($sel_srv, self::MAPPING_IMPORT);
926  $this->tpl->setContent($form->getHTML());
927  }
928 
929  return true;
930  }
setMappingTabs($a_active)
Handle tabs for ECS data mapping.
$_SESSION["AccountId"]
This class represents a selection list property in a property form.
static getInstance()
Get singleton instance.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(isset($_POST['submit'])) $form
initMappingsForm($a_server_id, $mapping_type)
init mapping form
static getInstancesByObjType($a_obj_type, $a_active_only=true)
Create styles array
The data for the language used.
$server
Definition: getUserInfo.php:12
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ Here is the call graph for this function:

◆ initCategoryMappingForm()

ilECSSettingsGUI::initCategoryMappingForm (   $a_mode = 'add')
protected

Init category mapping form.

Returns

Definition at line 1349 of file class.ilECSSettingsGUI.php.

References $ilDB, $options, $tpl, $type, buildPath(), ilECSCategoryMapping\getPossibleFields(), ilECSUtils\getPossibleRemoteTypes(), ilRadioOption\setInfo(), ilSelectInputGUI\setOptions(), ilFormPropertyGUI\setRequired(), settings(), ilTextInputGUI\setValue(), ilSelectInputGUI\setValue(), ilRadioGroupInputGUI\setValue(), ilECSCategoryMappingRule\TYPE_BY_TYPE, ilECSCategoryMappingRule\TYPE_DURATION, and ilECSCategoryMappingRule\TYPE_FIXED.

Referenced by addCategoryMapping(), categoryMapping(), editCategoryMapping(), and updateCategoryMapping().

1350  {
1351  global $ilDB;
1352 
1353  if (is_object($this->form)) {
1354  return true;
1355  }
1356 
1357  include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
1358  include_once './Services/WebServices/ECS/classes/class.ilECSCategoryMappingRule.php';
1359 
1360  $this->form = new ilPropertyFormGUI();
1361 
1362  if ($a_mode == 'add') {
1363  $this->form->setTitle($this->lng->txt('ecs_new_category_mapping'));
1364  $this->form->setFormAction($this->ctrl->getFormAction($this, 'categoryMapping'));
1365  $this->form->addCommandButton('addCategoryMapping', $this->lng->txt('save'));
1366  $this->form->addCommandButton('categoryMapping', $this->lng->txt('cancel'));
1367  } else {
1368  $this->form->setTitle($this->lng->txt('ecs_edit_category_mapping'));
1369  $this->form->setFormAction($this->ctrl->getFormAction($this, 'editCategoryMapping'));
1370  $this->form->addCommandButton('updateCategoryMapping', $this->lng->txt('save'));
1371  $this->form->addCommandButton('categoryMapping', $this->lng->txt('cancel'));
1372  }
1373 
1374  $imp = new ilCustomInputGUI($this->lng->txt('ecs_import_id'), 'import_id');
1375  $imp->setRequired(true);
1376 
1377  $tpl = new ilTemplate('tpl.ecs_import_id_form.html', true, true, 'Services/WebServices/ECS');
1378  $tpl->setVariable('SIZE', 5);
1379  $tpl->setVariable('MAXLENGTH', 11);
1380  $tpl->setVariable('POST_VAR', 'import_id');
1381  $tpl->setVariable('PROPERTY_VALUE', $this->rule->getContainerId());
1382 
1383  if ($this->settings->getImportId()) {
1384  $tpl->setVariable('COMPLETE_PATH', $this->buildPath($this->rule->getContainerId()));
1385  }
1386 
1387  $imp->setHTML($tpl->get());
1388  $imp->setInfo($this->lng->txt('ecs_import_id_info'));
1389  $this->form->addItem($imp);
1390 
1391  include_once('./Services/WebServices/ECS/classes/class.ilECSCategoryMapping.php');
1392  $select = new ilSelectInputGUI($this->lng->txt('ecs_attribute_name'), 'field');
1393  $select->setValue($this->rule->getFieldName());
1394  $select->setRequired(true);
1395  $select->setOptions(ilECSCategoryMapping::getPossibleFields());
1396  $this->form->addItem($select);
1397 
1398  // Value
1399  $value = new ilRadioGroupInputGUI($this->lng->txt('ecs_cat_mapping_type'), 'type');
1400  $value->setValue($this->rule->getMappingType());
1401  $value->setRequired(true);
1402 
1403  $fixed = new ilRadioOption($this->lng->txt('ecs_cat_mapping_fixed'), ilECSCategoryMappingRule::TYPE_FIXED);
1404  $fixed->setInfo($this->lng->txt('ecs_cat_mapping_fixed_info'));
1405 
1406  $fixed_val = new ilTextInputGUI($this->lng->txt('ecs_cat_mapping_values'), 'mapping_value');
1407  $fixed_val->setValue($this->rule->getMappingValue());
1408  $fixed_val->setMaxLength(255);
1409  $fixed_val->setSize(40);
1410  $fixed_val->setRequired(true);
1411  $fixed->addSubItem($fixed_val);
1412 
1413  $value->addOption($fixed);
1414 
1415  $duration = new ilRadioOption($this->lng->txt('ecs_cat_mapping_duration'), ilECSCategoryMappingRule::TYPE_DURATION);
1416  $duration->setInfo($this->lng->txt('ecs_cat_mapping_duration_info'));
1417 
1418  $dur_start = new ilDateTimeInputGUI($this->lng->txt('from'), 'dur_begin');
1419  $dur_start->setRequired(true);
1420  $dur_start->setDate($this->rule->getDateRangeStart());
1421  $duration->addSubItem($dur_start);
1422 
1423  $dur_end = new ilDateTimeInputGUI($this->lng->txt('to'), 'dur_end');
1424  $dur_end->setRequired(true);
1425  $dur_end->setDate($this->rule->getDateRangeEnd());
1426  $duration->addSubItem($dur_end);
1427 
1428  $value->addOption($duration);
1429 
1430  $type = new ilRadioOption($this->lng->txt('ecs_cat_mapping_by_type'), ilECSCategoryMappingRule::TYPE_BY_TYPE);
1431  $type->setInfo($this->lng->txt('ecs_cat_mapping_by_type_info'));
1432 
1434 
1435  $types = new ilSelectInputGUI($this->lng->txt('type'), 'by_type');
1436  $types->setOptions($options);
1437  $types->setValue($this->rule->getByType());
1438  $types->setRequired(true);
1439  $type->addSubitem($types);
1440 
1441  $value->addOption($type);
1442 
1443  $this->form->addItem($value);
1444  }
This class represents an option in a radio group.
static getPossibleRemoteTypes($a_with_captions=false)
Get all possible remote object types.
This class represents a selection list property in a property form.
This class represents a property form user interface.
$type
setInfo($a_info)
Set Info.
This class represents a date/time property in a property form.
This class represents a property in a property form.
setValue($a_value)
Set Value.
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
setOptions($a_options)
Set Options.
This class represents a custom property in a property form.
global $ilDB
setValue($a_value)
Set Value.
setRequired($a_required)
Set Required.
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initMappingsForm()

ilECSSettingsGUI::initMappingsForm (   $a_server_id,
  $mapping_type 
)
protected

init mapping form

Parameters
int$a_server_id
Returns
ilPropertyFormGUI $form

protected

Definition at line 1051 of file class.ilECSSettingsGUI.php.

References $form, $options, $server, ilECSUtils\_getOptionalEContentFields(), ilECSUtils\_getOptionalECourseFields(), ilECSDataMappingSettings\getInstanceByServerId(), ilAdvancedMDFieldDefinition\getInstancesByObjType(), ilECSDataMappingSetting\MAPPING_EXPORT, ilECSDataMappingSetting\MAPPING_IMPORT_CRS, ilECSDataMappingSetting\MAPPING_IMPORT_RCRS, prepareFieldSelection(), and ilSelectInputGUI\setValue().

Referenced by exportMappings(), and importMappings().

1052  {
1053  include_once('./Services/Form/classes/class.ilPropertyFormGUI.php');
1054 
1055  include_once('./Services/WebServices/ECS/classes/class.ilECSDataMappingSettings.php');
1056  $mapping_settings = ilECSDataMappingSettings::getInstanceByServerId($a_server_id);
1057 
1058  $form = new ilPropertyFormGUI();
1059 
1060  if ($mapping_type == self::MAPPING_IMPORT) {
1061  $form->setTitle($this->lng->txt('ecs_mapping_tbl'));
1062  $form->addCommandButton('saveImportMappings', $this->lng->txt('save'));
1063  $form->addCommandButton('importMappings', $this->lng->txt('cancel'));
1064  } else {
1065  $form->setTitle($this->lng->txt('ecs_mapping_exp_tbl'));
1066  $form->addCommandButton('saveExportMappings', $this->lng->txt('save'));
1067  $form->addCommandButton('exportMappings', $this->lng->txt('cancel'));
1068  }
1069 
1070  $form->setFormAction($this->ctrl->getFormAction($this, 'saveMappings'));
1071 
1072  if ($mapping_type == self::MAPPING_IMPORT) {
1073  $assignments = new ilCustomInputGUI($this->lng->txt('ecs_mapping_crs'));
1074  $form->addItem($assignments);
1075  }
1076 
1077  include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
1079  $options = $this->prepareFieldSelection($fields);
1080 
1081  // get all optional ecourse fields
1082  include_once('./Services/WebServices/ECS/classes/class.ilECSUtils.php');
1084  foreach ($optional as $field_name) {
1085  if ($mapping_type == self::MAPPING_IMPORT) {
1086  $select = new ilSelectInputGUI(
1087  $this->lng->txt('ecs_field_' . $field_name),
1088  'mapping' . '[' . ilECSDataMappingSetting::MAPPING_IMPORT_CRS . '][' . $field_name . ']'
1089  );
1090 
1091  $select->setValue(
1092  $mapping_settings->getMappingByECSName(
1094  $field_name
1095  )
1096  );
1097  $select->setOptions($options);
1098  $assignments->addSubItem($select);
1099  } else {
1100  $select = new ilSelectInputGUI(
1101  $this->lng->txt('ecs_field_' . $field_name),
1102  'mapping' . '[' . ilECSDataMappingSetting::MAPPING_EXPORT . '][' . $field_name . ']'
1103  );
1104  $select->setValue(
1105  $mapping_settings->getMappingByECSName(
1107  $field_name
1108  )
1109  );
1110  $select->setOptions($options);
1111  $form->addItem($select);
1112  }
1113  }
1114 
1115  $server = new ilHiddenInputGUI('ecs_mapping_server');
1116  $server->setValue($a_server_id);
1117  $form->addItem($server);
1118 
1119  // Remote courses
1120  // no remote course settings for export
1121  if ($mapping_type == self::MAPPING_EXPORT) {
1122  return $form;
1123  }
1124 
1125  $rcrs = new ilCustomInputGUI($this->lng->txt('ecs_mapping_rcrs'));
1126  $form->addItem($rcrs);
1127 
1128  include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
1130  $options = $this->prepareFieldSelection($fields);
1131 
1132  // get all optional econtent fields
1133  include_once('./Services/WebServices/ECS/classes/class.ilECSUtils.php');
1135  foreach ($optional as $field_name) {
1136  $select = new ilSelectInputGUI(
1137  $this->lng->txt('ecs_field_' . $field_name),
1138  'mapping[' . ilECSDataMappingSetting::MAPPING_IMPORT_RCRS . '][' . $field_name . ']'
1139  );
1140  $select->setValue(
1141  $mapping_settings->getMappingByECSName(
1143  $field_name
1144  )
1145  );
1146  $select->setOptions($options);
1147  $rcrs->addSubItem($select);
1148  }
1149  return $form;
1150  }
static getInstanceByServerId($a_server_id)
Get singleton instance.
This class represents a selection list property in a property form.
This class represents a property form user interface.
This class represents a hidden form property in a property form.
if(isset($_POST['submit'])) $form
setValue($a_value)
Set Value.
static getInstancesByObjType($a_obj_type, $a_active_only=true)
$server
Definition: getUserInfo.php:12
static _getOptionalEContentFields()
get optional econtent fields These fields might be mapped against AdvancedMetaData field definitions ...
This class represents a custom property in a property form.
prepareFieldSelection($fields)
get options for field selection
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
static _getOptionalECourseFields()
get optional econtent fields These fields might be mapped against AdvancedMetaData field definitions ...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initRule()

ilECSSettingsGUI::initRule (   $a_rule_id = 0)
protected

Init rule.

Parameters
int$rule_idrule id
Returns

Definition at line 1335 of file class.ilECSSettingsGUI.php.

References $rule.

Referenced by addCategoryMapping(), categoryMapping(), editCategoryMapping(), and updateCategoryMapping().

1336  {
1337  if (is_object($this->rule)) {
1338  return $this->rule;
1339  }
1340 
1341  include_once './Services/WebServices/ECS/classes/class.ilECSCategoryMappingRule.php';
1342  $this->rule = new ilECSCategoryMappingRule($a_rule_id);
1343  }
Defines a rule for the assignment of ECS remote courses to categories.
$rule
Definition: showstats.php:43
+ Here is the caller graph for this function:

◆ initSettings()

ilECSSettingsGUI::initSettings (   $a_server_id = 1)
protected

Init settings.

protected

Definition at line 1785 of file class.ilECSSettingsGUI.php.

References ilECSSetting\getInstanceByServerId(), and settings().

Referenced by __construct(), activate(), cp(), create(), deactivate(), delete(), doDelete(), edit(), save(), and update().

1786  {
1787  include_once('Services/WebServices/ECS/classes/class.ilECSSetting.php');
1788  $this->settings = ilECSSetting::getInstanceByServerId($a_server_id);
1789  }
static getInstanceByServerId($a_server_id)
Get singleton instance per server.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initSettingsForm()

ilECSSettingsGUI::initSettingsForm (   $a_mode = 'update')
protected

init settings form

protected

Definition at line 336 of file class.ilECSSettingsGUI.php.

References $key, $pass, $path, $tpl, array, ilECSSetting\AUTH_APACHE, ilECSSetting\AUTH_CERTIFICATE, buildPath(), prepareRoleSelect(), ilECSSetting\PROTOCOL_HTTPS, ilCheckboxInputGUI\setChecked(), ilFormPropertyGUI\setInfo(), ilSelectInputGUI\setOptions(), ilFormPropertyGUI\setRequired(), ilDurationInputGUI\setShowDays(), ilTextInputGUI\setSize(), settings(), ilTextInputGUI\setValue(), ilRadioGroupInputGUI\setValue(), and ilNonEditableValueGUI\setValue().

Referenced by create(), edit(), and settings().

337  {
338  if (is_object($this->form)) {
339  return true;
340  }
341  include_once('Services/Form/classes/class.ilPropertyFormGUI.php');
342 
343  $this->form = new ilPropertyFormGUI();
344  $this->form->setFormAction($this->ctrl->getFormAction($this, 'settings'));
345  $this->form->setTitle($this->lng->txt('ecs_connection_settings'));
346 
347  $ena = new ilCheckboxInputGUI($this->lng->txt('ecs_active'), 'active');
348  $ena->setChecked($this->settings->isEnabled());
349  $ena->setValue(1);
350  $this->form->addItem($ena);
351 
352  $server_title = new ilTextInputGUI($this->lng->txt('ecs_server_title'), 'title');
353  $server_title->setValue($this->settings->getTitle());
354  $server_title->setSize(80);
355  $server_title->setMaxLength(128);
356  $server_title->setRequired(true);
357  $this->form->addItem($server_title);
358 
359  $ser = new ilTextInputGUI($this->lng->txt('ecs_server_url'), 'server');
360  $ser->setValue((string) $this->settings->getServer());
361  $ser->setRequired(true);
362  $this->form->addItem($ser);
363 
364  $pro = new ilSelectInputGUI($this->lng->txt('ecs_protocol'), 'protocol');
365  // fixed to https
366  #$pro->setOptions(array(ilECSSetting::PROTOCOL_HTTP => $this->lng->txt('http'),
367  # ilECSSetting::PROTOCOL_HTTPS => $this->lng->txt('https')));
368  $pro->setOptions(array(ilECSSetting::PROTOCOL_HTTPS => 'HTTPS'));
369  $pro->setValue($this->settings->getProtocol());
370  $pro->setRequired(true);
371  $this->form->addItem($pro);
372 
373  $por = new ilTextInputGUI($this->lng->txt('ecs_port'), 'port');
374  $por->setSize(5);
375  $por->setMaxLength(5);
376  $por->setValue((string) $this->settings->getPort());
377  $por->setRequired(true);
378  $this->form->addItem($por);
379 
380  $tcer = new ilRadioGroupInputGUI($this->lng->txt('ecs_auth_type'), 'auth_type');
381  $tcer->setValue($this->settings->getAuthType());
382  $this->form->addItem($tcer);
383 
384  // Certificate based authentication
385  $cert_based = new ilRadioOption($this->lng->txt('ecs_auth_type_cert'), ilECSSetting::AUTH_CERTIFICATE);
386  $tcer->addOption($cert_based);
387 
388  $cli = new ilTextInputGUI($this->lng->txt('ecs_client_cert'), 'client_cert');
389  $cli->setSize(60);
390  $cli->setValue((string) $this->settings->getClientCertPath());
391  $cli->setRequired(true);
392  $cert_based->addSubItem($cli);
393 
394  $key = new ilTextInputGUI($this->lng->txt('ecs_cert_key'), 'key_path');
395  $key->setSize(60);
396  $key->setValue((string) $this->settings->getKeyPath());
397  $key->setRequired(true);
398  $cert_based->addSubItem($key);
399 
400  $cerp = new ilTextInputGUI($this->lng->txt('ecs_key_password'), 'key_password');
401  $cerp->setSize(12);
402  $cerp->setValue((string) $this->settings->getKeyPassword());
403  $cerp->setInputType('password');
404  $cerp->setRequired(true);
405  $cert_based->addSubItem($cerp);
406 
407  $cer = new ilTextInputGUI($this->lng->txt('ecs_ca_cert'), 'ca_cert');
408  $cer->setSize(60);
409  $cer->setValue((string) $this->settings->getCACertPath());
410  $cer->setRequired(true);
411  $cert_based->addSubItem($cer);
412 
413  // Apache auth
414  $apa_based = new ilRadioOption($this->lng->txt('ecs_auth_type_apache'), ilECSSetting::AUTH_APACHE);
415  $tcer->addOption($apa_based);
416 
417  $user = new ilTextInputGUI($this->lng->txt('ecs_apache_user'), 'auth_user');
418  $user->setSize(32);
419  $user->setValue((string) $this->settings->getAuthUser());
420  $user->setRequired(true);
421  $apa_based->addSubItem($user);
422 
423  $pass = new ilPasswordInputGUI($this->lng->txt('ecs_apache_pass'), 'auth_pass');
424  $pass->setRetype(false);
425  $pass->setSize(32);
426  $pass->setMaxLength(128);
427  $pass->setValue((string) $this->settings->getAuthPass());
428  $pass->setRequired(true);
429  $pass->setSkipSyntaxCheck(true);
430  $apa_based->addSubItem($pass);
431 
432 
433  $ser = new ilNonEditableValueGUI($this->lng->txt('cert_serial'));
434  $ser->setValue($this->settings->getCertSerialNumber() ? $this->settings->getCertSerialNumber() : $this->lng->txt('ecs_no_value'));
435  $cert_based->addSubItem($ser);
436 
437  $loc = new ilFormSectionHeaderGUI();
438  $loc->setTitle($this->lng->txt('ecs_local_settings'));
439  $this->form->addItem($loc);
440 
441  $pol = new ilDurationInputGUI($this->lng->txt('ecs_polling'), 'polling');
442  $pol->setShowDays(false);
443  $pol->setShowHours(false);
444  $pol->setShowMinutes(true);
445  $pol->setShowSeconds(true);
446  $pol->setSeconds($this->settings->getPollingTimeSeconds());
447  $pol->setMinutes($this->settings->getPollingTimeMinutes());
448  $pol->setRequired(true);
449  $pol->setInfo($this->lng->txt('ecs_polling_info'));
450  $this->form->addItem($pol);
451 
452  $imp = new ilCustomInputGUI($this->lng->txt('ecs_import_id'));
453  $imp->setRequired(true);
454 
455  $tpl = new ilTemplate('tpl.ecs_import_id_form.html', true, true, 'Services/WebServices/ECS');
456  $tpl->setVariable('SIZE', 5);
457  $tpl->setVariable('MAXLENGTH', 11);
458  $tpl->setVariable('POST_VAR', 'import_id');
459  $tpl->setVariable('PROPERTY_VALUE', $this->settings->getImportId());
460 
461  if ($this->settings->getImportId()) {
462  $path = $this->buildPath($this->settings->getImportId());
463  if ($path == '') {
464  $imp->setAlert($this->lng->txt('err_check_input'));
465  } else {
466  $tpl->setVariable('COMPLETE_PATH', $this->buildPath($this->settings->getImportId()));
467  }
468  }
469 
470  $imp->setHTML($tpl->get());
471  $imp->setInfo($this->lng->txt('ecs_import_id_info'));
472  $this->form->addItem($imp);
473 
474  $loc = new ilFormSectionHeaderGUI();
475  $loc->setTitle($this->lng->txt('ecs_remote_user_settings'));
476  $this->form->addItem($loc);
477 
478  $role = new ilSelectInputGUI($this->lng->txt('ecs_role'), 'global_role');
479  $role->setOptions($this->prepareRoleSelect());
480  $role->setValue($this->settings->getGlobalRole());
481  $role->setInfo($this->lng->txt('ecs_global_role_info'));
482  $role->setRequired(true);
483  $this->form->addItem($role);
484 
485  $duration = new ilDurationInputGUI($this->lng->txt('ecs_account_duration'), 'duration');
486  $duration->setInfo($this->lng->txt('ecs_account_duration_info'));
487  $duration->setMonths($this->settings->getDuration());
488  $duration->setShowSeconds(false);
489  $duration->setShowMinutes(false);
490  $duration->setShowHours(false);
491  $duration->setShowDays(false);
492  $duration->setShowMonths(true);
493  $duration->setRequired(true);
494  $this->form->addItem($duration);
495 
496  // Email recipients
497  $loc = new ilFormSectionHeaderGUI();
498  $loc->setTitle($this->lng->txt('ecs_notifications'));
499  $this->form->addItem($loc);
500 
501  $rcp_user = new ilTextInputGUI($this->lng->txt('ecs_user_rcp'), 'user_recipients');
502  $rcp_user->setValue((string) $this->settings->getUserRecipientsAsString());
503  $rcp_user->setInfo($this->lng->txt('ecs_user_rcp_info'));
504  $this->form->addItem($rcp_user);
505 
506  $rcp_econ = new ilTextInputGUI($this->lng->txt('ecs_econ_rcp'), 'econtent_recipients');
507  $rcp_econ->setValue((string) $this->settings->getEContentRecipientsAsString());
508  $rcp_econ->setInfo($this->lng->txt('ecs_econ_rcp_info'));
509  $this->form->addItem($rcp_econ);
510 
511  $rcp_app = new ilTextInputGUI($this->lng->txt('ecs_approval_rcp'), 'approval_recipients');
512  $rcp_app->setValue((string) $this->settings->getApprovalRecipientsAsString());
513  $rcp_app->setInfo($this->lng->txt('ecs_approval_rcp_info'));
514  $this->form->addItem($rcp_app);
515 
516  if ($a_mode == 'update') {
517  $this->form->addCommandButton('update', $this->lng->txt('save'));
518  } else {
519  $this->form->addCommandButton('save', $this->lng->txt('save'));
520  }
521  $this->form->addCommandButton('overview', $this->lng->txt('cancel'));
522  }
This class represents a duration (typical hh:mm:ss) property in a property form.
This class represents an option in a radio group.
This class represents a selection list property in a property form.
This class represents a property form user interface.
This class represents a section header in a property form.
This class represents a checkbox property in a property form.
setInfo($a_info)
Set Information Text.
setChecked($a_checked)
Set Checked.
This class represents a property in a property form.
special template class to simplify handling of ITX/PEAR
setShowDays($a_showdays)
Set Show Days.
setSize($a_size)
Set Size.
This class represents a text property in a property form.
This class represents a password property in a property form.
setOptions($a_options)
Set Options.
Create styles array
The data for the language used.
This class represents a custom property in a property form.
This class represents a non editable value in a property form.
prepareRoleSelect()
get global role array
setValue($a_value)
Set Value.
$key
Definition: croninfo.php:18
setRequired($a_required)
Set Required.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initTaskScheduler()

ilECSSettingsGUI::initTaskScheduler ( )
protected

Init next task execution <type> $ilDB <type> $ilSetting.

Definition at line 1896 of file class.ilECSSettingsGUI.php.

References $ilDB, $ilSetting, settings(), and time.

Referenced by save(), and update().

1897  {
1898  global $ilDB,$ilSetting;
1899 
1900  $setting = new ilSetting('ecs');
1901  $setting->set(
1902  'next_execution_' . $this->settings->getServerId(),
1903  time() + (int) $this->settings->getPollingTime()
1904  );
1905  }
global $ilSetting
Definition: privfeed.php:17
global $ilDB
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadFromPost()

ilECSSettingsGUI::loadFromPost ( )
protected

Load from post.

Definition at line 600 of file class.ilECSSettingsGUI.php.

References $_POST, settings(), and ilUtil\stripSlashes().

Referenced by save(), and update().

601  {
602  $this->settings->setEnabledStatus((int) $_POST['active']);
603  $this->settings->setTitle(ilUtil::stripSlashes($_POST['title']));
604  $this->settings->setServer(ilUtil::stripSlashes($_POST['server']));
605  $this->settings->setPort(ilUtil::stripSlashes($_POST['port']));
606  $this->settings->setProtocol(ilUtil::stripSlashes($_POST['protocol']));
607  $this->settings->setClientCertPath(ilUtil::stripSlashes($_POST['client_cert']));
608  $this->settings->setCACertPath(ilUtil::stripSlashes($_POST['ca_cert']));
609  $this->settings->setKeyPath(ilUtil::stripSlashes($_POST['key_path']));
610  $this->settings->setKeyPassword(ilUtil::stripSlashes($_POST['key_password']));
611  $this->settings->setImportId(ilUtil::stripSlashes($_POST['import_id']));
612  $this->settings->setPollingTimeMS((int) $_POST['polling']['mm'], (int) $_POST['polling']['ss']);
613  $this->settings->setServer(ilUtil::stripSlashes($_POST['server']));
614  $this->settings->setGlobalRole((int) $_POST['global_role']);
615  $this->settings->setDuration((int) $_POST['duration']['MM']);
616 
617  $this->settings->setUserRecipients(ilUtil::stripSlashes($_POST['user_recipients']));
618  $this->settings->setEContentRecipients(ilUtil::stripSlashes($_POST['econtent_recipients']));
619  $this->settings->setApprovalRecipients(ilUtil::stripSlashes($_POST['approval_recipients']));
620 
621  $this->settings->setAuthType((int) $_POST['auth_type']);
622  $this->settings->setAuthPass(ilUtil::stripSlashes($_POST['auth_pass']));
623  $this->settings->setAuthUser(ilUtil::stripSlashes($_POST['auth_user']));
624  }
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
$_POST["username"]
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ overview()

ilECSSettingsGUI::overview ( )

List available servers.

Returns
void ilToolbar ilTabsGUI

Definition at line 124 of file class.ilECSSettingsGUI.php.

References $table, and ilECSServerSettings\getInstance().

Referenced by update().

125  {
126  global $ilToolbar,$ilTabs, $ilAccess;
127 
128  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
129 
130  $ilTabs->setSubTabActive('overview');
131  if ($ilAccess->checkAccess('write', '', $_REQUEST["ref_id"])) {
132  $ilToolbar->addButton(
133  $this->lng->txt('ecs_add_new_ecs'),
134  $this->ctrl->getLinkTarget($this, 'create')
135  );
136  }
137 
139  $servers->readInactiveServers();
140 
141  include_once './Services/WebServices/ECS/classes/class.ilECSServerTableGUI.php';
142  $table = new ilECSServerTableGUI($this, 'overview');
143  $table->initTable();
144  $table->parse($servers);
145  $this->tpl->setContent($table->getHTML());
146  return;
147  }
static getInstance()
Get singleton instance.
Description of ilECSServerTableGUI.
if(empty($password)) $table
Definition: pwgen.php:24
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ prepareFieldSelection()

ilECSSettingsGUI::prepareFieldSelection (   $fields)
protected

get options for field selection

Parameters
arrayarray of field objects protected

Definition at line 1766 of file class.ilECSSettingsGUI.php.

References $options, $title, and ilAdvancedMDRecord\_lookupTitle().

Referenced by initMappingsForm().

1767  {
1768  include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
1769 
1770  $options[0] = $this->lng->txt('ecs_ignore_field');
1771  foreach ($fields as $field) {
1772  $title = ilAdvancedMDRecord::_lookupTitle($field->getRecordId());
1773  $options[$field->getFieldId()] = $title . ': ' . $field->getTitle();
1774  }
1775  return $options;
1776  }
static _lookupTitle($a_record_id)
Lookup title.
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ prepareRoleSelect()

ilECSSettingsGUI::prepareRoleSelect ( )
private

get global role array

protected

Definition at line 1853 of file class.ilECSSettingsGUI.php.

References ilObject\_lookupTitle(), and ilUtil\_sortIds().

Referenced by initSettingsForm().

1854  {
1855  global $rbacreview,$ilObjDataCache;
1856 
1857  $global_roles = ilUtil::_sortIds(
1858  $rbacreview->getGlobalRoles(),
1859  'object_data',
1860  'title',
1861  'obj_id'
1862  );
1863 
1864  $select[0] = $this->lng->txt('links_select_one');
1865  foreach ($global_roles as $role_id) {
1866  $select[$role_id] = ilObject::_lookupTitle($role_id);
1867  }
1868  return $select;
1869  }
static _lookupTitle($a_id)
lookup object title
static _sortIds($a_ids, $a_table, $a_field, $a_id_name)
Function that sorts ids by a given table field using WHERE IN E.g: __sort(array(6,7),&#39;usr_data&#39;,&#39;lastname&#39;,&#39;usr_id&#39;) => sorts by lastname.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ readAll()

ilECSSettingsGUI::readAll ( )
protected

Read all importable econtent.

protected

Definition at line 178 of file class.ilECSSettingsGUI.php.

References $server, ilECSTaskScheduler\_getInstanceByServerId(), ilECSServerSettings\getInstance(), ilECSEventQueueReader\handleExportReset(), ilECSEventQueueReader\handleImportReset(), imported(), and ilUtil\sendInfo().

179  {
180  include_once('Services/WebServices/ECS/classes/class.ilECSConnector.php');
181  include_once('Services/WebServices/ECS/classes/class.ilECSConnectorException.php');
182  include_once('./Services/WebServices/ECS/classes/class.ilECSEventQueueReader.php');
183  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
184 
185  try {
186  foreach (ilECSServerSettings::getInstance()->getServers() as $server) {
189 
190  include_once('./Services/WebServices/ECS/classes/class.ilECSTaskScheduler.php');
191  ilECSTaskScheduler::_getInstanceByServerId($server->getServerId())->startTaskExecution();
192 
193  ilUtil::sendInfo($this->lng->txt('ecs_remote_imported'));
194  $this->imported();
195  return true;
196  }
197  } catch (ilECSConnectorException $e1) {
198  ilUtil::sendInfo('Cannot connect to ECS server: ' . $e1->getMessage());
199  $this->imported();
200  return false;
201  } catch (ilException $e2) {
202  ilUtil::sendInfo('Update failed: ' . $e1->getMessage());
203  $this->imported();
204  return false;
205  }
206  }
static handleImportReset(ilECSSetting $server)
Reread all imported econtent.
static getInstance()
Get singleton instance.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static _getInstanceByServerId($a_server_id)
get singleton instance Private access use ilECSTaskScheduler::start() or ilECSTaskScheduler::startTas...
$server
Definition: getUserInfo.php:12
imported()
Show imported materials.
static handleExportReset(ilECSSetting $server)
Handle export reset.
+ Here is the call graph for this function:

◆ refreshParticipants()

ilECSSettingsGUI::refreshParticipants ( )
protected

Refresh participants.

Definition at line 629 of file class.ilECSSettingsGUI.php.

References $server, ilECSParticipantSetting\delete(), ilECSParticipantSettings\getAvailabeMids(), ilECSServerSettings\getInstance(), ilECSCommunityReader\getInstanceByServerId(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

630  {
631  include_once './Services/WebServices/ECS/classes/class.ilECSCommunityReader.php';
632  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
633  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSettings.php';
634  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSetting.php';
635 
637  $servers->readInactiveServers();
638  foreach ($servers->getServers() as $server) {
639 
640  // read community
641  try {
642  $creader = ilECSCommunityReader::getInstanceByServerId($server->getServerId());
643  foreach (ilECSParticipantSettings::getAvailabeMids($server->getServerId()) as $mid) {
644  if (!$creader->getParticipantByMID($mid)) {
645  $this->log->notice('Deleting deprecated participant: ' . $server->getServerId() . ' ' . $mid);
646  $part = new ilECSParticipantSetting($server->getServerId(), $mid);
647  $part->delete();
648  }
649  }
650  } catch (ilECSConnectorException $e) {
651  ilUtil::sendFailure($server->getServer() . ': ' . $e->getMessage(), true);
652  }
653  }
654  ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
655  $this->ctrl->redirect($this, 'communities');
656  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getInstance()
Get singleton instance.
static getInstanceByServerId($a_server_id)
Get instance by server id.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$server
Definition: getUserInfo.php:12
static getAvailabeMids($a_server_id)
Get all available mids $ilDB.
delete()
Delete one participant entry <type> $ilDB.
+ Here is the call graph for this function:

◆ released()

ilECSSettingsGUI::released ( )
protected

Show released materials.

protected

Returns

Definition at line 1620 of file class.ilECSSettingsGUI.php.

References $ilUser, $options, ilECSExport\getExportedIdsByType(), ilECSUtils\getPossibleReleaseTypes(), and settings().

1621  {
1622  global $ilUser, $ilToolbar;
1623 
1624  $this->tabs_gui->setSubTabActive('ecs_released');
1625 
1626  if ($this->settings->isEnabled()) {
1627  $ilToolbar->addButton(
1628  $this->lng->txt('ecs_read_remote_links'),
1629  $this->ctrl->getLinkTarget($this, 'readAll')
1630  );
1631 
1632  $ilToolbar->addSeparator();
1633  }
1634 
1635  $sel_type = $_REQUEST["otype"];
1636  if (!$sel_type) {
1637  $sel_type = "rcrs";
1638  }
1639 
1640  include_once "Services/WebServices/ECS/classes/class.ilECSUtils.php";
1642 
1643  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
1644  $sel = new ilSelectInputGUI("", "otype");
1645  $sel->setOptions($options);
1646  $sel->setValue($sel_type);
1647  $ilToolbar->addInputItem($sel);
1648 
1649  $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "released"));
1650  $ilToolbar->addFormButton($this->lng->txt("submit"), "released");
1651 
1652  include_once('./Services/WebServices/ECS/classes/class.ilECSExport.php');
1653  $exported = ilECSExport::getExportedIdsByType($sel_type);
1654  if (count($exported)) {
1655  $ilToolbar->addSeparator();
1656 
1657  $ilToolbar->addButton(
1658  $this->lng->txt('csv_export'),
1659  $this->ctrl->getLinkTarget($this, 'exportReleased')
1660  );
1661  }
1662 
1663  include_once('Services/WebServices/ECS/classes/class.ilECSReleasedContentTableGUI.php');
1664  $table_gui = new ilECSReleasedContentTableGUI($this, 'released');
1665  $table_gui->setTitle($this->lng->txt('ecs_released_content'));
1666  $table_gui->parse($exported);
1667  $this->tpl->setContent($table_gui->getHTML());
1668 
1669  return true;
1670  }
static getPossibleReleaseTypes($a_with_captions=false)
Get all possible release object types.
This class represents a selection list property in a property form.
$ilUser
Definition: imgupload.php:18
static getExportedIdsByType($a_type)
Get exported ids by type ilDB $ilDB.
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
+ Here is the call graph for this function:

◆ save()

ilECSSettingsGUI::save ( )
protected

Save settings.

Returns
<type>

Definition at line 552 of file class.ilECSSettingsGUI.php.

References $error, $GLOBALS, create(), initSettings(), initTaskScheduler(), loadFromPost(), ilUtil\sendInfo(), and settings().

553  {
554  $this->initSettings(0);
555  $this->loadFromPost();
556 
557  if (!$error = $this->settings->validate()) {
558  $this->settings->save();
559  $this->initTaskScheduler();
560 
561  #$this->updateTitle();
562  ilUtil::sendInfo($this->lng->txt('settings_saved'), true);
563  } else {
564  ilUtil::sendInfo($this->lng->txt($error));
565  return $this->create();
566  }
567  $GLOBALS['ilCtrl']->redirect($this, 'overview');
568  return true;
569  }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
loadFromPost()
Load from post.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$error
Definition: Error.php:17
initTaskScheduler()
Init next task execution <type> $ilDB <type> $ilSetting.
initSettings($a_server_id=1)
Init settings.
create()
Create new settings ilTabs $ilTabs.
+ Here is the call graph for this function:

◆ saveExportMappings()

ilECSSettingsGUI::saveExportMappings ( )
protected

Save mappings.

protected

Definition at line 1022 of file class.ilECSSettingsGUI.php.

References $_POST, $mtype, array, and ilUtil\sendInfo().

1023  {
1024  foreach ((array) $_POST['mapping'] as $mtype => $mappings) {
1025  foreach ((array) $mappings as $ecs_field => $advmd_id) {
1026  include_once './Services/WebServices/ECS/classes/class.ilECSDataMappingSetting.php';
1027  $map = new ilECSDataMappingSetting(
1028  (int) $_POST['ecs_mapping_server'],
1029  (int) $mtype,
1030  $ecs_field
1031  );
1032  $map->setAdvMDId($advmd_id);
1033  $map->save();
1034  }
1035  }
1036 
1037  ilUtil::sendInfo($this->lng->txt('settings_saved'), true);
1038  $this->ctrl->setParameter($this, "ecs_mapping_server", (int) $_POST['ecs_mapping_server']);
1039  $this->ctrl->redirect($this, 'exportMappings');
1040  return true;
1041  }
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Create styles array
The data for the language used.
$_POST["username"]
+ Here is the call graph for this function:

◆ saveImportMappings()

ilECSSettingsGUI::saveImportMappings ( )
protected

Save mappings.

protected

Definition at line 995 of file class.ilECSSettingsGUI.php.

References $_POST, $mtype, array, and ilUtil\sendInfo().

996  {
997  foreach ((array) $_POST['mapping'] as $mtype => $mappings) {
998  foreach ((array) $mappings as $ecs_field => $advmd_id) {
999  include_once './Services/WebServices/ECS/classes/class.ilECSDataMappingSetting.php';
1000  $map = new ilECSDataMappingSetting(
1001  (int) $_REQUEST['ecs_mapping_server'],
1002  (int) $mtype,
1003  $ecs_field
1004  );
1005  $map->setAdvMDId($advmd_id);
1006  $map->save();
1007  }
1008  }
1009 
1010  ilUtil::sendInfo($this->lng->txt('settings_saved'), true);
1011  $this->ctrl->setParameter($this, "ecs_mapping_server", (int) $_POST['ecs_mapping_server']);
1012  $this->ctrl->redirect($this, 'importMappings');
1013  return true;
1014  }
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Create styles array
The data for the language used.
$_POST["username"]
+ Here is the call graph for this function:

◆ setMappingTabs()

ilECSSettingsGUI::setMappingTabs (   $a_active)
protected

Handle tabs for ECS data mapping.

Parameters
int$a_activeilTabsGUI ilTabs

Definition at line 838 of file class.ilECSSettingsGUI.php.

Referenced by exportMappings(), and importMappings().

839  {
840  global $ilTabs, $ilAccess;
841 
842  $ilTabs->clearTargets();
843  $ilTabs->clearSubTabs();
844 
845  $ilTabs->setBackTarget(
846  $this->lng->txt('ecs_settings'),
847  $this->ctrl->getLinkTarget($this, 'overview')
848  );
849  if ($ilAccess->checkAccess('write', '', $_REQUEST["ref_id"])) {
850  $ilTabs->addTab(
851  'import',
852  $this->lng->txt('ecs_tab_import'),
853  $this->ctrl->getLinkTarget($this, 'importMappings')
854  );
855  }
856  $ilTabs->addTab(
857  'export',
858  $this->lng->txt('ecs_tab_export'),
859  $this->ctrl->getLinkTarget($this, 'exportMappings')
860  );
861 
862 
863  switch ($a_active) {
864  case self::MAPPING_IMPORT:
865  $ilTabs->activateTab('import');
866  break;
867 
868  case self::MAPPING_EXPORT:
869  $ilTabs->activateTab('export');
870  break;
871  }
872  return true;
873  }
+ Here is the caller graph for this function:

◆ setSubTabs()

ilECSSettingsGUI::setSubTabs ( )
protected

set sub tabs

protected

Definition at line 1796 of file class.ilECSSettingsGUI.php.

References ilECSServerSettings\getInstance().

Referenced by executeCommand().

1797  {
1798  global $ilAccess;
1799  $this->tabs_gui->clearSubTabs();
1800 
1801  $this->tabs_gui->addSubTabTarget(
1802  "overview",
1803  $this->ctrl->getLinkTarget($this, 'overview'),
1804  "overview",
1805  get_class($this)
1806  );
1807 
1808  // Disable all other tabs, if server hasn't been configured.
1809  #ilECSServerSettings::getInstance()->readInactiveServers();
1810  if (!ilECSServerSettings::getInstance()->serverExists()) {
1811  return true;
1812  }
1813 
1814  $this->tabs_gui->addSubTabTarget(
1815  "ecs_communities",
1816  $this->ctrl->getLinkTarget($this, 'communities'),
1817  "communities",
1818  get_class($this)
1819  );
1820 
1821  if (!$ilAccess->checkAccess('write', '', $_REQUEST["ref_id"])) {
1822  return true;
1823  }
1824 
1825  $this->tabs_gui->addSubTabTarget(
1826  'ecs_mappings',
1827  $this->ctrl->getLinkTarget($this, 'importMappings'),
1828  'importMappings',
1829  get_class($this)
1830  );
1831 
1832  $this->tabs_gui->addSubTabTarget(
1833  'ecs_category_mapping',
1834  $this->ctrl->getLinkTarget($this, 'categoryMapping')
1835  );
1836 
1837  $this->tabs_gui->addSubTabTarget(
1838  'ecs_import',
1839  $this->ctrl->getLinkTarget($this, 'imported')
1840  );
1841 
1842  $this->tabs_gui->addSubTabTarget(
1843  'ecs_released',
1844  $this->ctrl->getLinkTarget($this, 'released')
1845  );
1846  }
static getInstance()
Get singleton instance.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ settings()

ilECSSettingsGUI::settings ( )
protected

show settings

protected

Definition at line 323 of file class.ilECSSettingsGUI.php.

References initSettingsForm().

Referenced by activate(), deactivate(), delete(), doDelete(), initCategoryMappingForm(), initSettings(), initSettingsForm(), initTaskScheduler(), loadFromPost(), released(), save(), update(), and updateTitle().

324  {
325  $this->initSettingsForm();
326  $this->tabs_gui->setSubTabActive('ecs_settings');
327 
328  $this->tpl->setContent($this->form->getHTML());
329  }
initSettingsForm($a_mode='update')
init settings form
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showRulesTable()

ilECSSettingsGUI::showRulesTable ( )
protected

Show rules table.

Returns

Definition at line 1317 of file class.ilECSSettingsGUI.php.

References ilECSCategoryMapping\getActiveRules().

Referenced by categoryMapping().

1318  {
1319  include_once './Services/WebServices/ECS/classes/class.ilECSCategoryMapping.php';
1320 
1321  if (!$rules = ilECSCategoryMapping::getActiveRules()) {
1322  return false;
1323  }
1324  include_once './Services/WebServices/ECS/classes/class.ilECSCategoryMappingTableGUI.php';
1325  $rule_table = new ilECSCategoryMappingTableGUI($this, 'categoryMapping');
1326  $rule_table->parse($rules);
1327  return $rule_table->getHTML();
1328  }
static getActiveRules()
get active rules
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update()

ilECSSettingsGUI::update ( )
protected

save settings

protected

Definition at line 529 of file class.ilECSSettingsGUI.php.

References $error, edit(), initSettings(), initTaskScheduler(), loadFromPost(), overview(), ilUtil\sendInfo(), and settings().

530  {
531  $this->initSettings((int) $_REQUEST['server_id']);
532  $this->loadFromPost();
533 
534  if (!$error = $this->settings->validate()) {
535  $this->settings->update();
536  $this->initTaskScheduler();
537  #$this->updateTitle();
538  ilUtil::sendInfo($this->lng->txt('settings_saved'), true);
539  } else {
540  ilUtil::sendInfo($this->lng->txt($error));
541  $this->edit();
542  }
543 
544  $this->overview();
545  return true;
546  }
edit()
Edit server setting.
loadFromPost()
Load from post.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
$error
Definition: Error.php:17
initTaskScheduler()
Init next task execution <type> $ilDB <type> $ilSetting.
overview()
List available servers.
initSettings($a_server_id=1)
Init settings.
+ Here is the call graph for this function:

◆ updateCategoryMapping()

ilECSSettingsGUI::updateCategoryMapping ( )
protected

update category mapping

Returns

Definition at line 1244 of file class.ilECSSettingsGUI.php.

References categoryMapping(), editCategoryMapping(), initCategoryMappingForm(), initRule(), ilUtil\sendInfo(), ilECSCategoryMappingRule\TYPE_BY_TYPE, ilECSCategoryMappingRule\TYPE_DURATION, and ilECSCategoryMappingRule\TYPE_FIXED.

1245  {
1246  if (!$_REQUEST['rule_id']) {
1247  ilUtil::sendInfo($this->lng->txt('select_one'));
1248  $this->categoryMapping();
1249  return false;
1250  }
1251  $this->ctrl->saveParameter($this, 'rule_id');
1252  $this->initRule((int) $_REQUEST['rule_id']);
1253  $this->initCategoryMappingForm('edit');
1254  if ($this->form->checkInput()) {
1255  $this->rule->setContainerId($this->form->getInput('import_id'));
1256  $this->rule->setFieldName($this->form->getInput('field'));
1257  $this->rule->setMappingType($this->form->getInput('type'));
1258 
1259 
1260  switch ($this->form->getInput('type')) {
1262  $this->rule->setMappingValue($this->form->getInput('mapping_value'));
1263  break;
1264 
1266  $this->rule->setDateRangeStart($this->form->getItemByPostVar('dur_begin')->getDate());
1267  $this->rule->setDateRangeEnd($this->form->getItemByPostVar('dur_end')->getDate());
1268  break;
1269 
1271  $this->rule->setByType($this->form->getInput('by_type'));
1272  break;
1273  }
1274 
1275  if ($err = $this->rule->validate()) {
1276  ilUtil::sendInfo($this->lng->txt($err));
1277  $this->form->setValuesByPost();
1278  $this->editCategoryMapping();
1279  return false;
1280  }
1281 
1282  $this->rule->update();
1283  ilUtil::sendInfo($this->lng->txt('settings_saved'), true);
1284  $this->ctrl->redirect($this, 'categoryMapping');
1285  return true;
1286  }
1287  ilUtil::sendInfo($this->lng->txt('err_check_input'));
1288  $this->form->setValuesByPost();
1289  $this->editCategoryMapping();
1290  return false;
1291  }
editCategoryMapping()
Edit category mapping.
categoryMapping()
Category mappings.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
initCategoryMappingForm($a_mode='add')
Init category mapping form.
initRule($a_rule_id=0)
Init rule.
+ Here is the call graph for this function:

◆ updateCommunities()

ilECSSettingsGUI::updateCommunities ( )
protected

update whitelist

protected

Definition at line 762 of file class.ilECSSettingsGUI.php.

References $_POST, $GLOBALS, $ilLog, $server, array, ilECSServerSettings\getInstance(), ilECSCommunityCache\getInstance(), ilECSCommunityReader\getInstanceByServerId(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and validateImportTypes().

763  {
764  global $ilLog;
765 
766  include_once './Services/WebServices/ECS/classes/class.ilECSCommunityReader.php';
767  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
768 
769  // @TODO: Delete deprecated communities
770  $invalidImportTypes = false;
771  if (!$this->validateImportTypes($_POST['import_type'])) {
772  $invalidImportTypes = true;
773  }
774 
776  foreach ($servers->getServers() as $server) {
777  try {
778  // Read communities
779  $cReader = ilECSCommunityReader::getInstanceByServerId($server->getServerId());
780 
781  // Update community cache
782  foreach ($cReader->getCommunities() as $community) {
783  include_once './Services/WebServices/ECS/classes/class.ilECSCommunityCache.php';
784  $cCache = ilECSCommunityCache::getInstance($server->getServerId(), $community->getId());
785  $cCache->setCommunityName($community->getTitle());
786  $cCache->setMids($community->getMids());
787  $cCache->setOwnId($community->getOwnId());
788  $cCache->update();
789  }
790  } catch (Exception $e) {
791  $this->log->error('Cannot read ecs communities: ' . $e->getMessage());
792  }
793  }
794 
795  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSetting.php';
796  foreach ((array) $_POST['sci_mid'] as $sid => $tmp) {
797  foreach ((array) $_POST['sci_mid'][$sid] as $mid => $tmp) {
798  $set = new ilECSParticipantSetting($sid, $mid);
799  #$set->enableExport(array_key_exists($mid, (array) $_POST['export'][$sid]) ? true : false);
800  #$set->enableImport(array_key_exists($mid, (array) $_POST['import'][$sid]) ? true : false);
801  $set->setImportType($_POST['import_type'][$sid][$mid]);
802 
803  // update title/cname
804  try {
805  $part = ilECSCommunityReader::getInstanceByServerId($sid)->getParticipantByMID($mid);
806  if ($part instanceof ilECSParticipant) {
807  $set->setTitle($part->getParticipantName());
808  }
809  $com = ilECSCommunityReader::getInstanceByServerId($sid)->getCommunityByMID($mid);
810  if ($com instanceof ilECSCommunity) {
811  $set->setCommunityName($com->getTitle());
812  }
813  } catch (Exception $e) {
814  $this->log->error('Cannot read ecs communities: ' . $e->getMessage());
815  }
816 
817  $set->update();
818  }
819  }
820  if ($invalidImportTypes) {
821  ilUtil::sendFailure($this->lng->txt('ecs_invalid_import_type_cms'), true);
822  } else {
823  ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
824  }
825  $GLOBALS['ilCtrl']->redirect($this, 'communities');
826 
827  // TODO: Do update of remote courses and ...
828 
829  return true;
830  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getInstance()
Get singleton instance.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
validateImportTypes(&$import_types)
Validate import types.
static getInstanceByServerId($a_server_id)
Get instance by server id.
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$server
Definition: getUserInfo.php:12
static getInstance($a_sid, $a_cid)
Get instance.
$_POST["username"]
+ Here is the call graph for this function:

◆ updateTitle()

ilECSSettingsGUI::updateTitle ( )
protected

Update configuration title.

Definition at line 574 of file class.ilECSSettingsGUI.php.

References $reader, ilECSCommunityReader\getInstanceByServerId(), ilUtil\sendFailure(), and settings().

575  {
576  try {
577  include_once './Services/WebServices/ECS/classes/class.ilECSCommunityReader.php';
579 
580  foreach ($reader->getCommunities() as $community) {
581  foreach ($community->getParticipants() as $part) {
582  $this->log->dump($community);
583  if ($part->isSelf()) {
584  $this->settings->setTitle($part->getParticipantName());
585  $this->settings->update();
586  return true;
587  }
588  }
589  }
590  } catch (ilECSConnectorException $exc) {
591  ilUtil::sendFailure($exc->getMessage());
592  }
593  $this->settings->setTitle('');
594  $this->settings->update();
595  }
static getInstanceByServerId($a_server_id)
Get instance by server id.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ validateImportTypes()

ilECSSettingsGUI::validateImportTypes ( $import_types)
protected

Validate import types.

Parameters
array$import_types
Returns
bool

Definition at line 725 of file class.ilECSSettingsGUI.php.

References $server, array, ilECSParticipantSetting\IMPORT_CMS, and ilECSParticipantSetting\IMPORT_UNCHANGED.

Referenced by updateCommunities().

726  {
727  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSetting.php';
728 
729  $num_cms = 0;
730  foreach ((array) $import_types as $sid => $server) {
731  foreach ((array) $server as $mid => $import_type) {
732  if ($import_type == ilECSParticipantSetting::IMPORT_CMS) {
733  ++$num_cms;
734  }
735  }
736  }
737 
738  if ($num_cms <= 1) {
739  return true;
740  }
741  // Change to import type "UNCHANGED"
742  $new_types = array();
743  foreach ((array) $import_types as $sid => $server) {
744  foreach ((array) $server as $mid => $import_type) {
745  if ($import_type == ilECSParticipantSetting::IMPORT_CMS) {
746  $new_types[$sid][$mid] = ilECSParticipantSetting::IMPORT_UNCHANGED;
747  } else {
748  $new_types[$sid][$mid] = $import_type;
749  }
750  }
751  }
752  $import_types = $new_types;
753  return false;
754  }
Create styles array
The data for the language used.
$server
Definition: getUserInfo.php:12
+ Here is the caller graph for this function:

Field Documentation

◆ $ctrl

ilECSSettingsGUI::$ctrl
protected

Definition at line 47 of file class.ilECSSettingsGUI.php.

◆ $lng

ilECSSettingsGUI::$lng
protected

Definition at line 46 of file class.ilECSSettingsGUI.php.

Referenced by __construct().

◆ $log

ilECSSettingsGUI::$log = null
protected

Definition at line 43 of file class.ilECSSettingsGUI.php.

◆ $tabs_gui

ilECSSettingsGUI::$tabs_gui
protected

Definition at line 48 of file class.ilECSSettingsGUI.php.

◆ $tpl

ilECSSettingsGUI::$tpl
protected

◆ MAPPING_EXPORT

const ilECSSettingsGUI::MAPPING_EXPORT = 1

Definition at line 37 of file class.ilECSSettingsGUI.php.

◆ MAPPING_IMPORT

const ilECSSettingsGUI::MAPPING_IMPORT = 2

Definition at line 38 of file class.ilECSSettingsGUI.php.


The documentation for this class was generated from the following file: