ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
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

 $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 52 of file class.ilECSSettingsGUI.php.

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

53  {
54  global $lng,$tpl,$ilCtrl,$ilTabs;
55 
56  $this->tpl = $tpl;
57  $this->lng = $lng;
58  $this->lng->loadLanguageModule('ecs');
59  $this->ctrl = $ilCtrl;
60  $this->tabs_gui = $ilTabs;
61 
62  $this->initSettings();
63  }
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 140 of file class.ilECSSettingsGUI.php.

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

141  {
142  $this->initSettings($_REQUEST['server_id']);
143  $this->settings->setEnabledStatus(true);
144  $this->settings->update();
145  ilUtil::sendSuccess($this->lng->txt('settings_saved'),true);
146  $this->ctrl->redirect($this,'overview');
147  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
initSettings($a_server_id=1)
Init settings.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ addCategoryMapping()

ilECSSettingsGUI::addCategoryMapping ( )
protected

save category mapping

Returns

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

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

1233  {
1234  $this->initRule();
1235 
1236  $this->initCategoryMappingForm('add');
1237  if($this->form->checkInput())
1238  {
1239  $this->rule->setContainerId($this->form->getInput('import_id'));
1240  $this->rule->setFieldName($this->form->getInput('field'));
1241  $this->rule->setMappingType($this->form->getInput('type'));
1242 
1243  switch($this->form->getInput('type'))
1244  {
1246  $this->rule->setMappingValue($this->form->getInput('mapping_value'));
1247  break;
1248 
1250  $this->rule->setDateRangeStart($this->form->getItemByPostVar('dur_begin')->getDate());
1251  $this->rule->setDateRangeEnd($this->form->getItemByPostVar('dur_end')->getDate());
1252  break;
1253 
1255  $this->rule->setByType($this->form->getInput('by_type'));
1256  break;
1257  }
1258 
1259  if($err = $this->rule->validate())
1260  {
1261  ilUtil::sendInfo($this->lng->txt($err));
1262  $this->form->setValuesByPost();
1263  $this->categoryMapping();
1264  return false;
1265  }
1266 
1267  $this->rule->save();
1268  ilUtil::sendInfo($this->lng->txt('settings_saved'));
1269  unset($this->rule);
1270  $this->categoryMapping();
1271  return true;
1272  }
1273  ilUtil::sendInfo($this->lng->txt('err_check_input'));
1274  $this->form->setValuesByPost();
1275  $this->categoryMapping();
1276  return false;
1277  }
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

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

Referenced by initCategoryMappingForm(), and initSettingsForm().

1920  {
1921  $loc = new ilLocatorGUI();
1922  $loc->setTextOnly(false);
1923  $loc->addContextItems($a_ref_id);
1924 
1925  return $loc->getHTML();
1926  }
locator handling class
+ Here is the caller graph for this function:

◆ categoryMapping()

ilECSSettingsGUI::categoryMapping ( )
protected

Category mappings.

Returns

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

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

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

1213  {
1214  $this->tabs_gui->setSubTabActive('ecs_category_mapping');
1215  $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.category_mapping.html','Services/WebServices/ECS');
1216 
1217  $this->initRule();
1218  $this->initCategoryMappingForm();
1219 
1220 
1221  $this->tpl->setVariable('NEW_RULE_TABLE',$this->form->getHTML());
1222  if($html = $this->showRulesTable())
1223  {
1224  $this->tpl->setVariable('RULES_TABLE',$html);
1225  }
1226  }
initCategoryMappingForm($a_mode='add')
Init category mapping form.
initRule($a_rule_id=0)
Init rule.
showRulesTable()
Show rules table.
+ 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 678 of file class.ilECSSettingsGUI.php.

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

679  {
680  // add toolbar to refresh communities
681  $GLOBALS['ilToolbar']->addButton(
682  $this->lng->txt('ecs_refresh_participants'),
683  $this->ctrl->getLinkTarget($this,'refreshParticipants')
684  );
685 
686  $this->tabs_gui->setSubTabActive('ecs_communities');
687 
688  $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.ecs_communities.html','Services/WebServices/ECS');
689 
690  $this->tpl->setVariable('FORMACTION',$this->ctrl->getFormAction($this,'updateCommunities'));
691  $this->tpl->setVariable('TXT_SAVE',$this->lng->txt('save'));
692  $this->tpl->setVariable('TXT_CANCEL', $this->lng->txt('cancel'));
693 
694  include_once('Services/WebServices/ECS/classes/class.ilECSCommunityReader.php');
695  include_once('Services/WebServices/ECS/classes/class.ilECSCommunityTableGUI.php');
696 
697  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
698  $settings = ilECSServerSettings::getInstance();
699  #$settings->readInactiveServers();
700 
701  foreach($settings->getServers() as $server)
702  {
703  // Try to read communities
704  try
705  {
707  foreach($reader->getCommunities() as $community)
708  {
709  $this->tpl->setCurrentBlock('table_community');
710  $table_gui = new ilECSCommunityTableGUI($server,$this,'communities',$community->getId());
711  $table_gui->setTitle($community->getTitle().' ('.$community->getDescription().')');
712  $table_gui->parse($community->getParticipants());
713  $this->tpl->setVariable('TABLE_COMM',$table_gui->getHTML());
714  $this->tpl->parseCurrentBlock();
715  }
716  }
717  catch(ilECSConnectorException $exc)
718  {
719  // Maybe server is not fully configured
720  continue;
721  }
722 
723  // Show section for each server
724  $this->tpl->setCurrentBlock('server');
725  $this->tpl->setVariable('TXT_SERVER_NAME',$server->getTitle());
726  $this->tpl->parseCurrentBlock();
727  }
728  }
static getInstance()
Get singleton instance.
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.
$GLOBALS['ct_recipient']
$server
+ Here is the call graph for this function:

◆ cp()

ilECSSettingsGUI::cp ( )
protected

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

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

243  {
244  $this->initSettings((int) $_REQUEST['server_id']);
245 
246  $copy = clone $this->settings;
247  $copy->save();
248 
249  $this->ctrl->setParameter($this,'server_id',$copy->getServerId());
250  ilUtil::sendSuccess($this->lng->txt('ecs_settings_cloned'),true);
251  $this->ctrl->redirect($this,'edit');
252  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
initSettings($a_server_id=1)
Init settings.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ create()

ilECSSettingsGUI::create ( )
protected

Create new settings ilTabs $ilTabs.

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

References initSettings(), and initSettingsForm().

Referenced by save().

207  {
208  global $ilTabs;
209 
210  $this->initSettings(0);
211 
212  $ilTabs->clearTargets();
213  $ilTabs->clearSubTabs();
214  $ilTabs->setBackTarget($this->lng->txt('back'),$this->ctrl->getLinkTarget($this,'overview'));
215 
216  $this->initSettingsForm('create');
217  $this->tabs_gui->setSubTabActive('ecs_settings');
218 
219  $this->tpl->setContent($this->form->getHTML());
220  }
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 152 of file class.ilECSSettingsGUI.php.

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

153  {
154  $this->initSettings($_REQUEST['server_id']);
155  $this->settings->setEnabledStatus(false);
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.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ delete()

ilECSSettingsGUI::delete ( )
protected

Delete confirmation.

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

References $_REQUEST, initSettings(), and settings().

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

◆ deleteCategoryMappings()

ilECSSettingsGUI::deleteCategoryMappings ( )
protected

Delete selected category mappings.

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

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

1362  {
1363  if(!is_array($_POST['rules']) or !$_POST['rules'])
1364  {
1365  ilUtil::sendInfo($this->lng->txt('no_checkbox'));
1366  $this->categoryMapping();
1367  return false;
1368  }
1369  foreach($_POST['rules'] as $rule_id)
1370  {
1371  include_once './Services/WebServices/ECS/classes/class.ilECSCategoryMappingRule.php';
1372  $rule = new ilECSCategoryMappingRule($rule_id);
1373  $rule->delete();
1374  }
1375  ilUtil::sendInfo($this->lng->txt('settings_saved'));
1376  $this->categoryMapping();
1377  return true;
1378  }
categoryMapping()
Category mappings.
$_POST['username']
Definition: cron.php:12
Defines a rule for the assignment of ECS remote courses to categories.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
+ Here is the call graph for this function:

◆ doDelete()

ilECSSettingsGUI::doDelete ( )
protected

Do delete.

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

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

284  {
285  $this->initSettings($_REQUEST['server_id']);
286  $this->settings->delete();
287 
288  // Delete communities
289  include_once './Services/WebServices/ECS/classes/class.ilECSCommunitiesCache.php';
290  ilECSCommunitiesCache::delete((int) $_REQUEST['server_id']);
291 
292  include_once './Services/WebServices/ECS/classes/class.ilECSDataMappingSettings.php';
293  ilECSDataMappingSettings::delete((int) $_REQUEST['server_id']);
294 
295  include_once './Services/WebServices/ECS/classes/class.ilECSEventQueueReader.php';
297 
298  include_once './Services/WebServices/ECS/classes/class.ilECSExport.php';
299  ilECSExport::deleteByServer((int) $_REQUEST['server_id']);
300 
301  include_once './Services/WebServices/ECS/classes/class.ilECSImport.php';
302  ilECSImport::deleteByServer((int) $_REQUEST['server_id']);
303 
304  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSettings.php';
306 
307  ilUtil::sendSuccess($this->lng->txt('ecs_setting_deleted'),true);
308  $this->ctrl->redirect($this,'overview');
309  }
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.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ edit()

ilECSSettingsGUI::edit ( )
protected

Edit server setting.

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

References $_REQUEST, initSettings(), and initSettingsForm().

Referenced by update().

226  {
227  global $ilTabs;
228 
229  $this->initSettings((int) $_REQUEST['server_id']);
230  $this->ctrl->saveParameter($this,'server_id',(int) $_REQUEST['server_id']);
231 
232  $ilTabs->clearTargets();
233  $ilTabs->clearSubTabs();
234  $ilTabs->setBackTarget($this->lng->txt('back'),$this->ctrl->getLinkTarget($this,'overview'));
235 
236  $this->initSettingsForm();
237  $this->tabs_gui->setSubTabActive('ecs_settings');
238 
239  $this->tpl->setContent($this->form->getHTML());
240  }
initSettingsForm($a_mode='update')
init settings form
initSettings($a_server_id=1)
Init settings.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ 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 1283 of file class.ilECSSettingsGUI.php.

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

Referenced by updateCategoryMapping().

1284  {
1285  if(!$_REQUEST['rule_id'])
1286  {
1287  ilUtil::sendInfo($this->lng->txt('select_one'));
1288  $this->categoryMapping();
1289  return false;
1290  }
1291 
1292  $this->tabs_gui->setSubTabActive('ecs_category_mapping');
1293  $this->ctrl->saveParameter($this,'rule_id');
1294  $this->initRule((int) $_REQUEST['rule_id']);
1295 
1296  $this->initCategoryMappingForm('edit');
1297  $this->tpl->setContent($this->form->getHTML());
1298  return true;
1299  }
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.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ 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 72 of file class.ilECSSettingsGUI.php.

References $_REQUEST, $cmd, and setSubTabs().

73  {
74  $next_class = $this->ctrl->getNextClass($this);
75  $cmd = $this->ctrl->getCmd();
76 
77  $this->setSubTabs();
78  switch($next_class)
79  {
80  case 'ilecsmappingsettingsgui':
81  include_once './Services/WebServices/ECS/classes/Mapping/class.ilECSMappingSettingsGUI.php';
82  $mapset = new ilECSMappingSettingsGUI($this, (int) $_REQUEST['server_id'], (int) $_REQUEST['mid']);
83  $this->ctrl->setReturn($this,'communities');
84  $this->ctrl->forwardCommand($mapset);
85  break;
86 
87  case 'ilecsparticipantsettingsgui':
88  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSettingsGUI.php';
89  $part = new ilECSParticipantSettingsGUI(
90  (int) $_REQUEST['server_id'],
91  (int) $_REQUEST['mid']
92  );
93  $this->ctrl->setReturn($this,'communities');
94  $this->ctrl->forwardCommand($part);
95  break;
96 
97  default:
98  if(!$cmd || $cmd == 'view')
99  {
100  $cmd = "overview";
101  }
102  $this->$cmd();
103  break;
104  }
105  return true;
106  }
$cmd
Definition: sahs_server.php:35
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ exportImported()

ilECSSettingsGUI::exportImported ( )
protected

csv export of imported remote courses

protected

Returns

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

References $ilUser, $reader, ilECSDataMappingSettings\_getInstance(), ilECSCommunityReader\_getInstance(), ilUtil\_getObjectsByOperations(), ilObject\_lookupDescription(), ilObjRemoteCourse\_lookupMID(), ilObject\_lookupTitle(), ilUtil\deliverData(), ilFormat\formatUnixTime(), ilECSUtils\getAdvancedMDValuesForObjId(), and ilECSDataMappingSetting\MAPPING_IMPORT_RCRS.

1588  {
1589  global $ilObjDataCache,$ilUser;
1590 
1591  // :TODO: mind resource type and move to ilRemoteObjectBase...
1592 
1593  $rcourses = ilUtil::_getObjectsByOperations('rcrs','visible',$ilUser->getId(),-1);
1594 
1595  // Read participants
1596  include_once('./Modules/RemoteCourse/classes/class.ilObjRemoteCourse.php');
1597  include_once('./Services/WebServices/ECS/classes/class.ilECSCommunityReader.php');
1598  try
1599  {
1601  }
1602  catch(ilECSConnectorException $e)
1603  {
1604  $reader = null;
1605  }
1606 
1607  // read obj_ids
1608  $ilObjDataCache->preloadReferenceCache($rcourses);
1609  $obj_ids = array();
1610  foreach($rcourses as $rcrs_ref_id)
1611  {
1612  $obj_id = $ilObjDataCache->lookupObjId($rcrs_ref_id);
1613  $obj_ids[$obj_id] = $obj_id;
1614  }
1615 
1616  include_once('Services/Utilities/classes/class.ilCSVWriter.php');
1617  $writer = new ilCSVWriter();
1618 
1619  $writer->addColumn($this->lng->txt('title'));
1620  $writer->addColumn($this->lng->txt('description'));
1621  $writer->addColumn($this->lng->txt('ecs_imported_from'));
1622  $writer->addColumn($this->lng->txt('ecs_field_courseID'));
1623  $writer->addColumn($this->lng->txt('ecs_field_term'));
1624  $writer->addColumn($this->lng->txt('ecs_field_lecturer'));
1625  $writer->addColumn($this->lng->txt('ecs_field_courseType'));
1626  $writer->addColumn($this->lng->txt('ecs_field_semester_hours'));
1627  $writer->addColumn($this->lng->txt('ecs_field_credits'));
1628  $writer->addColumn($this->lng->txt('ecs_field_room'));
1629  $writer->addColumn($this->lng->txt('ecs_field_cycle'));
1630  $writer->addColumn($this->lng->txt('ecs_field_begin'));
1631  $writer->addColumn($this->lng->txt('ecs_field_end'));
1632  $writer->addColumn($this->lng->txt('last_update'));
1633 
1634  include_once('./Services/WebServices/ECS/classes/class.ilECSDataMappingSettings.php');
1636 
1637  foreach($obj_ids as $obj_id)
1638  {
1639  include_once "Services/WebServices/ECS/classes/class.ilECSUtils.php";
1640  $values = ilECSUtils::getAdvancedMDValuesForObjId($obj_id);
1641 
1642  $writer->addRow();
1643  $writer->addColumn(ilObject::_lookupTitle($obj_id));
1644  $writer->addColumn(ilObject::_lookupDescription($obj_id));
1645 
1646  $mid = ilObjRemoteCourse::_lookupMID($obj_id);
1647  if($reader and ($participant = $reader->getParticipantByMID($mid)))
1648  {
1649  $writer->addColumn($participant->getParticipantName());
1650  }
1651  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS,'courseID');
1652  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1653 
1654  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS,'term');
1655  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1656 
1657  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS,'lecturer');
1658  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1659 
1660  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS,'courseType');
1661  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1662 
1663  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS,'semester_hours');
1664  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1665 
1666  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS,'credits');
1667  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1668 
1669  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS,'room');
1670  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1671 
1672  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS,'cycle');
1673  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1674 
1675  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS,'begin');
1676  $writer->addColumn(isset($values[$field]) ? ilFormat::formatUnixTime($values[$field],true) : '');
1677 
1678  $field = $settings->getMappingByECSName(ilECSDataMappingSetting::MAPPING_IMPORT_RCRS,'end');
1679  $writer->addColumn(isset($values[$field]) ? ilFormat::formatUnixTime($values[$field],true) : '');
1680 
1681  $writer->addColumn($ilObjDataCache->lookupLastUpdate($obj_id));
1682  }
1683  ilUtil::deliverData($writer->getCSVString(), date("Y_m_d")."_ecs_import.csv", "text/csv");
1684  }
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
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 _lookupTitle($a_id)
lookup object title
static _lookupMID($a_obj_id)
static getAdvancedMDValuesForObjId($a_obj_id)
Get advanced metadata values for object id.
static _lookupDescription($a_id)
lookup object description
formatUnixTime($ut, $with_time=false)
global $ilUser
Definition: imgupload.php:15
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 976 of file class.ilECSSettingsGUI.php.

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

