%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/installer/libs/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/installer/libs/InitialData.php |
<?php /** * @link https://www.humhub.org/ * @copyright Copyright (c) 2016 HumHub GmbH & Co. KG * @license https://www.humhub.com/licences */ namespace humhub\modules\installer\libs; use Yii; use yii\base\Exception; use humhub\modules\user\models\ProfileFieldCategory; use humhub\modules\user\models\ProfileField; use humhub\modules\user\models\Group; /** * InitialData * * @author luke */ class InitialData { public static function bootstrap() { // Seems database is already initialized if (Yii::$app->settings->get('paginationSize') == 10) { return; } Yii::$app->settings->set('baseUrl', \yii\helpers\BaseUrl::base(true)); Yii::$app->settings->set('paginationSize', 10); Yii::$app->settings->set('displayNameFormat', '{profile.firstname} {profile.lastname}'); Yii::$app->settings->set('horImageScrollOnMobile', true); // Avoid immediate cron run after installation Yii::$app->settings->set('cronLastDailyRun', time()); // Authentication Yii::$app->getModule('user')->settings->set('auth.needApproval', '0'); Yii::$app->getModule('user')->settings->set('auth.anonymousRegistration', '1'); Yii::$app->getModule('user')->settings->set('auth.internalUsersCanInvite', '1'); Yii::$app->getModule('user')->settings->set('auth.showCaptureInRegisterForm', '1'); // Mailing Yii::$app->settings->set('mailer.transportType', 'php'); Yii::$app->settings->set('mailer.systemEmailAddress', 'social@example.com'); Yii::$app->settings->set('mailer.systemEmailName', 'My Social Network'); Yii::$app->getModule('activity')->settings->set('mailSummaryInterval', \humhub\modules\activity\components\MailSummary::INTERVAL_DAILY); // File Yii::$app->getModule('file')->settings->set('maxFileSize', '1048576' * 5); Yii::$app->getModule('file')->settings->set('excludeMediaFilesPreview', '1'); // Caching Yii::$app->settings->set('cache.class', 'yii\caching\FileCache'); Yii::$app->settings->set('cache.expireTime', '3600'); Yii::$app->getModule('admin')->settings->set('installationId', md5(uniqid("", true))); // Design Yii::$app->getModule('space')->settings->set('spaceOrder', 0); // Basic Yii::$app->getModule('tour')->settings->set('enable', 1); Yii::$app->settings->set('defaultLanguage', Yii::$app->language); // Notification Yii::$app->getModule('notification')->settings->set('enable_html5_desktop_notifications', 0); // Avoid warning direct after installation Yii::$app->settings->set('cronLastRun', time()); // Add Categories $cGeneral = new ProfileFieldCategory; $cGeneral->title = "General"; $cGeneral->sort_order = 100; $cGeneral->visibility = 1; $cGeneral->is_system = 1; $cGeneral->description = ''; if (!$cGeneral->save()) { throw new Exception(print_r($cGeneral->getErrors(), true)); } $cCommunication = new ProfileFieldCategory; $cCommunication->title = "Communication"; $cCommunication->sort_order = 200; $cCommunication->visibility = 1; $cCommunication->is_system = 1; $cCommunication->description = ''; $cCommunication->save(); $cSocial = new ProfileFieldCategory; $cSocial->title = "Social bookmarks"; $cSocial->sort_order = 300; $cSocial->visibility = 1; $cSocial->is_system = 1; $cSocial->description = ''; $cSocial->save(); // Add Fields $field = new ProfileField(); $field->internal_name = "firstname"; $field->title = 'First name'; $field->sort_order = 100; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = \humhub\modules\user\models\fieldtype\Text::class; $field->ldap_attribute = 'givenName'; $field->is_system = 1; $field->required = 1; $field->show_at_registration = 1; if ($field->save()) { $field->fieldType->maxLength = 20; $field->fieldType->save(); } else { throw new Exception(print_r($field->getErrors(), true)); } $field = new ProfileField(); $field->internal_name = "lastname"; $field->title = 'Last name'; $field->sort_order = 200; $field->profile_field_category_id = $cGeneral->id; $field->field_type_class = \humhub\modules\user\models\fieldtype\Text::class; $field->ldap_attribute = 'sn'; $field->show_at_registration = 1; $field->required = 1; $field->is_system = 1; if ($field->save()) { $field->fieldType->maxLength = 30; $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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; if ($field->save()) { $field->fieldType->maxLength = 50; $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 = \humhub\modules\user\models\fieldtype\Select::class; $field->is_system = 1; if ($field->save()) { $field->fieldType->options = "male=>Male\nfemale=>Female\ndiverse=>Diverse"; $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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = 1; $field->field_type_class = \humhub\modules\user\models\fieldtype\Text::class; 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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\CountrySelect::class; $field->is_system = 1; if ($field->save()) { $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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\Birthday::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\TextArea::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; if ($field->save()) { $field->fieldType->maxLength = 100; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "email_virtual"; $field->title = 'E-Mail'; $field->sort_order = 350; $field->visible = 0; $field->profile_field_category_id = $cCommunication->id; $field->field_type_class = \humhub\modules\user\models\fieldtype\UserEmail::class; if ($field->save()) { $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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; if ($field->save()) { $field->fieldType->maxLength = 100; $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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; if ($field->save()) { $field->fieldType->validator = 'email'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url"; $field->title = 'Website URL'; $field->sort_order = 100; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_instagram"; $field->title = 'Instagram URL'; $field->sort_order = 350; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $field = new ProfileField(); $field->internal_name = "url_tiktok"; $field->title = 'TikTok URL'; $field->sort_order = 700; $field->profile_field_category_id = $cSocial->id; $field->field_type_class = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; 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 = \humhub\modules\user\models\fieldtype\Text::class; $field->is_system = 1; if ($field->save()) { $field->fieldType->validator = 'url'; $field->fieldType->save(); } $group = new Group(); $group->name = "Users"; $group->description = 'Default group for all newly registered users of the network'; $group->show_at_directory = false; $group->is_default_group = 1; $group->save(); } }