} foreach ($widgets[1] as $widget) { if (isset($widget['fieldType']) && count($widget['fieldType'])) { foreach ($widget['fieldType'] as $type) { array_push($wgByTypes[$type], $widget['name']); } } } //echo '<pre>'; print_r($widgets[1]); die(); $js = "\r\r\tvar name = \$('#name'),\r\tvalue = \$('#value'),\r\tallFields = \$([]).add(name).add(value),\r\ttips = \$('.validateTips');\r\t\r\tvar listWidgets = jQuery.parseJSON('" . str_replace("'", "\\'", CJavaScript::jsonEncode($widgets[0])) . "');\r\tvar widgets = jQuery.parseJSON('" . str_replace("'", "\\'", CJavaScript::jsonEncode($widgets[1])) . "');\r\tvar wgByType = jQuery.parseJSON('" . str_replace("'", "\\'", CJavaScript::jsonEncode($wgByTypes)) . "');\r\t\r\tvar fieldType = {\r\t\t\t'INTEGER':{\r\t\t\t\t'hide':['match','other_validator','widgetparams'],\r\t\t\t\t'val':{\r\t\t\t\t\t'field_size':10,\r\t\t\t\t\t'default':'0',\r\t\t\t\t\t'range':'',\r\t\t\t\t\t'widgetparams':''\r\t\t\t\t}\r\t\t\t},\r\t\t\t'VARCHAR':{\r\t\t\t\t'hide':['widgetparams'],\r\t\t\t\t'val':{\r\t\t\t\t\t'field_size':255,\r\t\t\t\t\t'default':'',\r\t\t\t\t\t'range':'',\r\t\t\t\t\t'widgetparams':''\r\t\t\t\t}\r\t\t\t},\r\t\t\t'TEXT':{\r\t\t\t\t'hide':['field_size','range','widgetparams'],\r\t\t\t\t'val':{\r\t\t\t\t\t'field_size':0,\r\t\t\t\t\t'default':'',\r\t\t\t\t\t'range':'',\r\t\t\t\t\t'widgetparams':''\r\t\t\t\t}\r\t\t\t},\r\t\t\t'DATE':{\r\t\t\t\t'hide':['field_size','field_size_min','match','range','widgetparams'],\r\t\t\t\t'val':{\r\t\t\t\t\t'field_size':0,\r\t\t\t\t\t'default':'0000-00-00',\r\t\t\t\t\t'range':'',\r\t\t\t\t\t'widgetparams':''\r\t\t\t\t}\r\t\t\t},\r\t\t\t'FLOAT':{\r\t\t\t\t'hide':['match','other_validator','widgetparams'],\r\t\t\t\t'val':{\r\t\t\t\t\t'field_size':'10,2',\r\t\t\t\t\t'default':'0.00',\r\t\t\t\t\t'range':'',\r\t\t\t\t\t'widgetparams':''\r\t\t\t\t}\r\t\t\t},\r\t\t\t'BOOL':{\r\t\t\t\t'hide':['field_size','field_size_min','match','widgetparams'],\r\t\t\t\t'val':{\r\t\t\t\t\t'field_size':0,\r\t\t\t\t\t'default':0,\r\t\t\t\t\t'range':'1==" . UserModule::t('Yes') . ";0==" . UserModule::t('No') . "',\r\t\t\t\t\t'widgetparams':''\r\t\t\t\t}\r\t\t\t},\r\t\t\t'BLOB':{\r\t\t\t\t'hide':['field_size','field_size_min','match','widgetparams'],\r\t\t\t\t'val':{\r\t\t\t\t\t'field_size':0,\r\t\t\t\t\t'default':'',\r\t\t\t\t\t'range':'',\r\t\t\t\t\t'widgetparams':''\r\t\t\t\t}\r\t\t\t},\r\t\t\t'BINARY':{\r\t\t\t\t'hide':['field_size','field_size_min','match','widgetparams'],\r\t\t\t\t'val':{\r\t\t\t\t\t'field_size':0,\r\t\t\t\t\t'default':'',\r\t\t\t\t\t'range':'',\r\t\t\t\t\t'widgetparams':''\r\t\t\t\t}\r\t\t\t}\r\t\t};\r\t\t\t\r\tfunction showWidgetList(type) {\r\t\t\$('div.widget select').empty();\r\t\t\$('div.widget select').append('<option value=\"\">" . UserModule::t('No') . "</option>');\r\t\tif (wgByType[type]) {\r\t\t\tfor (var k in wgByType[type]) {\r\t\t\t\t\$('div.widget select').append('<option value=\"'+wgByType[type][k]+'\">'+widgets[wgByType[type][k]]['label']+'</option>');\r\t\t\t}\r\t\t}\r\t}\r\t\t\r\tfunction setFields(type) {\r\t\tif (fieldType[type]) {\r\t\t\tif (" . (isset($_GET['id']) ? 0 : 1) . ") {\r\t\t\t\tshowWidgetList(type);\r\t\t\t\t\$('#widgetlist option:first').attr('selected', 'selected');\r\t\t\t}\r\t\t\t\r\t\t\t\$('div.row').addClass('toshow').removeClass('tohide');\r\t\t\tif (fieldType[type].hide.length) \$('div.'+fieldType[type].hide.join(', div.')).addClass('tohide').removeClass('toshow');\r\t\t\tif (\$('div.widget select').val()) {\r\t\t\t\t\$('div.widgetparams').removeClass('tohide');\r\t\t\t}\r\t\t\t\$('div.toshow').show(500);\r\t\t\t\$('div.tohide').hide(500);\r\t\t\t" . (!isset($_GET['id']) ? "\r\t\t\tfor (var k in fieldType[type].val) { \r\t\t\t\t\$('div.'+k+' input').val(fieldType[type].val[k]);\r\t\t\t}" : '') . "\r\t\t}\r\t}\r\t\r\tfunction isArray(obj) {\r\t\tif (obj.constructor.toString().indexOf('Array') == -1)\r\t\t\treturn false;\r\t\telse\r\t\t\treturn true;\r\t}\r\t\t\r\t\$('#dialog-form').dialog({\r\t\tautoOpen: false,\r\t\theight: 400,\r\t\twidth: 400,\r\t\tmodal: true,\r\t\tbuttons: {\r\t\t\t'" . UserModule::t('Save') . "': function() {\r\t\t\t\tvar wparam = {};\r\t\t\t\tvar fparam = {};\r\t\t\t\t\$('#dialog-form fieldset .wparam').each(function(){\r\t\t\t\t\tif (\$(this).val()) wparam[\$(this).attr('name')] = \$(this).val();\r\t\t\t\t});\r\t\t\t\t\r\t\t\t\tvar tab = \$('#tabs ul li.ui-tabs-selected').text();\r\t\t\t\tfparam[tab] = {};\r\t\t\t\t\$('#dialog-form fieldset .tab-'+tab).each(function(){\r\t\t\t\t\tif (\$(this).val()) fparam[tab][\$(this).attr('name')] = \$(this).val();\r\t\t\t\t});\r\t\t\t\t\r\t\t\t\tif (\$.JSON.encode(wparam)!='{}') \$('div.widgetparams input').val(\$.JSON.encode(wparam));\r\t\t\t\tif (\$.JSON.encode(fparam[tab])!='{}') \$('div.other_validator input').val(\$.JSON.encode(fparam)); \r\t\t\t\t\r\t\t\t\t\$(this).dialog('close');\r\t\t\t},\r\t\t\t'" . UserModule::t('Cancel') . "': function() {\r\t\t\t\t\$(this).dialog('close');\r\t\t\t}\r\t\t},\r\t\tclose: function() {\r\t\t}\r\t});\r\r\r\t\$('#widgetparams').focus(function() {\r\t\tvar widget = widgets[\$('#widgetlist').val()];\r\t\tvar html = '';\r\t\tvar wparam = (\$('div.widgetparams input').val())?\$.JSON.decode(\$('div.widgetparams input').val()):{};\r\t\tvar fparam = (\$('div.other_validator input').val())?\$.JSON.decode(\$('div.other_validator input').val()):{};\r\t\t\r\t\t// Class params\r\t\tfor (var k in widget.params) {\r\t\t\thtml += '<label for=\"name\">'+((widget.paramsLabels[k])?widget.paramsLabels[k]:k)+'</label>';\r\t\t\thtml += '<input type=\"text\" name=\"'+k+'\" id=\"widget_'+k+'\" class=\"text wparam ui-widget-content ui-corner-all\" value=\"'+((wparam[k])?wparam[k]:widget.params[k])+'\" />';\r\t\t}\r\t\t// Validator params\t\t\r\t\tif (widget.other_validator) {\r\t\t\tvar tabs = '';\r\t\t\tvar li = '';\r\t\t\tfor (var t in widget.other_validator) {\r\t\t\t\ttabs += '<div id=\"tab-'+t+'\" class=\"tab\">';\r\t\t\t\tli += '<li'+((fparam[t])?' class=\"ui-tabs-selected\"':'')+'><a href=\"#tab-'+t+'\">'+t+'</a></li>';\r\t\t\t\t\r\t\t\t\tfor (var k in widget.other_validator[t]) {\r\t\t\t\t\ttabs += '<label for=\"name\">'+((widget.paramsLabels[k])?widget.paramsLabels[k]:k)+'</label>';\r\t\t\t\t\tif (isArray(widget.other_validator[t][k])) {\r\t\t\t\t\t\ttabs += '<select type=\"text\" name=\"'+k+'\" id=\"filter_'+k+'\" class=\"text fparam ui-widget-content ui-corner-all tab-'+t+'\">';\r\t\t\t\t\t\tfor (var i in widget.other_validator[t][k]) {\r\t\t\t\t\t\t\ttabs += '<option value=\"'+widget.other_validator[t][k][i]+'\"'+((fparam[t]&&fparam[t][k])?' selected=\"selected\"':'')+'>'+widget.other_validator[t][k][i]+'</option>';\r\t\t\t\t\t\t}\r\t\t\t\t\t\ttabs += '</select>';\r\t\t\t\t\t} else {\r\t\t\t\t\t\ttabs += '<input type=\"text\" name=\"'+k+'\" id=\"filter_'+k+'\" class=\"text fparam ui-widget-content ui-corner-all tab-'+t+'\" value=\"'+((fparam[t]&&fparam[t][k])?fparam[t][k]:widget.other_validator[t][k])+'\" />';\r\t\t\t\t\t}\r\t\t\t\t}\r\t\t\t\ttabs += '</div>';\r\t\t\t}\r\t\t\thtml += '<div id=\"tabs\"><ul>'+li+'</ul>'+tabs+'</div>';\r\t\t}\r\t\t\r\t\t\$('#dialog-form fieldset').html(html);\r\t\t\r\t\t\$('#tabs').tabs();\r\t\t\r\t\t// Show form\r\t\t\$('#dialog-form').dialog('open');\r\t});\r\t\r\t\$('#field_type').change(function() {\r\t\tsetFields(\$(this).val());\r\t});\r\t\r\t\$('#widgetlist').change(function() {\r\t\tif (\$(this).val()) {\r\t\t\t\$('div.widgetparams').show(500);\r\t\t} else {\r\t\t\t\$('div.widgetparams').hide(500);\r\t\t}\r\t\t\r\t});\r\t\r\t// show all function \r\t\$('div.form p.note').append('<br/><a href=\"#\" id=\"showAll\">" . UserModule::t('Show all') . "</a>');\r \t\$('#showAll').click(function(){\r\t\t\$('div.row').show(500);\r\t\treturn false;\r\t});\r\t\r\t// init\r\tsetFields(\$('#field_type').val());\r\t\r\t"; $cs->registerScript(__CLASS__ . '#dialog', $js); } /** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $this->layout = '//layouts/column2'; $model = new ProfileField(); $scheme = get_class(Yii::app()->db->schema); if (isset($_POST['ProfileField'])) { $model->attributes = $_POST['ProfileField']; if ($model->validate()) { $sql = 'ALTER TABLE ' . Profile::model()->tableName() . ' ADD `' . $model->varname . '` '; $sql .= $this->fieldType($model->field_type); if ($model->field_type != 'TEXT' && $model->field_type != 'DATE' && $model->field_type != 'BOOL' && $model->field_type != 'BLOB' && $model->field_type != 'BINARY') { $sql .= '(' . $model->field_size . ')'; } $sql .= ' NOT NULL ';
public function actionCreate() { $model = new ProfileField(); if (isset($_POST['ProfileField'])) { $model->attributes = $_POST['ProfileField']; if ($model->validate()) { $sql = 'ALTER TABLE ' . Profile::tableName() . ' ADD `' . $model->varname . '` '; $sql .= $model->field_type; if ($model->field_type != 'TEXT' && $model->field_type != 'DATE') { $sql .= '(' . $model->field_size . ')'; } $sql .= ' NOT NULL '; if ($model->default) { $sql .= " DEFAULT '" . $model->default . "'"; } else { $sql .= $model->field_type == 'TEXT' || $model->field_type == 'VARCHAR' ? " DEFAULT ''" : " DEFAULT 0"; } $model->dbConnection->createCommand($sql)->execute(); $model->save(); $this->redirect(array('view', 'id' => $model->id)); } } $this->render('create', array('model' => $model)); }
$field->title = 'MySpace URL'; $field->sort_order = 800; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_googleplus"; $field->title = 'Google+ URL'; $field->sort_order = 900; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_twitter"; $field->title = 'Twitter URL'; $field->sort_order = 1000; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); }
/** * Setup some inital database settings. * * This will be done at the first step. */ private function setupInitialData() { // Seems database is already initialized if (HSetting::Get('paginationSize') == 10) { return; } // Rebuild Search HSearch::getInstance()->rebuild(); HSetting::Set('baseUrl', Yii::app()->getBaseUrl(true)); HSetting::Set('paginationSize', 10); HSetting::Set('displayNameFormat', '{profile.firstname} {profile.lastname}'); // Authentication HSetting::Set('authInternal', '1', 'authentication'); HSetting::Set('authLdap', '0', 'authentication'); HSetting::Set('needApproval', '0', 'authentication_internal'); HSetting::Set('anonymousRegistration', '1', 'authentication_internal'); HSetting::Set('internalUsersCanInvite', '1', 'authentication_internal'); // Mailing HSetting::Set('transportType', 'php', 'mailing'); HSetting::Set('systemEmailAddress', '*****@*****.**', 'mailing'); HSetting::Set('systemEmailName', 'My Social Network', 'mailing'); HSetting::Set('receive_email_activities', User::RECEIVE_EMAIL_DAILY_SUMMARY, 'mailing'); HSetting::Set('receive_email_notifications', User::RECEIVE_EMAIL_WHEN_OFFLINE, 'mailing'); // File HSetting::Set('maxFileSize', '1048576', 'file'); HSetting::Set('forbiddenExtensions', 'exe', 'file'); // Caching HSetting::Set('type', 'CFileCache', 'cache'); HSetting::Set('expireTime', '3600', 'cache'); HSetting::Set('installationId', md5(uniqid("", true)), 'admin'); // Design HSetting::Set('theme', "HumHub"); // Basic HSetting::Set('enable', 1, 'tour'); // Add Categories $cGeneral = new ProfileFieldCategory(); $cGeneral->title = "General"; $cGeneral->sort_order = 100; $cGeneral->visibility = 1; $cGeneral->is_system = true; $cGeneral->description = ''; $cGeneral->save(); $cCommunication = new ProfileFieldCategory(); $cCommunication->title = "Communication"; $cCommunication->sort_order = 200; $cCommunication->visibility = 1; $cCommunication->is_system = true; $cCommunication->description = ''; $cCommunication->save(); $cSocial = new ProfileFieldCategory(); $cSocial->title = "Social bookmarks"; $cSocial->sort_order = 300; $cSocial->visibility = 1; $cSocial->is_system = true; $cSocial->description = ''; $cSocial->save(); // Add Fields $field = new ProfileField(); $field->internal_name = "firstname"; $field->title = 'Firstname'; $field->sort_order = 100; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->ldap_attribute = 'givenName'; $field->is_system = true; $field->required = true; $field->show_at_registration = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "lastname"; $field->title = 'Lastname'; $field->sort_order = 200; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->ldap_attribute = 'sn'; $field->show_at_registration = true; $field->required = true; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "title"; $field->title = 'Title'; $field->sort_order = 300; $field->ldap_attribute = 'title'; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "gender"; $field->title = 'Gender'; $field->sort_order = 300; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = 'ProfileFieldTypeSelect'; $field->is_system = true; if ($field->save()) { $field->fieldType->options = "male=>Male\nfemale=>Female\ncustom=>Custom"; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "street"; $field->title = 'Street'; $field->sort_order = 400; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 150; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "zip"; $field->title = 'Zip'; $field->sort_order = 500; $field->profile_field_category_id = $cGeneral->id; $field->is_system = true; $field->field_type_class = 'ProfileFieldTypeText'; if ($field->save()) { $field->fieldType->maxLength = 10; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "city"; $field->title = 'City'; $field->sort_order = 600; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "country"; $field->title = 'Country'; $field->sort_order = 700; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "state"; $field->title = 'State'; $field->sort_order = 800; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "birthday"; $field->title = 'Birthday'; $field->sort_order = 900; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = 'ProfileFieldTypeBirthday'; $field->is_system = true; if ($field->save()) { $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "about"; $field->title = 'About'; $field->sort_order = 900; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = 'ProfileFieldTypeTextArea'; $field->is_system = true; if ($field->save()) { #$field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "phone_private"; $field->title = 'Phone Private'; $field->sort_order = 100; $field->profile_field_category_id = $cCommunication->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "phone_work"; $field->title = 'Phone Work'; $field->sort_order = 200; $field->profile_field_category_id = $cCommunication->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "mobile"; $field->title = 'Mobile'; $field->sort_order = 300; $field->profile_field_category_id = $cCommunication->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "fax"; $field->title = 'Fax'; $field->sort_order = 400; $field->profile_field_category_id = $cCommunication->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "im_skype"; $field->title = 'Skype Nickname'; $field->sort_order = 500; $field->profile_field_category_id = $cCommunication->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "im_msn"; $field->title = 'MSN'; $field->sort_order = 600; $field->profile_field_category_id = $cCommunication->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "im_icq"; $field->title = 'ICQ Number'; $field->sort_order = 700; $field->profile_field_category_id = $cCommunication->id; $field->field_type_class = 'ProfileFieldTypeNumber'; $field->is_system = true; if ($field->save()) { $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "im_xmpp"; $field->title = 'XMPP Jabber Address'; $field->sort_order = 800; $field->profile_field_category_id = $cCommunication->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'email'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url"; $field->title = 'Url'; $field->sort_order = 100; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_facebook"; $field->title = 'Facebook URL'; $field->sort_order = 200; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_linkedin"; $field->title = 'LinkedIn URL'; $field->sort_order = 300; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_xing"; $field->title = 'Xing URL'; $field->sort_order = 400; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_youtube"; $field->title = 'Youtube URL'; $field->sort_order = 500; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_vimeo"; $field->title = 'Vimeo URL'; $field->sort_order = 600; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_flickr"; $field->title = 'Flickr URL'; $field->sort_order = 700; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_myspace"; $field->title = 'MySpace URL'; $field->sort_order = 800; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_googleplus"; $field->title = 'Google+ URL'; $field->sort_order = 900; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_twitter"; $field->title = 'Twitter URL'; $field->sort_order = 1000; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = 'ProfileFieldTypeText'; $field->is_system = true; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $group = new Group(); $group->name = "Users"; $group->description = "Example Group by Installer"; $group->save(); }