977  {
978  global $ilToolbar;
979 
980  include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
981 
982  $this->setMappingTabs(self::MAPPING_EXPORT);
983 
985  if(!count($fields))
986  {
987  ilUtil::sendInfo($this->lng->txt('ecs_no_adv_md'));
988  return true;
989  }
990 
991  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
992  $settings = ilECSServerSettings::getInstance();
993  $settings->readInactiveServers();
994 
995  $sel_srv = (int)$_REQUEST["ecs_mapping_server"];
996  if(!$sel_srv)
997  {
998  $sel_srv = $_SESSION["ecs_sel_srv"];
999  }
1000  else
1001  {
1002  $_SESSION["ecs_sel_srv"] = $sel_srv;
1003  }
1004 
1005  // Iterate all servers
1006  $options = array(0 => $this->lng->txt("please_choose"));
1007  foreach($settings->getServers() as $server)
1008  {
1009  $title = $server->getTitle();
1010  if(!$title)
1011  {
1012  $title = "ECS (".$server->getServerId().")";
1013  }
1014  $options[$server->getServerId()] = $title;
1015  }
1016 
1017  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
1018  $sel = new ilSelectInputGUI("", "ecs_mapping_server");
1019  $sel->setOptions($options);
1020  $sel->setValue($sel_srv);
1021  $ilToolbar->addInputItem($sel);
1022 
1023  $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "exportMappings"));
1024  $ilToolbar->addFormButton($this->lng->txt("submit"), "exportMappings");
1025 
1026  if($sel_srv)
1027  {
1028  $form = $this->initMappingsForm($sel_srv,self::MAPPING_EXPORT);
1029  $this->tpl->setContent($form->getHTML());
1030  }
1031 
1032  return true;
1033  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
setMappingTabs($a_active)
Handle tabs for ECS data mapping.
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(!is_array($argv)) $options
initMappingsForm($a_server_id, $mapping_type)
init mapping form
static getInstancesByObjType($a_obj_type, $a_active_only=true)
$server
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ exportReleased()

