Public Member Functions | |
| __construct ($a_obj_id) | |
| Constructor. | |
| executeCommand () | |
| Execute Command. | |
| show () | |
| Show defined fields. | |
| editField () | |
| Edit field. | |
| deleteField () | |
| Delete field. | |
| addNewValue () | |
| Increment values. | |
| updateField () | |
| Update Field. | |
| confirmDelete () | |
| Confirm delete. | |
| delete () | |
| Delete course fields. | |
| save () | |
| Save. | |
| fieldSelection () | |
| Field selection. | |
| chooseDefinitions () | |
| Choose Definitions. | |
| addSelectField () | |
| addValue () | |
| Increment values. | |
| addTextField () | |
| public | |
| saveField () | |
| Save New Field. | |
Private Attributes | |
| $lng | |
| $tpl | |
| $ctrl | |
| $tabs_gui | |
| $obj_id | |
| $cdf | |
Definition at line 35 of file class.ilCourseUserFieldsGUI.php.
| ilCourseUserFieldsGUI::__construct | ( | $ | a_obj_id | ) |
| ilCourseUserFieldsGUI::addNewValue | ( | ) |
Increment values.
public
Definition at line 259 of file class.ilCourseUserFieldsGUI.php.
References $_SESSION, and editField().
Here is the call graph for this function:| ilCourseUserFieldsGUI::addSelectField | ( | ) |
Definition at line 455 of file class.ilCourseUserFieldsGUI.php.
References $_REQUEST, $_SESSION, and ilUtil::formCheckbox().
Referenced by addValue(), and chooseDefinitions().
{
$_SESSION['il_cdf_select_num_values'] = $_SESSION['il_cdf_select_num_values'] ? $_SESSION['il_cdf_select_num_values'] : 3;
$this->ctrl->setParameter($this,'field_type',(int) $_REQUEST['field_type']);
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.user_fields_add_select.html','Modules/Course');
$this->tpl->setVariable('FORMACTION',$this->ctrl->getFormAction($this));
$this->tpl->setVariable('TXT_SELECT_TYPE',$this->lng->txt('ps_new_select_field'));
$this->tpl->setVariable('TXT_FIELD_NAME',$this->lng->txt('ps_name_field'));
$this->tpl->setVariable('TXT_REQUIRED',$this->lng->txt('required_field'));
$this->tpl->setVariable('BTN_ADD',$this->lng->txt('save'));
$this->tpl->setVariable('BTN_PREVIOUS',$this->lng->txt('btn_previous'));
$this->tpl->setVariable('BTN_NEW_VALUE',$this->lng->txt('ps_btn_add_value'));
$this->tpl->setVariable('REQUIRED',ilUtil::formCheckbox($_POST['required'] ? 1 : 0,'required',1));
$this->tpl->setVariable('FIELD_NAME_VALUE',$_POST['field_name']);
for($i = 0; $i < $_SESSION['il_cdf_select_num_values'];$i++)
{
$this->tpl->setCurrentBlock("values");
$this->tpl->setVariable('COUNTER',$i);
$this->tpl->setVariable("TXT_VALUES",$this->lng->txt('ps_cdf_value').' '.($i + 1));
$this->tpl->setVariable("FIELD_NAME",$_POST['field_values'][$i]);
$this->tpl->parseCurrentBlock();
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilCourseUserFieldsGUI::addTextField | ( | ) |
public
Definition at line 505 of file class.ilCourseUserFieldsGUI.php.
References $_REQUEST, and ilUtil::formCheckbox().
Referenced by chooseDefinitions().
{
$this->ctrl->setParameter($this,'field_type',(int) $_REQUEST['field_type']);
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.user_fields_add_text.html','Modules/Course');
$this->tpl->setVariable('FORMACTION',$this->ctrl->getFormAction($this));
$this->tpl->setVariable('TXT_SELECT_TYPE',$this->lng->txt('ps_new_text_field'));
$this->tpl->setVariable('TXT_FIELD_NAME',$this->lng->txt('ps_name_field'));
$this->tpl->setVariable('TXT_REQUIRED',$this->lng->txt('required_field'));
$this->tpl->setVariable('BTN_ADD',$this->lng->txt('btn_add'));
$this->tpl->setVariable('BTN_PREVIOUS',$this->lng->txt('btn_previous'));
$this->tpl->setVariable('REQUIRED',ilUtil::formCheckbox(0,'required',1));
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilCourseUserFieldsGUI::addValue | ( | ) |
Increment values.
public
Definition at line 489 of file class.ilCourseUserFieldsGUI.php.
References $_SESSION, and addSelectField().
{
$_SESSION['il_cdf_select_num_values'] += 1;
$this->addSelectField();
return true;
}
Here is the call graph for this function:| ilCourseUserFieldsGUI::chooseDefinitions | ( | ) |
Choose Definitions.
public
Definition at line 438 of file class.ilCourseUserFieldsGUI.php.
References $_REQUEST, addSelectField(), and addTextField().
Referenced by saveField().
{
switch($field_type = (int) $_REQUEST['field_type'])
{
case IL_CDF_TYPE_TEXT:
$this->addTextField();
break;
case IL_CDF_TYPE_SELECT:
$this->addSelectField();
break;
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilCourseUserFieldsGUI::confirmDelete | ( | ) |
Confirm delete.
public
Definition at line 320 of file class.ilCourseUserFieldsGUI.php.
References $_SESSION, ilUtil::sendInfo(), show(), and ilUtil::switchColor().
{
if(!count($_POST['field_id']))
{
ilUtil::sendInfo($this->lng->txt('ps_cdf_select_one'));
$this->show();
return false;
}
ilUtil::sendInfo($this->lng->txt('ps_cdf_delete_sure'));
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.user_fields_confirm_delete.html','Modules/Course');
$this->tpl->setVariable('FORMACTION',$this->ctrl->getFormAction($this));
$this->tpl->setVariable('TXT_NAME',$this->lng->txt('ps_cdf_name'));
$this->tpl->setVariable('TXT_TYPE',$this->lng->txt('ps_cdf_type'));
$this->tpl->setVariable('DELETE',$this->lng->txt('delete'));
$this->tpl->setVariable('CANCEL',$this->lng->txt('cancel'));
$counter = 0;
foreach($_POST['field_id'] as $field_id)
{
$tmp_field = new ilCourseDefinedFieldDefinition($this->obj_id,$field_id);
$this->tpl->setCurrentBlock('del_row');
$this->tpl->setVariable('CSS_ROW',ilUtil::switchColor(++$counter,'tblrow1','tblrow2'));
$this->tpl->setVariable('DEL_NAME',$tmp_field->getName());
$this->tpl->setVariable('DEL_TYPE',$tmp_field->getType() == IL_CDF_TYPE_SELECT ?
$this->lng->txt('ps_type_select') :
$this->lng->txt('ps_type_text'));
$this->tpl->parseCurrentBlock();
}
$_SESSION['il_cdf_delete'] = $_POST['field_id'];
}
Here is the call graph for this function:| ilCourseUserFieldsGUI::delete | ( | ) |
Delete course fields.
public
Definition at line 359 of file class.ilCourseUserFieldsGUI.php.
References $_SESSION, ilCourseAgreement::_deleteByObjId(), ilUtil::sendInfo(), and show().
{
if(!count($_SESSION['il_cdf_delete']))
{
ilUtil::sendInfo($this->lng->txt('ps_cdf_select_one'));
$this->show();
return false;
}
foreach($_SESSION['il_cdf_delete'] as $field_id)
{
$tmp_field = new ilCourseDefinedFieldDefinition($this->obj_id,$field_id);
$tmp_field->delete();
}
ilCourseAgreement::_deleteByObjId($this->obj_id);
ilUtil::sendInfo($this->lng->txt('ps_cdf_deleted'));
unset($_SESSION['il_cdf_delete']);
$this->show();
return true;
}
Here is the call graph for this function:| ilCourseUserFieldsGUI::deleteField | ( | ) |
Delete field.
public
Definition at line 238 of file class.ilCourseUserFieldsGUI.php.
References $_GET, $cdf, editField(), ilUtil::sendInfo(), and show().
{
if(!$_GET['field_id'])
{
ilUtil::sendInfo('No field given');
$this->show();
return false;
}
$cdf = new ilCourseDefinedFieldDefinition($this->obj_id,(int) $_GET['field_id']);
$cdf->deleteValue((int) $_GET['del_field']);
ilUtil::sendInfo($this->lng->txt('ps_cdf_deleted_field'));
$this->editField();
}
Here is the call graph for this function:| ilCourseUserFieldsGUI::editField | ( | ) |
Edit field.
public
Definition at line 167 of file class.ilCourseUserFieldsGUI.php.
References $_GET, $_SESSION, $cdf, ilUtil::formCheckbox(), ilUtil::prepareFormOutput(), ilUtil::sendInfo(), and show().
Referenced by addNewValue(), deleteField(), and updateField().
{
$_SESSION['il_cdf_select_num_values'] = $_SESSION['il_cdf_select_num_values'] ? $_SESSION['il_cdf_select_num_values'] : 1;
if(!$_GET['field_id'])
{
ilUtil::sendInfo('No field given');
$this->show();
return false;
}
$cdf = new ilCourseDefinedFieldDefinition($this->obj_id,(int) $_GET['field_id']);
$name = isset($_POST['cmd']) ? ilUtil::prepareFormOutput($_POST['field_name'],true) : ilUtil::prepareFormOutput($cdf->getName());
$required = isset($_POST['cmd']) ? $_POST['required'] : $cdf->isRequired();
$this->ctrl->setParameter($this,'field_id',(int) $_GET['field_id']);
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.user_fields_edit_select_field.html','Modules/Course');
$this->tpl->setVariable('FORMACTION',$this->ctrl->getFormAction($this));
$this->tpl->setVariable('TXT_FIELD_NAME',$this->lng->txt('ps_name_field'));
$this->tpl->setVariable('FIELD_NAME_VALUE',$name);
$this->tpl->setVariable('TXT_REQUIRED',$this->lng->txt('required_field'));
$this->tpl->setVariable('BTN_ADD',$this->lng->txt('save'));
$this->tpl->setVariable('BTN_PREVIOUS',$this->lng->txt('cancel'));
$this->tpl->setVariable('REQUIRED',ilUtil::formCheckbox($required,'required',1));
// Old values
$i = 1;
foreach($cdf->getValues() as $key => $value)
{
$this->ctrl->setParameter($this,'del_field',$i - 1);
$this->tpl->setCurrentBlock('values');
$this->ctrl->setParameter($this,'del_field',$i - 1);
$this->tpl->setVariable('DELETE',$this->lng->txt('delete'));
$this->tpl->setVariable('LINK_DELETE',$this->ctrl->getLinkTarget($this,'deleteField'));
$this->tpl->setVariable('FIELD_NAME',ilUtil::prepareFormOutput($value));
$this->tpl->setVariable("TXT_VALUES",$this->lng->txt('ps_cdf_value').' '.($i++));
$this->tpl->parseCurrentBlock();
}
switch($cdf->getType())
{
case IL_CDF_TYPE_SELECT:
$this->tpl->setVariable('TXT_SELECT_TYPE',$this->lng->txt('ps_edit_select_field'));
$this->tpl->setVariable('BTN_NEW_VALUE',$this->lng->txt('ps_btn_add_value'));
// New values
for($j = 0; $j < $_SESSION['il_cdf_select_num_values'];$j++)
{
$this->tpl->setCurrentBlock('new_values');
$this->tpl->setVariable('COUNTER',$j);
$this->tpl->setVariable("TXT_NEW_VALUES",$this->lng->txt('ps_cdf_value').' '.($i + $j));
$this->tpl->setVariable("NEW_FIELD_NAME",$_POST['new_field_values'][$j]);
$this->tpl->parseCurrentBlock();
}
break;
case IL_CDF_TYPE_TEXT:
$this->tpl->setVariable('TXT_SELECT_TYPE',$this->lng->txt('ps_edit_text_field'));
break;
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilCourseUserFieldsGUI::executeCommand | ( | ) |
| ilCourseUserFieldsGUI::fieldSelection | ( | ) |
Field selection.
public
Definition at line 412 of file class.ilCourseUserFieldsGUI.php.
References $_SESSION, and ilUtil::formRadioButton().
{
// number of values defaults to 3
$_SESSION['il_cdf_select_num_values'] = 3;
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.user_fields_selection.html','Modules/Course');
$this->tpl->setVariable('FORMACTION',$this->ctrl->getFormAction($this));
$this->tpl->setVariable('TXT_SELECT_TYPE',$this->lng->txt('ps_cdf_add_field'));
$this->tpl->setVariable('FIELD_TYPE',$this->lng->txt('ps_field_type'));
$this->tpl->setVariable('TXT_TEXT',$this->lng->txt('ps_type_txt_long'));
$this->tpl->setVariable('TXT_SELECT',$this->lng->txt('ps_type_select_long'));
$this->tpl->setVariable('BTN_MORE',$this->lng->txt('btn_next'));
$this->tpl->setVariable('BTN_CANCEL',$this->lng->txt('cancel'));
$this->tpl->setVariable("TYPE_TEXT",ilUtil::formRadioButton(1,'field_type',IL_CDF_TYPE_TEXT));
$this->tpl->setVariable("TYPE_SELECT",ilUtil::formRadioButton(0,'field_type',IL_CDF_TYPE_SELECT));
}
Here is the call graph for this function:| ilCourseUserFieldsGUI::save | ( | ) |
Save.
public
Definition at line 391 of file class.ilCourseUserFieldsGUI.php.
References ilCourseAgreement::_deleteByObjId(), ilCourseDefinedFieldDefinition::_getFields(), ilUtil::sendInfo(), and show().
{
$fields = ilCourseDefinedFieldDefinition::_getFields($this->obj_id);
foreach($fields as $field_obj)
{
$field_obj->enableRequired((bool) isset($_POST['required'][$field_obj->getId()]));
$field_obj->update();
}
ilCourseAgreement::_deleteByObjId($this->obj_id);
ilUtil::sendInfo($this->lng->txt('settings_saved'));
$this->show();
return true;
}
Here is the call graph for this function:| ilCourseUserFieldsGUI::saveField | ( | ) |
Save New Field.
public
Definition at line 525 of file class.ilCourseUserFieldsGUI.php.
References $_REQUEST, $cdf, chooseDefinitions(), ilUtil::sendInfo(), show(), and ilUtil::stripSlashes().
{
$cdf = new ilCourseDefinedFieldDefinition($this->obj_id);
if(!strlen($_POST['field_name']))
{
ilUtil::sendInfo($this->lng->txt('ps_cdf_no_name_given'));
$this->chooseDefinitions();
return false;
}
if($_REQUEST['field_type'] == IL_CDF_TYPE_TEXT)
{
$cdf->setType(IL_CDF_TYPE_TEXT);
}
else
{
$cdf->setType(IL_CDF_TYPE_SELECT);
$values = $cdf->prepareValues($_POST['field_values']);
$cdf->setValues($values);
}
$cdf->setName(ilUtil::stripSlashes($_POST['field_name']));
$cdf->enableRequired((int) $_POST['required']);
$cdf->save();
ilUtil::sendInfo($this->lng->txt('ps_cdf_added_field'));
$this->show();
return true;
}
Here is the call graph for this function:| ilCourseUserFieldsGUI::show | ( | ) |
Show defined fields.
public
Definition at line 94 of file class.ilCourseUserFieldsGUI.php.
References $_SESSION, ilCourseDefinedFieldDefinition::_getFields(), ilCourseAgreement::_hasAgreementsByObjId(), ilUtil::formCheckbox(), ilUtil::getImagePath(), and ilUtil::switchColor().
Referenced by confirmDelete(), delete(), deleteField(), editField(), save(), saveField(), and updateField().
{
unset($_SESSION['il_cdf_delete']);
unset($_SESSION['il_cdf_select_num_values']);
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.user_fields_list.html','Modules/Course');
$this->tpl->setVariable('FORMACTION',$this->ctrl->getFormAction($this));
$this->tpl->setVariable('TABLE_TITLE',$this->lng->txt('ps_crs_user_fields'));
$this->tpl->setVariable('HEAD_NAME',$this->lng->txt('ps_cdf_name'));
$this->tpl->setVariable('HEAD_TYPE',$this->lng->txt('ps_cdf_type'));
$this->tpl->setVariable('HEAD_REQUIRED',$this->lng->txt('ps_cdf_required'));
$this->tpl->setVariable('ADD',$this->lng->txt('ps_cdf_add_field'));
$this->tpl->setVariable('LINK_ADD',$this->ctrl->getLinkTarget($this,'fieldSelection'));
$fields = ilCourseDefinedFieldDefinition::_getFields($this->obj_id);
if(!count($fields))
{
$this->tpl->setCurrentBlock('table_empty');
$this->tpl->setVariable('EMPTY_TXT',$this->lng->txt('ps_cdf_no_fields'));
$this->tpl->parseCurrentBlock();
}
if(ilCourseAgreement::_hasAgreementsByObjId($this->obj_id))
{
$this->tpl->setCurrentBlock('warning_modify');
$this->tpl->setVariable('TXT_WARNING',$this->lng->txt('ps_cdf_warning_modify'));
$this->tpl->parseCurrentBlock();
}
$counter = 0;
foreach($fields as $field_obj)
{
if($field_obj->getType() == IL_CDF_TYPE_SELECT or 1)
{
$this->tpl->setCurrentBlock('show_edit');
$this->ctrl->setParameter($this,'field_id',$field_obj->getId());
$this->tpl->setVariable('EDIT_LINK',$this->ctrl->getLinkTarget($this,'editField'));
$this->ctrl->clearParameters($this);
$this->tpl->setVariable('EDIT',$this->lng->txt('edit'));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock('table_content');
$this->tpl->setVariable('ROWCOL',ilUtil::switchColor($counter++,'tblrow1','tblrow2'));
$this->tpl->setVariable('CHECKBOX',ilUtil::formCheckbox(0,'field_id[]',$field_obj->getId()));
$this->tpl->setVariable('NAME',$field_obj->getName());
$this->tpl->setVariable('TYPE',$field_obj->getType() == IL_CDF_TYPE_SELECT ?
$this->lng->txt('ps_type_select') :
$this->lng->txt('ps_type_text'));
$this->tpl->setVariable('REQUIRED',ilUtil::formCheckbox((int) $field_obj->isRequired(),'required['.$field_obj->getId().']',1));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setVariable("DOWNRIGHT",ilUtil::getImagePath('arrow_downright.gif'));
$this->tpl->setVariable('BTN_DELETE',$this->lng->txt('delete'));
if(count($fields))
{
$this->tpl->setCurrentBlock('show_save');
$this->tpl->setVariable('BTN_SAVE',$this->lng->txt('save'));
$this->tpl->parseCurrentBlock();
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilCourseUserFieldsGUI::updateField | ( | ) |
Update Field.
public
Definition at line 271 of file class.ilCourseUserFieldsGUI.php.
References $_GET, $cdf, ilCourseAgreement::_deleteByObjId(), editField(), ilUtil::sendInfo(), show(), and ilUtil::stripSlashes().
{
if(!$_GET['field_id'])
{
ilUtil::sendInfo('No field given');
$this->show();
return false;
}
$cdf = new ilCourseDefinedFieldDefinition($this->obj_id,$_GET['field_id']);
if(!strlen($_POST['field_name']))
{
ilUtil::sendInfo($this->lng->txt('ps_cdf_no_name_given'));
$this->editField();
return false;
}
switch($cdf->getType())
{
case IL_CDF_TYPE_SELECT:
$values = $cdf->prepareValues($_POST['new_field_values']);
$cdf->appendValues($values);
break;
default:
break;
}
$cdf->setName(ilUtil::stripSlashes($_POST['field_name']));
$cdf->enableRequired((int) $_POST['required']);
$cdf->update();
// Finally reset member agreements
ilCourseAgreement::_deleteByObjId($this->obj_id);
ilUtil::sendInfo($this->lng->txt('settings_saved'));
$this->show();
return true;
}
Here is the call graph for this function:ilCourseUserFieldsGUI::$cdf [private] |
Definition at line 44 of file class.ilCourseUserFieldsGUI.php.
Referenced by deleteField(), editField(), saveField(), and updateField().
ilCourseUserFieldsGUI::$ctrl [private] |
Definition at line 39 of file class.ilCourseUserFieldsGUI.php.
ilCourseUserFieldsGUI::$lng [private] |
Definition at line 37 of file class.ilCourseUserFieldsGUI.php.
Referenced by __construct().
ilCourseUserFieldsGUI::$obj_id [private] |
Definition at line 42 of file class.ilCourseUserFieldsGUI.php.
ilCourseUserFieldsGUI::$tabs_gui [private] |
Definition at line 40 of file class.ilCourseUserFieldsGUI.php.
ilCourseUserFieldsGUI::$tpl [private] |
Definition at line 38 of file class.ilCourseUserFieldsGUI.php.
Referenced by __construct().
1.7.1