Adding calendar event extra fields see BT#7802

1.9.x
Julio Montoya 11 years ago
parent 49f35deea4
commit dc784cfe99
  1. 70
      main/admin/extra_fields.php
  2. 113
      main/cron/import_csv.php
  3. 6
      main/inc/lib/database.constants.inc.php
  4. 145
      main/inc/lib/extra_field.lib.php
  5. 45
      main/inc/lib/extra_field_value.lib.php

@ -118,16 +118,17 @@ switch ($action) {
// The validation or display
if ($form->validate()) {
//if ($check) {
$values = $form->exportValues();
$res = $obj->save($values);
if ($res) {
Display::display_confirmation_message(get_lang('ItemAdded'));
}
$values = $form->exportValues();
$res = $obj->save($values);
if ($res) {
Display::display_confirmation_message(get_lang('ItemAdded'));
}
//}
$obj->display();
} else {
echo '<div class="actions">';
echo '<a href="'.api_get_self().'?type='.$obj->type.'">'.Display::return_icon('back.png',get_lang('Back'),'',ICON_SIZE_MEDIUM).'</a>';
echo '<a href="'.api_get_self().'?type='.$obj->type.'">'.
Display::return_icon('back.png',get_lang('Back'),'',ICON_SIZE_MEDIUM).'</a>';
echo '</div>';
$form->addElement('hidden', 'sec_token');
$form->setConstants(array('sec_token' => $token));
@ -142,14 +143,15 @@ switch ($action) {
// The validation or display
if ($form->validate()) {
//if ($check) {
$values = $form->exportValues();
$res = $obj->update($values);
Display::display_confirmation_message(sprintf(get_lang('ItemUpdated'), $values['field_variable']), false);
$values = $form->exportValues();
$res = $obj->update($values);
Display::display_confirmation_message(sprintf(get_lang('ItemUpdated'), $values['field_variable']), false);
//}
$obj->display();
} else {
echo '<div class="actions">';
echo '<a href="'.api_get_self().'?type='.$obj->type.'">'.Display::return_icon('back.png',get_lang('Back'),'',ICON_SIZE_MEDIUM).'</a>';
echo '<a href="'.api_get_self().'?type='.$obj->type.'">'.
Display::return_icon('back.png',get_lang('Back'),'',ICON_SIZE_MEDIUM).'</a>';
echo '</div>';
$form->addElement('hidden', 'sec_token');
$form->setConstants(array('sec_token' => $token));
@ -159,10 +161,10 @@ switch ($action) {
case 'delete':
// Action handling: delete
//if ($check) {
$res = $obj->delete($_GET['id']);
if ($res) {
Display::display_confirmation_message(get_lang('ItemDeleted'));
}
$res = $obj->delete($_GET['id']);
if ($res) {
Display::display_confirmation_message(get_lang('ItemDeleted'));
}
//}
$obj->display();
break;
@ -215,4 +217,44 @@ ALTER TABLE lp_field_values ADD INDEX (lp_id, field_id);
CREATE TABLE IF NOT EXISTS calendar_event_field(
id INT NOT NULL auto_increment,
field_type int NOT NULL DEFAULT 1,
field_variable varchar(64) NOT NULL,
field_display_text varchar(64),
field_default_value text,
field_order int,
field_visible tinyint default 0,
field_changeable tinyint default 0,
field_filter tinyint default 0,
tms DATETIME NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY(id)
);
DROP TABLE IF EXISTS calendar_event_options;
CREATE TABLE IF NOT EXISTS calendar_event_options (
id int NOT NULL auto_increment,
field_id int NOT NULL,
option_value text,
option_display_text varchar(64),
option_order int,
tms DATETIME NOT NULL default '0000-00-00 00:00:00',
priority VARCHAR(255),
priority_message VARCHAR(255),
PRIMARY KEY (id)
);
DROP TABLE IF EXISTS calendar_event_values;
CREATE TABLE IF NOT EXISTS calendar_event_values(
id bigint NOT NULL auto_increment,
calendar_event_id int unsigned NOT NULL,
field_id int NOT NULL,
field_value text,
comment VARCHAR(100) default '',
tms DATETIME NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY(id)
);
*/

@ -28,6 +28,7 @@ class ImportCsv
'session' => 'external_session_id',
'course' => 'external_course_id',
'user' => 'external_user_id',
'calendar_event' => 'external_calendar_event_id'
);
public $defaultAdminId = 1;
public $defaultSessionVisibility = 1;
@ -199,18 +200,28 @@ class ImportCsv
'External user id',
null
);
// Create course extra field: extra_external_course_id
CourseManager::create_course_extra_field(
$this->extraFieldIdNameList['course'],
1,
'External course id'
);
// Create session extra field extra_external_session_id
SessionManager::create_session_extra_field(
$this->extraFieldIdNameList['session'],
1,
'External session id'
);
// Create calendar_event extra field extra_external_session_id
$extraField = new ExtraField('calendar_event');
$extraField->save(array(
'field_type' => ExtraField::FIELD_TYPE_TEXT,
'field_variable' => $this->extraFieldIdNameList['calendar_event'],
'field_display_text' => 'External calendar event id'
));
}
/**
@ -625,7 +636,7 @@ class ImportCsv
/**
* @param string $file
* @param bool $moveFile
* @param bool $moveFile
*
* @return int
*/
@ -719,7 +730,8 @@ class ImportCsv
'title' => $title,
'sender_id' => $teacherId,
'course_id' => $courseInfo['real_id'],
'session_id' => $sessionId
'session_id' => $sessionId,
$this->extraFieldIdNameList['calendar_event'] => $row['external_calendar_itemID']
);
}
}
@ -732,38 +744,87 @@ class ImportCsv
return 0;
}
if ($errorFound == false) {
$this->logger->addInfo(
"Ready to insert events"
);
$content = null;
$agenda = new Agenda();
$extraFieldValue = new ExtraFieldValue('calendar_event');
$extraFieldName = $this->extraFieldIdNameList['calendar_event'];
$externalEventId = null;
$extraField = new ExtraField('calendar_event');
$extraFieldInfo = $extraField->get_handler_field_info_by_field_variable($extraFieldName);
if (empty($extraFieldInfo)) {
$this->logger->addInfo(
"Ready to insert events"
"No calendar event extra field created: $extraFieldName"
);
$content = null;
$agenda = new Agenda();
foreach ($eventsToCreate as $event) {
$courseInfo = api_get_course_info_by_id($event['course_id']);
$agenda->set_course($courseInfo);
$agenda->setType('course');
$agenda->setSessionId($event['session_id']);
$agenda->setSenderId($event['sender_id']);
$eventId = $agenda->add_event(
$event['start'],
$event['end'],
false,
$event['title'],
$content,
array('everyone'), // send to
false //$addAsAnnouncement = false
return 0;
}
foreach ($eventsToCreate as $event) {
if (!isset($event[$extraFieldName])) {
$this->logger->addInfo(
"No external_calendar_itemID found. Skipping ..."
);
continue;
} else {
$externalEventId = $event[$extraFieldName];
$item = $extraFieldValue->get_item_id_from_field_variable_and_field_value(
$extraFieldName,
$externalEventId
);
if (!empty($item) || empty($externalEventId)) {
$this->logger->addInfo(
"Event #$externalEventId was already added . Skipping ..."
);
continue;
}
}
$courseInfo = api_get_course_info_by_id($event['course_id']);
$agenda->set_course($courseInfo);
$agenda->setType('course');
$agenda->setSessionId($event['session_id']);
$agenda->setSenderId($event['sender_id']);
if (empty($courseInfo)) {
$this->logger->addInfo(
"No course found for added: #".$event['course_id']." Skipping ..."
);
continue;
}
if (empty($event['sender_id'])) {
$this->logger->addInfo(
"Event added: #$eventId"
"No sender found: #".$event['sender_id']." Skipping ..."
);
continue;
}
} else {
echo 'There was an error check the logs in '.api_get_path(SYS_ARCHIVE_PATH).'import_csv.log'."\n";
return 0;
$eventId = $agenda->add_event(
$event['start'],
$event['end'],
false,
$event['title'],
$content,
array('everyone'), // send to
false //$addAsAnnouncement = false
);
$extraFieldValue->save(array(
'field_value' => $externalEventId,
'field_id' => $extraFieldInfo['id']
));
$this->logger->addInfo(
"Event added: #$eventId"
);
}
}
@ -1237,6 +1298,8 @@ $logger->pushHandler(new RotatingFileHandler('import_csv', 5, $minLevel));
$cronImportCSVConditions = isset($_configuration['cron_import_csv_conditions']) ? $_configuration['cron_import_csv_conditions'] : null;
echo 'To check error in '.api_get_path(SYS_ARCHIVE_PATH).'import_csv.log'."\n";
$import = new ImportCsv($logger, $cronImportCSVConditions);
if (isset($_configuration['default_admin_user_id_for_cron'])) {

@ -57,7 +57,7 @@ define('TABLE_MAIN_GRADEBOOK_LINK', 'gradebook_link');
define('TABLE_MAIN_GRADEBOOK_SCORE_DISPLAY','gradebook_score_display');
define('TABLE_MAIN_GRADEBOOK_CERTIFICATE', 'gradebook_certificate');
//Profiling
// Profiling
define('TABLE_MAIN_USER_FIELD', 'user_field');
define('TABLE_MAIN_USER_FIELD_OPTIONS', 'user_field_options');
define('TABLE_MAIN_USER_FIELD_VALUES', 'user_field_values');
@ -66,6 +66,10 @@ define('TABLE_MAIN_LP_FIELD', 'lp_field');
define('TABLE_MAIN_LP_FIELD_OPTIONS', 'lp_field_options');
define('TABLE_MAIN_LP_FIELD_VALUES', 'lp_field_values');
define('TABLE_MAIN_CALENDAR_EVENT_FIELD', 'calendar_event_field');
define('TABLE_MAIN_CALENDAR_EVENT_OPTIONS', 'calendar_event_options');
define('TABLE_MAIN_CALENDAR_EVENT_VALUES', 'calendar_event_values');
//User tags
define('TABLE_MAIN_TAG', 'tag');
define('TABLE_MAIN_USER_REL_TAG', 'user_rel_tag');

@ -20,7 +20,6 @@ class ExtraField extends Model
'tms'
);
public $ops = array(
'eq' => '=', //equal
'ne' => '<>', //not equal
@ -38,20 +37,20 @@ class ExtraField extends Model
'nc' => 'NOT LIKE' //doesn't contain
);
const FIELD_TYPE_TEXT = 1;
const FIELD_TYPE_TEXTAREA = 2;
const FIELD_TYPE_RADIO = 3;
const FIELD_TYPE_SELECT = 4;
const FIELD_TYPE_TEXT = 1;
const FIELD_TYPE_TEXTAREA = 2;
const FIELD_TYPE_RADIO = 3;
const FIELD_TYPE_SELECT = 4;
const FIELD_TYPE_SELECT_MULTIPLE = 5;
const FIELD_TYPE_DATE = 6;
const FIELD_TYPE_DATETIME = 7;
const FIELD_TYPE_DOUBLE_SELECT = 8;
const FIELD_TYPE_DIVIDER = 9;
const FIELD_TYPE_TAG = 10;
const FIELD_TYPE_TIMEZONE = 11;
const FIELD_TYPE_SOCIAL_PROFILE = 12;
const FIELD_TYPE_CHECKBOX = 13;
const FIELD_TYPE_MOBILE_PHONE_NUMBER = 14;
const FIELD_TYPE_DATE = 6;
const FIELD_TYPE_DATETIME = 7;
const FIELD_TYPE_DOUBLE_SELECT = 8;
const FIELD_TYPE_DIVIDER = 9;
const FIELD_TYPE_TAG = 10;
const FIELD_TYPE_TIMEZONE = 11;
const FIELD_TYPE_SOCIAL_PROFILE = 12;
const FIELD_TYPE_CHECKBOX = 13;
const FIELD_TYPE_MOBILE_PHONE_NUMBER = 14;
public $type = 'user'; //or session or course
public $handler_id = 'user_id';
@ -65,21 +64,28 @@ class ExtraField extends Model
{
$this->type = $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':
$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);
//Used for the model
$this->table = Database::get_main_table(TABLE_MAIN_COURSE_FIELD);
// Used for the model
$this->table = Database::get_main_table(TABLE_MAIN_COURSE_FIELD);
$this->handler_id = 'course_code';
$this->handlerEntityId = 'courseCode';
$this->primaryKey = 'id';
break;
case 'user':
$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->handler_id = 'user_id';
$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_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->handler_id = 'session_id';
$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_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->handler_id = 'question_id';
$this->handlerEntityId = 'questionId';
@ -124,14 +130,15 @@ class ExtraField extends Model
/**
* @return array
*/
static function getValidExtraFieldTypes()
public static function getValidExtraFieldTypes()
{
return array(
'user',
'course',
'session',
'question',
'lp'
'lp',
'calendar_event'
);
}
@ -174,14 +181,16 @@ class ExtraField extends Model
}
/**
* @param $field_variable
* @param string $field_variable
*
* @return array|bool
*/
public function get_handler_field_info_by_field_variable($field_variable)
{
$field_variable = Database::escape_string($field_variable);
$sql_field = "SELECT * FROM {$this->table} WHERE field_variable = '$field_variable'";
$result = Database::query($sql_field);
$sql = "SELECT * FROM {$this->table}
WHERE field_variable = '$field_variable'";
$result = Database::query($sql);
if (Database::num_rows($result)) {
$r_field = Database::fetch_array($result, 'ASSOC');
@ -210,23 +219,24 @@ class ExtraField extends Model
/**
* @param $handler
*
* @return array
*/
public static function get_extra_fields_by_handler($handler)
{
$types = array();
$types[self::FIELD_TYPE_TEXT] = get_lang('FieldTypeText');
$types[self::FIELD_TYPE_TEXTAREA] = get_lang('FieldTypeTextarea');
$types[self::FIELD_TYPE_RADIO] = get_lang('FieldTypeRadio');
$types[self::FIELD_TYPE_SELECT] = get_lang('FieldTypeSelect');
$types= array();
$types[self::FIELD_TYPE_TEXT] = get_lang('FieldTypeText');
$types[self::FIELD_TYPE_TEXTAREA] = get_lang('FieldTypeTextarea');
$types[self::FIELD_TYPE_RADIO] = get_lang('FieldTypeRadio');
$types[self::FIELD_TYPE_SELECT] = get_lang('FieldTypeSelect');
$types[self::FIELD_TYPE_SELECT_MULTIPLE] = get_lang('FieldTypeSelectMultiple');
$types[self::FIELD_TYPE_DATE] = get_lang('FieldTypeDate');
$types[self::FIELD_TYPE_DATETIME] = get_lang('FieldTypeDatetime');
$types[self::FIELD_TYPE_DOUBLE_SELECT] = get_lang('FieldTypeDoubleSelect');
$types[self::FIELD_TYPE_DIVIDER] = get_lang('FieldTypeDivider');
$types[self::FIELD_TYPE_TAG] = get_lang('FieldTypeTag');
$types[self::FIELD_TYPE_TIMEZONE] = get_lang('FieldTypeTimezone');
$types[self::FIELD_TYPE_SOCIAL_PROFILE] = get_lang('FieldTypeSocialProfile');
$types[self::FIELD_TYPE_DATE] = get_lang('FieldTypeDate');
$types[self::FIELD_TYPE_DATETIME] = get_lang('FieldTypeDatetime');
$types[self::FIELD_TYPE_DOUBLE_SELECT] = get_lang('FieldTypeDoubleSelect');
$types[self::FIELD_TYPE_DIVIDER] = get_lang('FieldTypeDivider');
$types[self::FIELD_TYPE_TAG] = get_lang('FieldTypeTag');
$types[self::FIELD_TYPE_TIMEZONE] = get_lang('FieldTypeTimezone');
$types[self::FIELD_TYPE_SOCIAL_PROFILE] = get_lang('FieldTypeSocialProfile');
$types[self::FIELD_TYPE_MOBILE_PHONE_NUMBER] = get_lang('FieldTypeMobilePhoneNumber');
switch ($handler) {
@ -292,7 +302,9 @@ class ExtraField extends Model
if (!empty($fields) > 0) {
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) {
$field_value = $field_value['field_value'];
@ -334,7 +346,7 @@ class ExtraField extends Model
public function get_all_extra_field_by_type($field_type)
{
// all the information of the field
$sql = "SELECT * FROM {$this->table}
$sql = "SELECT * FROM {$this->table}
WHERE field_type = '".Database::escape_string($field_type)."'";
$result = Database::query($sql);
$return = array();
@ -372,12 +384,17 @@ class ExtraField extends Model
* Converts a string like this:
* France:Paris;Bretagne;Marseilles;Lyon|Belgique:Bruxelles;Namur;Liège;Bruges|Peru:Lima;Piura;
* 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
*
* @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_parsed = array();
@ -398,7 +415,7 @@ class ExtraField extends Model
* @param array $options
* @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();
if (!empty($options)) {
@ -419,7 +436,7 @@ class ExtraField extends Model
*
* @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;
$options_parsed = self::extra_field_double_select_convert_array_to_ordered_array($options);
@ -459,7 +476,7 @@ class ExtraField extends Model
}
if (!isset($params['field_order'])) {
$max_order = self::get_max_field_order();
$max_order = self::get_max_field_order();
$params['field_order'] = $max_order;
}
@ -468,16 +485,16 @@ class ExtraField extends Model
/**
* @param array $params
* @param bool $show_query
* @param bool $show_query
*
* @return bool
*/
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);
if ($session_field_info) {
return $session_field_info['id'];
if ($fieldInfo) {
return $fieldInfo['id'];
} else {
if (!isset($params['tms'])) {
$params['tms'] = api_get_utc_datetime();
@ -495,6 +512,7 @@ class ExtraField extends Model
/**
* @param $params
*
* @return bool|void
*/
public function update($params)
@ -510,6 +528,7 @@ class ExtraField extends Model
/**
* @param $id
*
* @return bool|void
*/
public function delete($id)
@ -699,7 +718,7 @@ class ExtraField extends Model
global $app;
$optionsExists = $app['orm.em']->getRepository('ChamiloLMS\Entity\ExtraFieldOptionRelFieldOption')->
findOneBy(array('fieldId' => $field_details['id']));
findOneBy(array('fieldId' => $field_details['id']));
if ($optionsExists) {
if (isset($userInfo['status']) && !empty($userInfo['status'])) {
@ -1372,20 +1391,20 @@ EOF;
//With this function we can add actions to the jgrid (edit, delete, etc)
return 'function action_formatter(cellvalue, options, rowObject) {
return \'<a href="?action=edit&type='.$this->type.'&id=\'+options.rowId+\'">'.Display::return_icon(
'edit.png',
get_lang('Edit'),
'',
ICON_SIZE_SMALL
).'</a>'.
'&nbsp;<a onclick="javascript:if(!confirm('."\'".addslashes(
api_htmlentities(get_lang("ConfirmYourChoice"), ENT_QUOTES)
)."\'".')) return false;" href="?sec_token='.$token.'&type='.$this->type.'&action=delete&id=\'+options.rowId+\'">'.Display::return_icon(
'delete.png',
get_lang('Delete'),
'',
ICON_SIZE_SMALL
).'</a>'.
'\';
'edit.png',
get_lang('Edit'),
'',
ICON_SIZE_SMALL
).'</a>'.
'&nbsp;<a onclick="javascript:if(!confirm('."\'".addslashes(
api_htmlentities(get_lang("ConfirmYourChoice"), ENT_QUOTES)
)."\'".')) return false;" href="?sec_token='.$token.'&type='.$this->type.'&action=delete&id=\'+options.rowId+\'">'.Display::return_icon(
'delete.png',
get_lang('Delete'),
'',
ICON_SIZE_SMALL
).'</a>'.
'\';
}';
}

@ -18,7 +18,8 @@ class ExtraFieldValue extends Model
/**
* Formats the necessary elements for the given datatype
* @param string The type of data to which this extra field applies (user, course, session, ...)
* @param string $type The type of data to which this extra field
* applies (user, course, session, ...)
* @return void (or false if unmanaged datatype)
* @assert (-1) === false
*/
@ -29,6 +30,12 @@ class ExtraFieldValue extends Model
$this->handler_id = $extra_field->handler_id;
switch ($this->type) {
case 'calendar_event':
$this->table = Database::get_main_table(TABLE_MAIN_CALENDAR_EVENT_FIELD);
$this->table_field_values = Database::get_main_table(TABLE_MAIN_CALENDAR_EVENT_FIELD);
$this->table_field_values = Database::get_main_table(TABLE_MAIN_COURSE_FIELD_VALUES);
$this->author_id = 'user_id';
break;
case 'course':
$this->table = Database::get_main_table(TABLE_MAIN_COURSE_FIELD_VALUES);
$this->table_handler_field = Database::get_main_table(TABLE_MAIN_COURSE_FIELD);
@ -168,8 +175,8 @@ class ExtraFieldValue extends Model
/**
* Save values in the *_field_values table
* @param array Structured array with the values to save
* @param boolean Whether to show the insert query (passed to the parent save() method)
* @param array $params Structured array with the values to save
* @param boolean $show_query Whether to show the insert query (passed to the parent save() method)
* @result mixed The result sent from the parent method
* @assert (array()) === false
*/
@ -198,22 +205,22 @@ class ExtraFieldValue extends Model
case ExtraField::FIELD_TYPE_SELECT:
case ExtraField::FIELD_TYPE_SELECT_MULTIPLE:
//$field_options = $session_field_option->get_field_options_by_field($params['field_id']);
//$params['field_value'] = split(';', $value_to_insert);
/*
if ($field_options) {
$check = false;
foreach ($field_options as $option) {
if (in_array($option['option_value'], $values)) {
$check = true;
break;
//$params['field_value'] = split(';', $value_to_insert);
/*
if ($field_options) {
$check = false;
foreach ($field_options as $option) {
if (in_array($option['option_value'], $values)) {
$check = true;
break;
}
}
if (!$check) {
return false; //option value not found
}
}
if (!$check) {
return false; //option value not found
}
} else {
return false; //enumerated type but no option found
}*/
} else {
return false; //enumerated type but no option found
}*/
break;
case ExtraField::FIELD_TYPE_TEXT:
case ExtraField::FIELD_TYPE_TEXTAREA:
@ -222,7 +229,7 @@ class ExtraFieldValue extends Model
if (is_array($value)) {
if (isset($value['extra_'.$extra_field_info['field_variable']]) &&
isset($value['extra_'.$extra_field_info['field_variable'].'_second'])
) {
) {
$value_to_insert = $value['extra_'.$extra_field_info['field_variable']].'::'.$value['extra_'.$extra_field_info['field_variable'].'_second'];
} else {
$value_to_insert = null;

Loading…
Cancel
Save