ilECSSettingsGUI::exportReleased ( )
protected

export released

protected

Returns

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

References ilECSDataMappingSettings\_getInstance(), ilObject\_lookupDescription(), ilObject\_lookupTitle(), ilUtil\deliverData(), ilFormat\formatUnixTime(), ilECSUtils\getAdvancedMDValuesForObjId(), and ilECSExport\getExportedIds().

1754  {
1755  global $ilObjDataCache;
1756 
1757  include_once('./Services/WebServices/ECS/classes/class.ilECSExport.php');
1758  $exported = ilECSExport::getExportedIds();
1759  $ilObjDataCache->preloadObjectCache($exported);
1760 
1761  include_once('Services/Utilities/classes/class.ilCSVWriter.php');
1762  $writer = new ilCSVWriter();
1763 
1764  $writer->addColumn($this->lng->txt('title'));
1765  $writer->addColumn($this->lng->txt('description'));
1766  $writer->addColumn($this->lng->txt('ecs_field_courseID'));
1767  $writer->addColumn($this->lng->txt('ecs_field_term'));
1768  $writer->addColumn($this->lng->txt('ecs_field_lecturer'));
1769  $writer->addColumn($this->lng->txt('ecs_field_courseType'));
1770  $writer->addColumn($this->lng->txt('ecs_field_semester_hours'));
1771  $writer->addColumn($this->lng->txt('ecs_field_credits'));
1772  $writer->addColumn($this->lng->txt('ecs_field_room'));
1773  $writer->addColumn($this->lng->txt('ecs_field_cycle'));
1774  $writer->addColumn($this->lng->txt('ecs_field_begin'));
1775  $writer->addColumn($this->lng->txt('ecs_field_end'));
1776  $writer->addColumn($this->lng->txt('last_update'));
1777 
1778  include_once('./Services/WebServices/ECS/classes/class.ilECSDataMappingSettings.php');
1780 
1781  foreach($exported as $obj_id)
1782  {
1783  include_once "Services/WebServices/ECS/classes/class.ilECSUtils.php";
1784  $values = ilECSUtils::getAdvancedMDValuesForObjId($obj_id);
1785 
1786  $writer->addRow();
1787  $writer->addColumn(ilObject::_lookupTitle($obj_id));
1788  $writer->addColumn(ilObject::_lookupDescription($obj_id));
1789 
1790  $field = $settings->getMappingByECSName(0, 'courseID');
1791  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1792 
1793  $field = $settings->getMappingByECSName(0,'term');
1794  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1795 
1796  $field = $settings->getMappingByECSName(0,'lecturer');
1797  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1798 
1799  $field = $settings->getMappingByECSName(0,'courseType');
1800  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1801 
1802  $field = $settings->getMappingByECSName(0,'semester_hours');
1803  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1804 
1805  $field = $settings->getMappingByECSName(0,'credits');
1806  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1807 
1808  $field = $settings->getMappingByECSName(0,'room');
1809  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1810 
1811  $field = $settings->getMappingByECSName(0,'cycle');
1812  $writer->addColumn(isset($values[$field]) ? $values[$field] : '');
1813 
1814  $field = $settings->getMappingByECSName(0,'begin');
1815  $writer->addColumn(isset($values[$field]) ? ilFormat::formatUnixTime($values[$field],true) : '');
1816 
1817  $field = $settings->getMappingByECSName(0,'end');
1818  $writer->addColumn(isset($values[$field]) ? ilFormat::formatUnixTime($values[$field],true) : '');
1819 
1820  $writer->addColumn($ilObjDataCache->lookupLastUpdate($obj_id));
1821  }
1822 
1823  ilUtil::deliverData($writer->getCSVString(), date("Y_m_d")."_ecs_export.csv", "text/csv");
1824  }
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.
Helper class to generate CSV files.
static _lookupTitle($a_id)
lookup object title
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
formatUnixTime($ut, $with_time=false)
static _getInstance()
Get Singleton instance.
+ Here is the call graph for this function:

◆ imported()

