public function make_default($rel, $rel_id, $fields_csv_str)
{
global $_mw_made_default_fields_register;
if (!defined('SKIP_CF_ADMIN_CHECK')) {
define('SKIP_CF_ADMIN_CHECK', 1);
}
// return false;
$id = $this->app->user_manager->is_admin();
if ($id == false) {
//return false;
}
$function_cache_id = false;
$args = func_get_args();
foreach ($args as $k => $v) {
$function_cache_id = $function_cache_id . serialize($k) . serialize($v);
}
$function_cache_id = 'fields_' . __FUNCTION__ . crc32($function_cache_id);
//$is_made = $this->app->option_manager->get($function_cache_id, 'make_default_custom_fields');
$make_field = array();
$make_field['rel_type'] = $rel;
$make_field['rel_id'] = $rel_id;
$is_made = $this->get_all($make_field);
if (isset($_mw_made_default_fields_register[$function_cache_id])) {
return;
}
if (is_array($is_made) and !empty($is_made)) {
return;
}
$_mw_made_default_fields_register[$function_cache_id] = true;
$table_custom_field = $this->table;
if (isset($rel)) {
$rel = $this->app->database_manager->escape_string($rel);
$rel = $this->app->database_manager->assoc_table_name($rel);
$rel_id = $this->app->database_manager->escape_string($rel_id);
if (strstr($fields_csv_str, ',')) {
$fields_csv_str = explode(',', $fields_csv_str);
$fields_csv_str = array_trim($fields_csv_str);
} else {
$fields_csv_str = array($fields_csv_str);
}
$pos = 0;
if (is_array($fields_csv_str)) {
foreach ($fields_csv_str as $field_type) {
$ex = array();
$ex['type'] = $field_type;
$ex['rel_type'] = $rel;
$ex['rel_id'] = $rel_id;
$ex = $this->get_all($ex);
if ($ex == false or is_array($ex) == false) {
$make_field = array();
$make_field['rel_type'] = $rel;
$make_field['rel_id'] = $rel_id;
$make_field['position'] = $pos;
$make_field['name'] = ucfirst($field_type);
$make_field['value'] = '';
$make_field['type'] = $field_type;
$this->save($make_field);
++$pos;
}
}
if ($pos > 0) {
$this->app->cache_manager->delete('custom_fields/global');
}
}
}
}