|
|
|
@ -20,7 +20,6 @@ class ExtraField extends Model |
|
|
|
'tms' |
|
|
|
'tms' |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public $ops = array( |
|
|
|
public $ops = array( |
|
|
|
'eq' => '=', //equal |
|
|
|
'eq' => '=', //equal |
|
|
|
'ne' => '<>', //not equal |
|
|
|
'ne' => '<>', //not equal |
|
|
|
@ -65,11 +64,18 @@ class ExtraField extends Model |
|
|
|
{ |
|
|
|
{ |
|
|
|
$this->type = $type; |
|
|
|
$this->type = $type; |
|
|
|
switch ($this->type) { |
|
|
|
switch ($this->type) { |
|
|
|
|
|
|
|
case 'calendar_event': |
|
|
|
|
|
|
|
$this->table = Database::get_main_table(TABLE_MAIN_CALENDAR_EVENT_FIELD); |
|
|
|
|
|
|
|
$this->table_field_options = Database::get_main_table(TABLE_MAIN_CALENDAR_EVENT_OPTIONS); |
|
|
|
|
|
|
|
$this->table_field_values = Database::get_main_table(TABLE_MAIN_COURSE_FIELD_VALUES); |
|
|
|
|
|
|
|
$this->handler_id = 'calendar_event_id'; |
|
|
|
|
|
|
|
$this->primaryKey = 'id'; |
|
|
|
|
|
|
|
break; |
|
|
|
case 'course': |
|
|
|
case 'course': |
|
|
|
$this->table_field_options = Database::get_main_table(TABLE_MAIN_COURSE_FIELD_OPTIONS); |
|
|
|
$this->table_field_options = Database::get_main_table(TABLE_MAIN_COURSE_FIELD_OPTIONS); |
|
|
|
$this->table_field_values = Database::get_main_table(TABLE_MAIN_COURSE_FIELD_VALUES); |
|
|
|
$this->table_field_values = Database::get_main_table(TABLE_MAIN_COURSE_FIELD_VALUES); |
|
|
|
|
|
|
|
|
|
|
|
//Used for the model |
|
|
|
// Used for the model |
|
|
|
$this->table = Database::get_main_table(TABLE_MAIN_COURSE_FIELD); |
|
|
|
$this->table = Database::get_main_table(TABLE_MAIN_COURSE_FIELD); |
|
|
|
$this->handler_id = 'course_code'; |
|
|
|
$this->handler_id = 'course_code'; |
|
|
|
$this->handlerEntityId = 'courseCode'; |
|
|
|
$this->handlerEntityId = 'courseCode'; |
|
|
|
@ -79,7 +85,7 @@ class ExtraField extends Model |
|
|
|
$this->table_field_options = Database::get_main_table(TABLE_MAIN_USER_FIELD_OPTIONS); |
|
|
|
$this->table_field_options = Database::get_main_table(TABLE_MAIN_USER_FIELD_OPTIONS); |
|
|
|
$this->table_field_values = Database::get_main_table(TABLE_MAIN_USER_FIELD_VALUES); |
|
|
|
$this->table_field_values = Database::get_main_table(TABLE_MAIN_USER_FIELD_VALUES); |
|
|
|
|
|
|
|
|
|
|
|
//Used for the model |
|
|
|
// Used for the model |
|
|
|
$this->table = Database::get_main_table(TABLE_MAIN_USER_FIELD); |
|
|
|
$this->table = Database::get_main_table(TABLE_MAIN_USER_FIELD); |
|
|
|
$this->handler_id = 'user_id'; |
|
|
|
$this->handler_id = 'user_id'; |
|
|
|
$this->handlerEntityId = 'userId'; |
|
|
|
$this->handlerEntityId = 'userId'; |
|
|
|
@ -89,7 +95,7 @@ class ExtraField extends Model |
|
|
|
//$this->table_field_options = Database::get_main_table(TABLE_MAIN_SESSION_FIELD_OPTIONS); |
|
|
|
//$this->table_field_options = Database::get_main_table(TABLE_MAIN_SESSION_FIELD_OPTIONS); |
|
|
|
$this->table_field_values = Database::get_main_table(TABLE_MAIN_SESSION_FIELD_VALUES); |
|
|
|
$this->table_field_values = Database::get_main_table(TABLE_MAIN_SESSION_FIELD_VALUES); |
|
|
|
|
|
|
|
|
|
|
|
//Used for the model |
|
|
|
// Used for the model |
|
|
|
$this->table = Database::get_main_table(TABLE_MAIN_SESSION_FIELD); |
|
|
|
$this->table = Database::get_main_table(TABLE_MAIN_SESSION_FIELD); |
|
|
|
$this->handler_id = 'session_id'; |
|
|
|
$this->handler_id = 'session_id'; |
|
|
|
$this->handlerEntityId = 'sessionId'; |
|
|
|
$this->handlerEntityId = 'sessionId'; |
|
|
|
@ -99,7 +105,7 @@ class ExtraField extends Model |
|
|
|
$this->table_field_options = Database::get_main_table(TABLE_MAIN_QUESTION_FIELD_OPTIONS); |
|
|
|
$this->table_field_options = Database::get_main_table(TABLE_MAIN_QUESTION_FIELD_OPTIONS); |
|
|
|
$this->table_field_values = Database::get_main_table(TABLE_MAIN_QUESTION_FIELD_VALUES); |
|
|
|
$this->table_field_values = Database::get_main_table(TABLE_MAIN_QUESTION_FIELD_VALUES); |
|
|
|
|
|
|
|
|
|
|
|
//Used for the model |
|
|
|
// Used for the model |
|
|
|
$this->table = Database::get_main_table(TABLE_MAIN_QUESTION_FIELD); |
|
|
|
$this->table = Database::get_main_table(TABLE_MAIN_QUESTION_FIELD); |
|
|
|
$this->handler_id = 'question_id'; |
|
|
|
$this->handler_id = 'question_id'; |
|
|
|
$this->handlerEntityId = 'questionId'; |
|
|
|
$this->handlerEntityId = 'questionId'; |
|
|
|
@ -124,14 +130,15 @@ class ExtraField extends Model |
|
|
|
/** |
|
|
|
/** |
|
|
|
* @return array |
|
|
|
* @return array |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
static function getValidExtraFieldTypes() |
|
|
|
public static function getValidExtraFieldTypes() |
|
|
|
{ |
|
|
|
{ |
|
|
|
return array( |
|
|
|
return array( |
|
|
|
'user', |
|
|
|
'user', |
|
|
|
'course', |
|
|
|
'course', |
|
|
|
'session', |
|
|
|
'session', |
|
|
|
'question', |
|
|
|
'question', |
|
|
|
'lp' |
|
|
|
'lp', |
|
|
|
|
|
|
|
'calendar_event' |
|
|
|
); |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -174,14 +181,16 @@ class ExtraField extends Model |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* @param $field_variable |
|
|
|
* @param string $field_variable |
|
|
|
|
|
|
|
* |
|
|
|
* @return array|bool |
|
|
|
* @return array|bool |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public function get_handler_field_info_by_field_variable($field_variable) |
|
|
|
public function get_handler_field_info_by_field_variable($field_variable) |
|
|
|
{ |
|
|
|
{ |
|
|
|
$field_variable = Database::escape_string($field_variable); |
|
|
|
$field_variable = Database::escape_string($field_variable); |
|
|
|
$sql_field = "SELECT * FROM {$this->table} WHERE field_variable = '$field_variable'"; |
|
|
|
$sql = "SELECT * FROM {$this->table} |
|
|
|
$result = Database::query($sql_field); |
|
|
|
WHERE field_variable = '$field_variable'"; |
|
|
|
|
|
|
|
$result = Database::query($sql); |
|
|
|
if (Database::num_rows($result)) { |
|
|
|
if (Database::num_rows($result)) { |
|
|
|
$r_field = Database::fetch_array($result, 'ASSOC'); |
|
|
|
$r_field = Database::fetch_array($result, 'ASSOC'); |
|
|
|
|
|
|
|
|
|
|
|
@ -210,11 +219,12 @@ class ExtraField extends Model |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* @param $handler |
|
|
|
* @param $handler |
|
|
|
|
|
|
|
* |
|
|
|
* @return array |
|
|
|
* @return array |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public static function get_extra_fields_by_handler($handler) |
|
|
|
public static function get_extra_fields_by_handler($handler) |
|
|
|
{ |
|
|
|
{ |
|
|
|
$types = array(); |
|
|
|
$types= array(); |
|
|
|
$types[self::FIELD_TYPE_TEXT] = get_lang('FieldTypeText'); |
|
|
|
$types[self::FIELD_TYPE_TEXT] = get_lang('FieldTypeText'); |
|
|
|
$types[self::FIELD_TYPE_TEXTAREA] = get_lang('FieldTypeTextarea'); |
|
|
|
$types[self::FIELD_TYPE_TEXTAREA] = get_lang('FieldTypeTextarea'); |
|
|
|
$types[self::FIELD_TYPE_RADIO] = get_lang('FieldTypeRadio'); |
|
|
|
$types[self::FIELD_TYPE_RADIO] = get_lang('FieldTypeRadio'); |
|
|
|
@ -292,7 +302,9 @@ class ExtraField extends Model |
|
|
|
|
|
|
|
|
|
|
|
if (!empty($fields) > 0) { |
|
|
|
if (!empty($fields) > 0) { |
|
|
|
foreach ($fields as $field) { |
|
|
|
foreach ($fields as $field) { |
|
|
|
$field_value = $field_values->get_values_by_handler_and_field_id($item_id, $field['id']); |
|
|
|
$field_value = $field_values->get_values_by_handler_and_field_id( |
|
|
|
|
|
|
|
$item_id, $field['id'] |
|
|
|
|
|
|
|
); |
|
|
|
if ($field_value) { |
|
|
|
if ($field_value) { |
|
|
|
$field_value = $field_value['field_value']; |
|
|
|
$field_value = $field_value['field_value']; |
|
|
|
|
|
|
|
|
|
|
|
@ -372,12 +384,17 @@ class ExtraField extends Model |
|
|
|
* Converts a string like this: |
|
|
|
* Converts a string like this: |
|
|
|
* France:Paris;Bretagne;Marseilles;Lyon|Belgique:Bruxelles;Namur;Liège;Bruges|Peru:Lima;Piura; |
|
|
|
* France:Paris;Bretagne;Marseilles;Lyon|Belgique:Bruxelles;Namur;Liège;Bruges|Peru:Lima;Piura; |
|
|
|
* into |
|
|
|
* into |
|
|
|
* array('France' => array('Paris', 'Bregtane', 'Marseilles'), 'Belgique' => array('Namur', 'Liège', etc |
|
|
|
* array( |
|
|
|
|
|
|
|
* 'France' => |
|
|
|
|
|
|
|
* array('Paris', 'Bregtane', 'Marseilles'), |
|
|
|
|
|
|
|
* 'Belgique' => |
|
|
|
|
|
|
|
* array('Namur', 'Liège') |
|
|
|
|
|
|
|
* ), etc |
|
|
|
* @param string $string |
|
|
|
* @param string $string |
|
|
|
* |
|
|
|
* |
|
|
|
* @return array |
|
|
|
* @return array |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
static function extra_field_double_select_convert_string_to_array($string) |
|
|
|
public static function extra_field_double_select_convert_string_to_array($string) |
|
|
|
{ |
|
|
|
{ |
|
|
|
$options = explode('|', $string); |
|
|
|
$options = explode('|', $string); |
|
|
|
$options_parsed = array(); |
|
|
|
$options_parsed = array(); |
|
|
|
@ -398,7 +415,7 @@ class ExtraField extends Model |
|
|
|
* @param array $options |
|
|
|
* @param array $options |
|
|
|
* @return array |
|
|
|
* @return array |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
static function extra_field_double_select_convert_array_to_ordered_array($options) |
|
|
|
public static function extra_field_double_select_convert_array_to_ordered_array($options) |
|
|
|
{ |
|
|
|
{ |
|
|
|
$options_parsed = array(); |
|
|
|
$options_parsed = array(); |
|
|
|
if (!empty($options)) { |
|
|
|
if (!empty($options)) { |
|
|
|
@ -419,7 +436,7 @@ class ExtraField extends Model |
|
|
|
* |
|
|
|
* |
|
|
|
* @return string |
|
|
|
* @return string |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
static function extra_field_double_select_convert_array_to_string($options) |
|
|
|
public static function extra_field_double_select_convert_array_to_string($options) |
|
|
|
{ |
|
|
|
{ |
|
|
|
$string = null; |
|
|
|
$string = null; |
|
|
|
$options_parsed = self::extra_field_double_select_convert_array_to_ordered_array($options); |
|
|
|
$options_parsed = self::extra_field_double_select_convert_array_to_ordered_array($options); |
|
|
|
@ -474,10 +491,10 @@ class ExtraField extends Model |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public function save($params, $show_query = false) |
|
|
|
public function save($params, $show_query = false) |
|
|
|
{ |
|
|
|
{ |
|
|
|
$session_field_info = self::get_handler_field_info_by_field_variable($params['field_variable']); |
|
|
|
$fieldInfo = self::get_handler_field_info_by_field_variable($params['field_variable']); |
|
|
|
$params = self::clean_parameters($params); |
|
|
|
$params = self::clean_parameters($params); |
|
|
|
if ($session_field_info) { |
|
|
|
if ($fieldInfo) { |
|
|
|
return $session_field_info['id']; |
|
|
|
return $fieldInfo['id']; |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
if (!isset($params['tms'])) { |
|
|
|
if (!isset($params['tms'])) { |
|
|
|
$params['tms'] = api_get_utc_datetime(); |
|
|
|
$params['tms'] = api_get_utc_datetime(); |
|
|
|
@ -495,6 +512,7 @@ class ExtraField extends Model |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* @param $params |
|
|
|
* @param $params |
|
|
|
|
|
|
|
* |
|
|
|
* @return bool|void |
|
|
|
* @return bool|void |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public function update($params) |
|
|
|
public function update($params) |
|
|
|
@ -510,6 +528,7 @@ class ExtraField extends Model |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* @param $id |
|
|
|
* @param $id |
|
|
|
|
|
|
|
* |
|
|
|
* @return bool|void |
|
|
|
* @return bool|void |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
public function delete($id) |
|
|
|
public function delete($id) |
|
|
|
|