ilECSSettingsGUI::imported ( )
protected

Show imported materials.

protected

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

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

Referenced by readAll().

1526  {
1527  global $ilUser, $ilToolbar;
1528 
1529  $this->tabs_gui->setSubTabActive('ecs_import');
1530 
1531  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
1532  if(ilECSServerSettings::getInstance()->activeServerExists())
1533  {
1534  $ilToolbar->addButton(
1535  $this->lng->txt('ecs_read_remote_links'),
1536  $this->ctrl->getLinkTarget($this,'readAll')
1537  );
1538 
1539  $ilToolbar->addSeparator();
1540  }
1541 
1542 
1543  $sel_type = $_REQUEST["otype"];
1544  if(!$sel_type)
1545  {
1546  $sel_type = "rcrs";
1547  }
1548 
1549  include_once './Services/WebServices/ECS/classes/class.ilECSUtils.php';
1551 
1552  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
1553  $sel = new ilSelectInputGUI("", "otype");
1554  $sel->setOptions($options);
1555  $sel->setValue($sel_type);
1556  $ilToolbar->addInputItem($sel);
1557 
1558  $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "imported"));
1559  $ilToolbar->addFormButton($this->lng->txt("submit"), "imported");
1560 
1561  $robjs = ilUtil::_getObjectsByOperations($sel_type,'visible',$ilUser->getId(),-1);
1562  if(count($robjs))
1563  {
1564  $ilToolbar->addSeparator();
1565 
1566  $ilToolbar->addButton(
1567  $this->lng->txt('csv_export'),
1568  $this->ctrl->getLinkTarget($this,'exportImported')
1569  );
1570  }
1571 
1572  include_once('Services/WebServices/ECS/classes/class.ilECSImportedContentTableGUI.php');
1573  $table_gui = new ilECSImportedContentTableGUI($this,'imported');
1574  $table_gui->setTitle($this->lng->txt('ecs_imported_content'));
1575  $table_gui->parse($robjs);
1576  $this->tpl->setContent($table_gui->getHTML());
1577 
1578  return true;
1579  }
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.
if(!is_array($argv)) $options
global $ilUser
Definition: imgupload.php:15
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ 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 912 of file class.ilECSSettingsGUI.php.

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

913  {
914  global $ilToolbar;
915 
916  include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
917 
918  $this->setMappingTabs(self::MAPPING_IMPORT);
919 
921  if(!count($fields))
922  {
923  ilUtil::sendInfo($this->lng->txt('ecs_no_adv_md'));
924  return true;
925  }
926 
927  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
928  $settings = ilECSServerSettings::getInstance();
929  $settings->readInactiveServers();
930 
931  $sel_srv = (int)$_REQUEST["ecs_mapping_server"];
932  if(!$sel_srv)
933  {
934  $sel_srv = $_SESSION["ecs_sel_srv"];
935  }
936  else
937  {
938  $_SESSION["ecs_sel_srv"] = $sel_srv;
939  }
940 
941  // Iterate all servers
942  $options = array(0 => $this->lng->txt("please_choose"));
943  foreach($settings->getServers() as $server)
944  {
945  $title = $server->getTitle();
946  if(!$title)
947  {
948  $title = "ECS (".$server->getServerId().")";
949  }
950  $options[$server->getServerId()] = $title;
951  }
952 
953  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
954  $sel = new ilSelectInputGUI("", "ecs_mapping_server");
955  $sel->setOptions($options);
956  $sel->setValue($sel_srv);
957  $ilToolbar->addInputItem($sel);
958 
959  $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "importMappings"));
960  $ilToolbar->addFormButton($this->lng->txt("submit"), "importMappings");
961 
962  if($sel_srv)
963  {
964  $form = $this->initMappingsForm($sel_srv, self::MAPPING_IMPORT);
965  $this->tpl->setContent($form->getHTML());
966  }
967 
968  return true;
969  }
< a tabindex="-1" style="border-style: none;" href="#" title="Refresh Image" onclick="document.getElementById('siimage').src = './securimage_show.php?sid=' + Math.random(); this.blur(); return false">< img src="./images/refresh.png" alt="Reload Image" height="32" width="32" onclick="this.blur()" align="bottom" border="0"/></a >< br/>< strong > Enter Code *if($_SERVER['REQUEST_METHOD']=='POST' &&@ $_POST['do']=='contact') $_SESSION['ctform']['success']
setMappingTabs($a_active)
Handle tabs for ECS data mapping.
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(!is_array($argv)) $options
initMappingsForm($a_server_id, $mapping_type)
init mapping form
static getInstancesByObjType($a_obj_type, $a_active_only=true)
$server
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ initCategoryMappingForm()

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

Init category mapping form.

Returns

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

References $ilDB, $options, $tpl, buildPath(), ilECSCategoryMapping\getPossibleFields(), ilECSUtils\getPossibleRemoteTypes(), ilDateTimeInputGUI\setDate(), 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().

