public function install() { parent::install(); $default_language = \GO::config()->default_country; if (empty($default_language)) { $default_language = 'US'; } $addressbook = new Model\Addressbook(); $addressbook->setAttributes(array('user_id' => 1, 'name' => \GO::t('prospects', 'addressbook'))); $addressbook->save(); $addressbook->acl->addGroup(\GO::config()->group_internal, \GO\Base\Model\Acl::WRITE_PERMISSION); $addressbook = new Model\Addressbook(); $addressbook->setAttributes(array('user_id' => 1, 'name' => \GO::t('suppliers', 'addressbook'))); $addressbook->save(); $addressbook->acl->addGroup(\GO::config()->group_internal, \GO\Base\Model\Acl::WRITE_PERMISSION); if (!is_dir(\GO::config()->file_storage_path . 'contacts/contact_photos')) { mkdir(\GO::config()->file_storage_path . 'contacts/contact_photos', 0755, true); } $addressbook = new Model\Addressbook(); $addressbook->setAttributes(array('user_id' => 1, 'name' => \GO::t('customers', 'addressbook'))); $addressbook->save(); $addressbook->acl->addGroup(\GO::config()->group_internal, \GO\Base\Model\Acl::WRITE_PERMISSION); //Each user should have a contact $stmt = \GO\Base\Model\User::model()->find(\GO\Base\Db\FindParams::newInstance()->ignoreAcl()); while ($user = $stmt->fetch()) { $user->createContact(); } $message = new \GO\Base\Mail\Message(); $message->setHtmlAlternateBody('{salutation},<br /> <br /> {body}<br /> <br /> ' . \GO::t('greet', 'addressbook') . '<br /> <br /> <br /> {user:name}<br /> {usercompany:name}<br />'); $template = new Model\Template(); $template->setAttributes(array('content' => $message->toString(), 'name' => \GO::t('default'), 'type' => Model\Template::TYPE_EMAIL, 'user_id' => 1)); $template->save(); $template->acl->addGroup(\GO::config()->group_internal); $dt = Model\Template::model()->findSingleByAttribute('name', 'Letter'); if (!$dt) { $dt = new Model\Template(); $dt->type = Model\Template::TYPE_DOCUMENT; $dt->content = file_get_contents(\GO::modules()->addressbook->path . 'install/letter_template.docx'); $dt->extension = 'docx'; $dt->name = 'Letter'; $dt->save(); $dt->acl->addGroup(\GO::config()->group_internal); } $this->setFolderPermissions(); }