1419  {
1420  global $ilDB;
1421 
1422  if(is_object($this->form))
1423  {
1424  return true;
1425  }
1426 
1427  include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
1428  include_once './Services/WebServices/ECS/classes/class.ilECSCategoryMappingRule.php';
1429 
1430  $this->form = new ilPropertyFormGUI();
1431 
1432  if($a_mode == 'add')
1433  {
1434  $this->form->setTitle($this->lng->txt('ecs_new_category_mapping'));
1435  $this->form->setFormAction($this->ctrl->getFormAction($this,'categoryMapping'));
1436  $this->form->addCommandButton('addCategoryMapping',$this->lng->txt('save'));
1437  $this->form->addCommandButton('categoryMapping',$this->lng->txt('cancel'));
1438  }
1439  else
1440  {
1441  $this->form->setTitle($this->lng->txt('ecs_edit_category_mapping'));
1442  $this->form->setFormAction($this->ctrl->getFormAction($this,'editCategoryMapping'));
1443  $this->form->addCommandButton('updateCategoryMapping',$this->lng->txt('save'));
1444  $this->form->addCommandButton('categoryMapping',$this->lng->txt('cancel'));
1445  }
1446 
1447  $imp = new ilCustomInputGUI($this->lng->txt('ecs_import_id'),'import_id');
1448  $imp->setRequired(true);
1449 
1450  $tpl = new ilTemplate('tpl.ecs_import_id_form.html',true,true,'Services/WebServices/ECS');
1451  $tpl->setVariable('SIZE',5);
1452  $tpl->setVariable('MAXLENGTH',11);
1453  $tpl->setVariable('POST_VAR','import_id');
1454  $tpl->setVariable('PROPERTY_VALUE',$this->rule->getContainerId());
1455 
1456  if($this->settings->getImportId())
1457  {
1458  $tpl->setVariable('COMPLETE_PATH',$this->buildPath($this->rule->getContainerId()));
1459  }
1460 
1461  $imp->setHTML($tpl->get());
1462  $imp->setInfo($this->lng->txt('ecs_import_id_info'));
1463  $this->form->addItem($imp);
1464 
1465  include_once('./Services/WebServices/ECS/classes/class.ilECSCategoryMapping.php');
1466  $select = new ilSelectInputGUI($this->lng->txt('ecs_attribute_name'),'field');
1467  $select->setValue($this->rule->getFieldName());
1468  $select->setRequired(true);
1469  $select->setOptions(ilECSCategoryMapping::getPossibleFields());
1470  $this->form->addItem($select);
1471 
1472  // Value
1473  $value = new ilRadioGroupInputGUI($this->lng->txt('ecs_cat_mapping_type'),'type');
1474  $value->setValue($this->rule->getMappingType());
1475  $value->setRequired(true);
1476 
1477  $fixed = new ilRadioOption($this->lng->txt('ecs_cat_mapping_fixed'),ilECSCategoryMappingRule::TYPE_FIXED);
1478  $fixed->setInfo($this->lng->txt('ecs_cat_mapping_fixed_info'));
1479 
1480  $fixed_val = new ilTextInputGUI($this->lng->txt('ecs_cat_mapping_values'),'mapping_value');
1481  $fixed_val->setValue($this->rule->getMappingValue());
1482  $fixed_val->setMaxLength(255);
1483  $fixed_val->setSize(40);
1484  $fixed_val->setRequired(true);
1485  $fixed->addSubItem($fixed_val);
1486 
1487  $value->addOption($fixed);
1488 
1489  $duration = new ilRadioOption($this->lng->txt('ecs_cat_mapping_duration'),ilECSCategoryMappingRule::TYPE_DURATION);
1490  $duration->setInfo($this->lng->txt('ecs_cat_mapping_duration_info'));
1491 
1492  $dur_start = new ilDateTimeInputGUI($this->lng->txt('from'),'dur_begin');
1493  $dur_start->setDate($this->rule->getDateRangeStart());
1494  $duration->addSubItem($dur_start);
1495 
1496  $dur_end = new ilDateTimeInputGUI($this->lng->txt('to'),'dur_end');
1497  $dur_end->setDate($this->rule->getDateRangeEnd());
1498  $duration->addSubItem($dur_end);
1499 
1500  $value->addOption($duration);
1501 
1502  $type = new ilRadioOption($this->lng->txt('ecs_cat_mapping_by_type'),ilECSCategoryMappingRule::TYPE_BY_TYPE);
1503  $type->setInfo($this->lng->txt('ecs_cat_mapping_by_type_info'));
1504 
1506 
1507  $types = new ilSelectInputGUI($this->lng->txt('type'), 'by_type');
1508  $types->setOptions($options);
1509  $types->setValue($this->rule->getByType());
1510  $types->setRequired(true);
1511  $type->addSubitem($types);
1512 
1513  $value->addOption($type);
1514 
1515  $this->form->addItem($value);
1516 
1517  }
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.
setDate(ilDateTime $a_date=NULL)
set date E.g $dt_form->setDate(new ilDateTime(time(),IL_CAL_UTC)); or $dt_form->setDate(new ilDateTim...
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.
if(!is_array($argv)) $options
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.
+ 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 1101 of file class.ilECSSettingsGUI.php.

References $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().

1102  {
1103  include_once('./Services/Form/classes/class.ilPropertyFormGUI.php');
1104 
1105  include_once('./Services/WebServices/ECS/classes/class.ilECSDataMappingSettings.php');
1106  $mapping_settings = ilECSDataMappingSettings::getInstanceByServerId($a_server_id);
1107 
1108  $form = new ilPropertyFormGUI();
1109 
1110  if($mapping_type == self::MAPPING_IMPORT)
1111  {
1112  $form->setTitle($this->lng->txt('ecs_mapping_tbl'));
1113  $form->addCommandButton('saveImportMappings',$this->lng->txt('save'));
1114  $form->addCommandButton('importMappings',$this->lng->txt('cancel'));
1115  }
1116  else
1117  {
1118  $form->setTitle($this->lng->txt('ecs_mapping_exp_tbl'));
1119  $form->addCommandButton('saveExportMappings',$this->lng->txt('save'));
1120  $form->addCommandButton('exportMappings',$this->lng->txt('cancel'));
1121  }
1122 
1123  $form->setFormAction($this->ctrl->getFormAction($this,'saveMappings'));
1124 
1125  if($mapping_type == self::MAPPING_IMPORT)
1126  {
1127  $assignments = new ilCustomInputGUI($this->lng->txt('ecs_mapping_crs'));
1128  $form->addItem($assignments);
1129  }
1130 
1131  include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
1133  $options = $this->prepareFieldSelection($fields);
1134 
1135  // get all optional ecourse fields
1136  include_once('./Services/WebServices/ECS/classes/class.ilECSUtils.php');
1138  foreach($optional as $field_name)
1139  {
1140  if($mapping_type == self::MAPPING_IMPORT)
1141  {
1142  $select = new ilSelectInputGUI(
1143  $this->lng->txt('ecs_field_'.$field_name),
1144  'mapping'.'['.ilECSDataMappingSetting::MAPPING_IMPORT_CRS.']['.$field_name.']'
1145  );
1146 
1147  $select->setValue(
1148  $mapping_settings->getMappingByECSName(
1150  $field_name)
1151  );
1152  $select->setOptions($options);
1153  $assignments->addSubItem($select);
1154  }
1155  else
1156  {
1157  $select = new ilSelectInputGUI(
1158  $this->lng->txt('ecs_field_'.$field_name),
1159  'mapping'.'['.ilECSDataMappingSetting::MAPPING_EXPORT.']['.$field_name.']'
1160  );
1161  $select->setValue(
1162  $mapping_settings->getMappingByECSName(
1164  $field_name)
1165  );
1166  $select->setOptions($options);
1167  $form->addItem($select);
1168  }
1169  }
1170 
1171  $server = new ilHiddenInputGUI('ecs_mapping_server');
1172  $server->setValue($a_server_id);
1173  $form->addItem($server);
1174 
1175  // Remote courses
1176  // no remote course settings for export
1177  if($mapping_type == self::MAPPING_EXPORT)
1178  {
1179  return $form;
1180  }
1181 
1182  $rcrs = new ilCustomInputGUI($this->lng->txt('ecs_mapping_rcrs'));
1183  $form->addItem($rcrs);
1184 
1185  include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDFieldDefinition.php');
1187  $options = $this->prepareFieldSelection($fields);
1188 
1189  // get all optional econtent fields
1190  include_once('./Services/WebServices/ECS/classes/class.ilECSUtils.php');
1192  foreach($optional as $field_name)
1193  {
1194  $select = new ilSelectInputGUI(
1195  $this->lng->txt('ecs_field_'.$field_name),
1196  'mapping['.ilECSDataMappingSetting::MAPPING_IMPORT_RCRS.']['.$field_name.']');
1197  $select->setValue(
1198  $mapping_settings->getMappingByECSName(
1200  $field_name)
1201  );
1202  $select->setOptions($options);
1203  $rcrs->addSubItem($select);
1204  }
1205  return $form;
1206  }
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(!is_array($argv)) $options
setValue($a_value)
Set Value.
static getInstancesByObjType($a_obj_type, $a_active_only=true)
static _getOptionalEContentFields()
get optional econtent fields These fields might be mapped against AdvancedMetaData field definitions ...
$server
This class represents a custom property in a property form.
prepareFieldSelection($fields)
get options for field selection
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 1403 of file class.ilECSSettingsGUI.php.

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

1404  {
1405  if(is_object($this->rule))
1406  {
1407  return $this->rule;
1408  }
1409 
1410  include_once './Services/WebServices/ECS/classes/class.ilECSCategoryMappingRule.php';
1411  $this->rule = new ilECSCategoryMappingRule($a_rule_id);
1412  }
Defines a rule for the assignment of ECS remote courses to categories.
+ Here is the caller graph for this function:

◆ initSettings()

ilECSSettingsGUI::initSettings (   $a_server_id = 1)
protected

Init settings.

protected

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

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

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

1853  {
1854  include_once('Services/WebServices/ECS/classes/class.ilECSSetting.php');
1855  $this->settings = ilECSSetting::getInstanceByServerId($a_server_id);
1856  }
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 330 of file class.ilECSSettingsGUI.php.

References $pass, $tpl, 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().

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

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

Referenced by save(), and update().

1934  {
1935  global $ilDB,$ilSetting;
1936 
1937  #$ilDB->lockTables(array('name' => 'settings', 'type' => ilDB::LOCK_WRITE));
1938  $setting = new ilSetting('ecs');
1939  $setting->set(
1940  'next_execution_'.$this->settings->getServerId(),
1941  time() + (int) $this->settings->getPollingTime()
1942  );
1943  }
ILIAS Setting Class.
global $ilSetting
Definition: privfeed.php:40
global $ilDB
+ 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 606 of file class.ilECSSettingsGUI.php.

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

Referenced by save(), and update().

607  {
608  $this->settings->setEnabledStatus((int) $_POST['active']);
609  $this->settings->setTitle(ilUtil::stripSlashes($_POST['title']));
610  $this->settings->setServer(ilUtil::stripSlashes($_POST['server']));
611  $this->settings->setPort(ilUtil::stripSlashes($_POST['port']));
612  $this->settings->setProtocol(ilUtil::stripSlashes($_POST['protocol']));
613  $this->settings->setClientCertPath(ilUtil::stripSlashes($_POST['client_cert']));
614  $this->settings->setCACertPath(ilUtil::stripSlashes($_POST['ca_cert']));
615  $this->settings->setKeyPath(ilUtil::stripSlashes($_POST['key_path']));
616  $this->settings->setKeyPassword(ilUtil::stripSlashes($_POST['key_password']));
617  $this->settings->setImportId(ilUtil::stripSlashes($_POST['import_id']));
618  $this->settings->setPollingTimeMS((int) $_POST['polling']['mm'],(int) $_POST['polling']['ss']);
619  $this->settings->setServer(ilUtil::stripSlashes($_POST['server']));
620  $this->settings->setGlobalRole((int) $_POST['global_role']);
621  $this->settings->setDuration((int) $_POST['duration']['MM']);
622 
623  $this->settings->setUserRecipients(ilUtil::stripSlashes($_POST['user_recipients']));
624  $this->settings->setEContentRecipients(ilUtil::stripSlashes($_POST['econtent_recipients']));
625  $this->settings->setApprovalRecipients(ilUtil::stripSlashes($_POST['approval_recipients']));
626 
627  $this->settings->setAuthType((int) $_POST['auth_type']);
628  $this->settings->setAuthPass(ilUtil::stripSlashes($_POST['auth_pass']));
629  $this->settings->setAuthUser(ilUtil::stripSlashes($_POST['auth_user']));
630 
631  }
$_POST['username']
Definition: cron.php:12
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
+ 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 114 of file class.ilECSSettingsGUI.php.

References ilECSServerSettings\getInstance().

Referenced by update().

115  {
116  global $ilToolbar,$ilTabs;
117 
118  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
119 
120  $ilTabs->setSubTabActive('overview');
121  $ilToolbar->addButton(
122  $this->lng->txt('ecs_add_new_ecs'),
123  $this->ctrl->getLinkTarget($this,'create')
124  );
125 
127  $servers->readInactiveServers();
128 
129  include_once './Services/WebServices/ECS/classes/class.ilECSServerTableGUI.php';
130  $table = new ilECSServerTableGUI($this,'overview');
131  $table->initTable();
132  $table->parse($servers);
133  $this->tpl->setContent($table->getHTML());
134  return;
135  }
static getInstance()
Get singleton instance.
Description of ilECSServerTableGUI.
+ 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 1832 of file class.ilECSSettingsGUI.php.

References $options, and ilAdvancedMDRecord\_lookupTitle().

Referenced by initMappingsForm().

1833  {
1834  include_once('./Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
1835 
1836  $options[0] = $this->lng->txt('ecs_ignore_field');
1837  foreach($fields as $field)
1838  {
1839  $title = ilAdvancedMDRecord::_lookupTitle($field->getRecordId());
1840  $options[$field->getFieldId()] = $title.': '.$field->getTitle();
1841  }
1842  return $options;
1843  }
if(!is_array($argv)) $options
static _lookupTitle($a_record_id)
Lookup title.
+ 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 1902 of file class.ilECSSettingsGUI.php.

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

Referenced by initSettingsForm().

1903  {
1904  global $rbacreview,$ilObjDataCache;
1905 
1906  $global_roles = ilUtil::_sortIds($rbacreview->getGlobalRoles(),
1907  'object_data',
1908  'title',
1909  'obj_id');
1910 
1911  $select[0] = $this->lng->txt('links_select_one');
1912  foreach($global_roles as $role_id)
1913  {
1914  $select[$role_id] = ilObject::_lookupTitle($role_id);
1915  }
1916  return $select;
1917  }
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 166 of file class.ilECSSettingsGUI.php.

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

167  {
168  include_once('Services/WebServices/ECS/classes/class.ilECSConnector.php');
169  include_once('Services/WebServices/ECS/classes/class.ilECSConnectorException.php');
170  include_once('./Services/WebServices/ECS/classes/class.ilECSEventQueueReader.php');
171  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
172 
173  try
174  {
175  foreach(ilECSServerSettings::getInstance()->getServers() as $server)
176  {
179 
180  include_once('./Services/WebServices/ECS/classes/class.ilECSTaskScheduler.php');
181  ilECSTaskScheduler::_getInstanceByServerId($server->getServerId())->startTaskExecution();
182 
183  ilUtil::sendInfo($this->lng->txt('ecs_remote_imported'));
184  $this->imported();
185  return true;
186  }
187  }
188  catch(ilECSConnectorException $e1)
189  {
190  ilUtil::sendInfo('Cannot connect to ECS server: '.$e1->getMessage());
191  $this->imported();
192  return false;
193  }
194  catch(ilException $e2)
195  {
196  ilUtil::sendInfo('Update failed: '.$e1->getMessage());
197  $this->imported();
198  return false;
199  }
200  }
Base class for ILIAS Exception handling.
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
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 636 of file class.ilECSSettingsGUI.php.

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

637  {
638  include_once './Services/WebServices/ECS/classes/class.ilECSCommunityReader.php';
639  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
640  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSettings.php';
641  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSetting.php';
642 
644  $servers->readInactiveServers();
645  foreach($servers->getServers() as $server)
646  {
647 
648  // read community
649  try {
650 
651  $creader = ilECSCommunityReader::getInstanceByServerId($server->getServerId());
652  foreach(ilECSParticipantSettings::getAvailabeMids($server->getServerId()) as $mid)
653  {
654  if(!$creader->getParticipantByMID($mid))
655  {
656  $GLOBALS['ilLog']->write(__METHOD__.': Deleting deprecated participant '. $server->getServerId().' '. $mid);
657 
658  $part = new ilECSParticipantSetting($server->getServerId(),$mid);
659  $part->delete();
660  }
661  }
662  }
663  catch(ilECSConnectorException $e)
664  {
665  ilUtil::sendFailure($server->getServer().': '. $e->getMessage(),TRUE);
666  }
667  }
668  ilUtil::sendSuccess($this->lng->txt('settings_saved'),TRUE);
669  $this->ctrl->redirect($this,'communities');
670  }
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.
$GLOBALS['ct_recipient']
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$server
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 1692 of file class.ilECSSettingsGUI.php.

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

1693  {
1694  global $ilUser, $ilToolbar;
1695 
1696  $this->tabs_gui->setSubTabActive('ecs_released');
1697 
1698  if($this->settings->isEnabled())
1699  {
1700  $ilToolbar->addButton(
1701  $this->lng->txt('ecs_read_remote_links'),
1702  $this->ctrl->getLinkTarget($this,'readAll')
1703  );
1704 
1705  $ilToolbar->addSeparator();
1706  }
1707 
1708  $sel_type = $_REQUEST["otype"];
1709  if(!$sel_type)
1710  {
1711  $sel_type = "rcrs";
1712  }
1713 
1714  include_once "Services/WebServices/ECS/classes/class.ilECSUtils.php";
1716 
1717  include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
1718  $sel = new ilSelectInputGUI("", "otype");
1719  $sel->setOptions($options);
1720  $sel->setValue($sel_type);
1721  $ilToolbar->addInputItem($sel);
1722 
1723  $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "released"));
1724  $ilToolbar->addFormButton($this->lng->txt("submit"), "released");
1725 
1726  include_once('./Services/WebServices/ECS/classes/class.ilECSExport.php');
1727  $exported = ilECSExport::getExportedIdsByType($sel_type);
1728  if(count($exported))
1729  {
1730  $ilToolbar->addSeparator();
1731 
1732  $ilToolbar->addButton(
1733  $this->lng->txt('csv_export'),
1734  $this->ctrl->getLinkTarget($this,'exportReleased')
1735  );
1736  }
1737 
1738  include_once('Services/WebServices/ECS/classes/class.ilECSReleasedContentTableGUI.php');
1739  $table_gui = new ilECSReleasedContentTableGUI($this,'released');
1740  $table_gui->setTitle($this->lng->txt('ecs_released_content'));
1741  $table_gui->parse($exported);
1742  $this->tpl->setContent($table_gui->getHTML());
1743 
1744  return true;
1745  }
static getPossibleReleaseTypes($a_with_captions=false)
Get all possible release object types.
This class represents a selection list property in a property form.
if(!is_array($argv)) $options
static getExportedIdsByType($a_type)
Get exported ids by type ilDB $ilDB.
global $ilUser
Definition: imgupload.php:15
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ save()

ilECSSettingsGUI::save ( )
protected

Save settings.

Returns
<type>

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

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

550  {
551  $this->initSettings(0);
552  $this->loadFromPost();
553 
554  if(!$error = $this->settings->validate())
555  {
556  $this->settings->save();
557  $this->initTaskScheduler();
558 
559  #$this->updateTitle();
560  ilUtil::sendInfo($this->lng->txt('settings_saved'),true);
561  }
562  else
563  {
564  ilUtil::sendInfo($this->lng->txt($error));
565  return $this->create();
566  }
567  $GLOBALS['ilCtrl']->redirect($this,'overview');
568  return true;
569  }
loadFromPost()
Load from post.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
initTaskScheduler()
Init next task execution <type> $ilDB <type> $ilSetting.
$GLOBALS['ct_recipient']
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 1070 of file class.ilECSSettingsGUI.php.

References $_POST, and ilUtil\sendInfo().

1071  {
1072  foreach((array) $_POST['mapping'] as $mtype => $mappings)
1073  {
1074  foreach((array) $mappings as $ecs_field => $advmd_id)
1075  {
1076  include_once './Services/WebServices/ECS/classes/class.ilECSDataMappingSetting.php';
1077  $map = new ilECSDataMappingSetting(
1078  (int) $_POST['ecs_mapping_server'],
1079  (int) $mtype,
1080  $ecs_field
1081  );
1082  $map->setAdvMDId($advmd_id);
1083  $map->save();
1084  }
1085  }
1086 
1087  ilUtil::sendInfo($this->lng->txt('settings_saved'),true);
1088  $this->ctrl->setParameter($this, "ecs_mapping_server", (int)$_POST['ecs_mapping_server']);
1089  $this->ctrl->redirect($this,'exportMappings');
1090  return true;
1091  }
$_POST['username']
Definition: cron.php:12
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
+ Here is the call graph for this function:

◆ saveImportMappings()

ilECSSettingsGUI::saveImportMappings ( )
protected

Save mappings.

protected

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

References $_POST, $_REQUEST, and ilUtil\sendInfo().

1042  {
1043  foreach((array) $_POST['mapping'] as $mtype => $mappings)
1044  {
1045  foreach((array) $mappings as $ecs_field => $advmd_id)
1046  {
1047  include_once './Services/WebServices/ECS/classes/class.ilECSDataMappingSetting.php';
1048  $map = new ilECSDataMappingSetting(
1049  (int) $_REQUEST['ecs_mapping_server'],
1050  (int) $mtype,
1051  $ecs_field
1052  );
1053  $map->setAdvMDId($advmd_id);
1054  $map->save();
1055  }
1056  }
1057 
1058  ilUtil::sendInfo($this->lng->txt('settings_saved'),true);
1059  $this->ctrl->setParameter($this, "ecs_mapping_server", (int)$_POST['ecs_mapping_server']);
1060  $this->ctrl->redirect($this,'importMappings');
1061  return true;
1062  }
$_POST['username']
Definition: cron.php:12
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ 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 871 of file class.ilECSSettingsGUI.php.

Referenced by exportMappings(), and importMappings().

872  {
873  global $ilTabs;
874 
875  $ilTabs->clearTargets();
876  $ilTabs->clearSubTabs();
877 
878  $ilTabs->setBackTarget(
879  $this->lng->txt('ecs_settings'),
880  $this->ctrl->getLinkTarget($this,'overview')
881  );
882  $ilTabs->addTab(
883  'import',
884  $this->lng->txt('ecs_tab_import'),
885  $this->ctrl->getLinkTarget($this,'importMappings')
886  );
887  $ilTabs->addTab(
888  'export',
889  $this->lng->txt('ecs_tab_export'),
890  $this->ctrl->getLinkTarget($this,'exportMappings')
891  );
892 
893 
894  switch($a_active)
895  {
896  case self::MAPPING_IMPORT:
897  $ilTabs->activateTab('import');
898  break;
899 
900  case self::MAPPING_EXPORT:
901  $ilTabs->activateTab('export');
902  break;
903  }
904  return true;
905  }
+ Here is the caller graph for this function:

◆ setSubTabs()

ilECSSettingsGUI::setSubTabs ( )
protected

set sub tabs

protected

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

References ilECSServerSettings\getInstance().

Referenced by executeCommand().

1864  {
1865  $this->tabs_gui->clearSubTabs();
1866 
1867  $this->tabs_gui->addSubTabTarget("overview",
1868  $this->ctrl->getLinkTarget($this,'overview'),
1869  "overview",get_class($this));
1870 
1871  // Disable all other tabs, if server hasn't been configured.
1872  #ilECSServerSettings::getInstance()->readInactiveServers();
1873  if(!ilECSServerSettings::getInstance()->serverExists())
1874  {
1875  return true;
1876  }
1877 
1878  $this->tabs_gui->addSubTabTarget("ecs_communities",
1879  $this->ctrl->getLinkTarget($this,'communities'),
1880  "communities",get_class($this));
1881 
1882  $this->tabs_gui->addSubTabTarget('ecs_mappings',
1883  $this->ctrl->getLinkTarget($this,'importMappings'),
1884  'importMappings',get_class($this));
1885 
1886  $this->tabs_gui->addSubTabTarget('ecs_category_mapping',
1887  $this->ctrl->getLinkTarget($this,'categoryMapping'));
1888 
1889  $this->tabs_gui->addSubTabTarget('ecs_import',
1890  $this->ctrl->getLinkTarget($this,'imported'));
1891 
1892  $this->tabs_gui->addSubTabTarget('ecs_released',
1893  $this->ctrl->getLinkTarget($this,'released'));
1894 
1895  }
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 317 of file class.ilECSSettingsGUI.php.

References initSettingsForm().

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

318  {
319  $this->initSettingsForm();
320  $this->tabs_gui->setSubTabActive('ecs_settings');
321 
322  $this->tpl->setContent($this->form->getHTML());
323  }
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 1384 of file class.ilECSSettingsGUI.php.

References ilECSCategoryMapping\getActiveRules().

Referenced by categoryMapping().

1385  {
1386  include_once './Services/WebServices/ECS/classes/class.ilECSCategoryMapping.php';
1387 
1388  if(!$rules = ilECSCategoryMapping::getActiveRules())
1389  {
1390  return false;
1391  }
1392  include_once './Services/WebServices/ECS/classes/class.ilECSCategoryMappingTableGUI.php';
1393  $rule_table = new ilECSCategoryMappingTableGUI($this,'categoryMapping');
1394  $rule_table->parse($rules);
1395  return $rule_table->getHTML();
1396  }
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 523 of file class.ilECSSettingsGUI.php.

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

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

◆ updateCategoryMapping()

ilECSSettingsGUI::updateCategoryMapping ( )
protected

update category mapping

Returns

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

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

1306  {
1307  if(!$_REQUEST['rule_id'])
1308  {
1309  ilUtil::sendInfo($this->lng->txt('select_one'));
1310  $this->categoryMapping();
1311  return false;
1312  }
1313  $this->ctrl->saveParameter($this,'rule_id');
1314  $this->initRule((int) $_REQUEST['rule_id']);
1315  $this->initCategoryMappingForm('edit');
1316  if($this->form->checkInput())
1317  {
1318  $this->rule->setContainerId($this->form->getInput('import_id'));
1319  $this->rule->setFieldName($this->form->getInput('field'));
1320  $this->rule->setMappingType($this->form->getInput('type'));
1321 
1322  switch($this->form->getInput('type'))
1323  {
1325  $this->rule->setMappingValue($this->form->getInput('mapping_value'));
1326  break;
1327 
1329  $this->rule->setDateRangeStart($this->form->getItemByPostVar('dur_begin')->getDate());
1330  $this->rule->setDateRangeEnd($this->form->getItemByPostVar('dur_end')->getDate());
1331  break;
1332 
1334  $this->rule->setByType($this->form->getInput('by_type'));
1335  break;
1336  }
1337 
1338  if($err = $this->rule->validate())
1339  {
1340  ilUtil::sendInfo($this->lng->txt($err));
1341  $this->form->setValuesByPost();
1342  $this->editCategoryMapping();
1343  return false;
1344  }
1345 
1346  $this->rule->update();
1347  ilUtil::sendInfo($this->lng->txt('settings_saved'),true);
1348  $this->ctrl->redirect($this,'categoryMapping');
1349  return true;
1350  }
1351  ilUtil::sendInfo($this->lng->txt('err_check_input'));
1352  $this->form->setValuesByPost();
1353  $this->editCategoryMapping();
1354  return false;
1355 
1356  }
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.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
+ Here is the call graph for this function:

◆ updateCommunities()

ilECSSettingsGUI::updateCommunities ( )
protected

update whitelist

protected

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

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

782  {
783  global $ilLog;
784 
785  include_once './Services/WebServices/ECS/classes/class.ilECSCommunityReader.php';
786  include_once './Services/WebServices/ECS/classes/class.ilECSServerSettings.php';
787 
788  // @TODO: Delete deprecated communities
789  $invalidImportTypes = false;
790  if(!$this->validateImportTypes($_POST['import_type']))
791  {
792  $invalidImportTypes = true;
793  }
794 
796  foreach($servers->getServers() as $server)
797  {
798  try {
799  // Read communities
800  $cReader = ilECSCommunityReader::getInstanceByServerId($server->getServerId());
801 
802  // Update community cache
803  foreach($cReader->getCommunities() as $community)
804  {
805  include_once './Services/WebServices/ECS/classes/class.ilECSCommunityCache.php';
806  $cCache = ilECSCommunityCache::getInstance($server->getServerId(), $community->getId());
807  $cCache->setCommunityName($community->getTitle());
808  $cCache->setMids($community->getMids());
809  $cCache->setOwnId($community->getOwnId());
810  $cCache->update();
811  }
812  }
813  catch(Exception $e)
814  {
815  $GLOBALS['ilLog']->write(__METHOD__.': Cannot read ecs communities: '.$e->getMessage());
816  }
817  }
818 
819  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSetting.php';
820  foreach((array) $_POST['sci_mid'] as $sid => $tmp)
821  {
822  foreach((array) $_POST['sci_mid'][$sid] as $mid => $tmp)
823  {
824  $set = new ilECSParticipantSetting($sid, $mid);
825  #$set->enableExport(array_key_exists($mid, (array) $_POST['export'][$sid]) ? true : false);
826  #$set->enableImport(array_key_exists($mid, (array) $_POST['import'][$sid]) ? true : false);
827  $set->setImportType($_POST['import_type'][$sid][$mid]);
828 
829  // update title/cname
830  try {
831  $part = ilECSCommunityReader::getInstanceByServerId($sid)->getParticipantByMID($mid);
832  if($part instanceof ilECSParticipant)
833  {
834  $set->setTitle($part->getParticipantName());
835  }
836  $com = ilECSCommunityReader::getInstanceByServerId($sid)->getCommunityByMID($mid);
837  if($com instanceof ilECSCommunity)
838  {
839  $set->setCommunityName($com->getTitle());
840  }
841  }
842  catch(Exception $e)
843  {
844  $GLOBALS['ilLog']->write(__METHOD__.': Cannot read ecs communities: '.$e->getMessage());
845  }
846 
847  $set->update();
848  }
849  }
850  if($invalidImportTypes)
851  {
852  ilUtil::sendFailure($this->lng->txt('ecs_invalid_import_type_cms'),true);
853  }
854  else
855  {
856  ilUtil::sendSuccess($this->lng->txt('settings_saved'),true);
857  }
858  $GLOBALS['ilCtrl']->redirect($this,'communities');
859 
860  // TODO: Do update of remote courses and ...
861 
862  return true;
863  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_POST['username']
Definition: cron.php:12
static getInstance()
Get singleton instance.
validateImportTypes(&$import_types)
Validate import types.
static getInstanceByServerId($a_server_id)
Get instance by server id.
$GLOBALS['ct_recipient']
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$server
static getInstance($a_sid, $a_cid)
Get instance.
+ 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 $GLOBALS, $reader, ilECSCommunityReader\getInstanceByServerId(), ilUtil\sendFailure(), and settings().

575  {
576  try
577  {
578  include_once './Services/WebServices/ECS/classes/class.ilECSCommunityReader.php';
580 
581  foreach($reader->getCommunities() as $community)
582  {
583  foreach($community->getParticipants() as $part)
584  {
585  $GLOBALS['ilLog']->write(__METHOD__.': '.print_r($community,true));
586  if($part->isSelf())
587  {
588  $this->settings->setTitle($part->getParticipantName());
589  $this->settings->update();
590  return true;
591  }
592  }
593  }
594  }
595  catch(ilECSConnectorException $exc)
596  {
597  ilUtil::sendFailure($exc->getMessage());
598  }
599  $this->settings->setTitle('');
600  $this->settings->update();
601  }
static getInstanceByServerId($a_server_id)
Get instance by server id.
$GLOBALS['ct_recipient']
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 735 of file class.ilECSSettingsGUI.php.

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

Referenced by updateCommunities().

736  {
737  include_once './Services/WebServices/ECS/classes/class.ilECSParticipantSetting.php';
738 
739  $num_cms = 0;
740  foreach((array) $import_types as $sid => $server)
741  {
742  foreach((array) $server as $mid => $import_type)
743  {
744  if($import_type == ilECSParticipantSetting::IMPORT_CMS)
745  {
746  ++$num_cms;
747  }
748  }
749  }
750 
751  if($num_cms <= 1)
752  {
753  return true;
754  }
755  // Change to import type "UNCHANGED"
756  $new_types = array();
757  foreach((array) $import_types as $sid => $server)
758  {
759  foreach((array) $server as $mid => $import_type)
760  {
761  if($import_type == ilECSParticipantSetting::IMPORT_CMS)
762  {
763  $new_types[$sid][$mid] = ilECSParticipantSetting::IMPORT_UNCHANGED;
764  }
765  else
766  {
767  $new_types[$sid][$mid] = $import_type;
768  }
769  }
770  }
771  $import_types = $new_types;
772  return false;
773  }
$server
+ Here is the caller graph for this function:

Field Documentation

◆ $ctrl

ilECSSettingsGUI::$ctrl
protected

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

◆ $lng

ilECSSettingsGUI::$lng
protected

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

Referenced by __construct().

◆ $tabs_gui

ilECSSettingsGUI::$tabs_gui
protected

Definition at line 44 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: