function install(&$pluginAPI, &$dbDriver, $siteDefaultLanguage) { $uM = new UserManager($dbDriver); $uM->installAllTables(); $pageM = new pageManager($dbDriver); $t =& $pluginAPI->getI18NManager(); $site = $pageM->getSitePage(); $myaccount = $pageM->newPage(); $regform = $pageM->newPage(); $lostpass = $pageM->newPage(); $regform->initFromArray(array('name' => 'MorgOS_RegisterForm', 'parent_page_id' => $site->getID(), 'action' => 'userRegisterForm', 'place_in_menu' => MORGOS_MENU_INVISIBLE, 'plugin_id' => MORGOS_USER_PLUGINID)); $myaccount->initFromArray(array('name' => 'MorgOS_User_MyAccount', 'parent_page_id' => $site->getID(), 'action' => 'userMyAccount', 'place_in_menu' => MORGOS_MENU_INVISIBLE, 'plugin_id' => MORGOS_USER_PLUGINID)); $lostpass->initFromArray(array('name' => 'MorgOS_User_ForgotPasswordForm', 'parent_page_id' => $site->getID(), 'action' => 'userForgotPasswordForm', 'place_in_menu' => MORGOS_MENU_INVISIBLE, 'plugin_id' => MORGOS_USER_PLUGINID)); $pageM->addPageToDatabase($regform); $pageM->addPageToDatabase($myaccount); $pageM->addPageToDatabase($lostpass); $tMyAccount = $pageM->newTranslatedPage(); $tRegForm = $pageM->newTranslatedPage(); $tLostPass = $pageM->newTranslatedPage(); $tMyAccount->initFromArray(array('language_code' => $siteDefaultLanguage, 'translated_title' => $t->translate('My Account'), 'translated_content' => $t->translate('This is your account page.'))); $tRegForm->initFromArray(array('language_code' => $siteDefaultLanguage, 'translated_title' => $t->translate('Registration'), 'translated_content' => $t->translate('Give up all your user details in order to registrate to this site.'))); $tLostPass->initFromArray(array('language_code' => $siteDefaultLanguage, 'translated_title' => $t->translate('Recover Passwrd'), 'translated_content' => $t->translate('Fill in your password OR your email. Your new password will be sent to you.'))); $regform->addTranslation($tRegForm); $myaccount->addTranslation($tMyAccount); $lostpass->addTranslation($tLostPass); $this->_adminPlugin->install($pluginAPI, $dbDriver, $siteDefaultLanguage); // install 2 morgos -> user extensions $skinTable = new dbField('skin', DB_TYPE_STRING, 40); $langTable = new dbField('contentLanguage', DB_TYPE_STRING, 100); $uM->addExtraFieldForTable('users', $skinTable); $uM->addExtraFieldForTable('users', $langTable); $anonUser = $uM->getAnonymousUser(); $anonGroup = $anonUser->getUserGroup(); $anonGroup->assignPermission('view_page_' . $myaccount->getID(), false); }
function install(&$pluginAPI, &$dbDriver, $siteDefaultLanguage) { $pageM = new pageManager($dbDriver); $t =& $pluginAPI->getI18NManager(); $pluman = $pageM->newPage(); $admin = $pageM->getAdminPage(); $pluman->initFromArray(array('name' => 'MorgOS_Admin_PluginManager', 'parent_page_id' => $admin->getID(), 'action' => 'adminPluginManager')); $pageM->addPageToDatabase($pluman); $tPlugMan = $pageM->newTranslatedPage(); $tPlugMan->initFromArray(array('language_code' => $siteDefaultLanguage, 'translated_title' => $t->translate('Plugin Manager'), 'translated_Content' => $t->translate('Enable/disable plugins.'))); $pluman->addTranslation($tPlugMan); }
function install(&$pluginAPI, &$dbModule, $siteDefaultLanguage) { $pageM = new pageManager($dbModule); $t =& $pluginAPI->getI18NManager(); $admin = $pageM->getAdminPage(); $adminUser = $pageM->newPage(); $adminUser->initFromArray(array('name' => 'MorgOS_Admin_UserManager', 'parent_page_id' => $admin->getID(), 'action' => 'adminUserManager', 'plugin_id' => MORGOS_USER_PLUGINID, 'place_in_menu' => 2)); $pageM->addPageToDatabase($adminUser); $tAdminUser = $pageM->newTranslatedPage(); $tAdminUser->initFromArray(array('language_code' => $siteDefaultLanguage, 'translated_title' => $t->translate('User manager'), 'translated_content' => $t->translate('Manage users here, remove/add them from administrators list.'))); $adminUser->addTranslation($tAdminUser); }
function installConfigAndDatabase($siteName, $databaseModule, $databaseHost, $databaseUser, $databasePassword, $databaseName, $databasePrefix, $adminLogin, $adminPassword, $adminMail) { $dbModule = databaseLoadModule($databaseModule); if (!isError($dbModule)) { $dbModule->connect($databaseHost, $databaseUser, $databasePassword); $dbModule->selectDatabase($databaseName); $dbModule->setPrefix($databasePrefix); $dbModule->queryFile('interface/installer/base-plugin/sqlCode.sql'); //var_dump ($dbModule); //die ('End'); $userM = new userManager($dbModule); $admin = $userM->newUser(); $a = $admin->initFromArray(array('login' => $adminLogin, 'password' => md5($adminPassword), 'email' => $adminMail)); $userM->addUserToDatabase($admin); $group = $userM->newGroup(); $group->initFromArray(array('genericName' => 'administrator', 'genericDescription' => 'The admin users')); $userM->addGroupToDatabase($group); $group->assignPermission('edit_admin', true); $admin->addToGroup($group); $group = $userM->newGroup(); $group->initFromArray(array('genericName' => 'normaluser', 'genericDescription' => 'All users')); $userM->addGroupToDatabase($group); $group->assignPermission('edit_admin', false); $admin->addToGroup($group); $group = $userM->newGroup(); $group->initFromArray(array('genericName' => 'anonymous', 'genericDescription' => 'Not logged in')); $userM->addGroupToDatabase($group); $group->assignPermission('edit_admin', false); $pageM = new pageManager($dbModule); $site = $pageM->newPage(); $admin = $pageM->newPage(); $home = $pageM->newPage(); $ahome = $pageM->newPage(); $pman = $pageM->newPage(); $pluman = $pageM->newPage(); $regform = $pageM->newPage(); $adminLogout = $pageM->newPage(); $adminUser = $pageM->newPage(); $site->initFromArray(array('name' => 'site', 'parentPageID' => 0, 'placeInMenu' => 0)); $admin->initFromArray(array('name' => 'admin', 'parentPageID' => 0, 'placeInMenu' => 0)); $pageM->addPageToDatabase($site); $pageM->addPageToDatabase($admin); $home->initFromArray(array('name' => 'MorgOS_Home', 'parentPageID' => $site->getID())); $ahome->initFromArray(array('name' => 'MorgOS_Admin_Home', 'parentPageID' => $admin->getID())); $pman->initFromArray(array('name' => 'MorgOS_Admin_PageManager', 'parentPageID' => $admin->getID(), 'action' => 'adminPageManager')); $pluman->initFromArray(array('name' => 'MorgOS_Admin_PluginManager', 'parentPageID' => $admin->getID(), 'action' => 'adminPluginManager')); $regform->initFromArray(array('name' => 'MorgOS_RegisterForm', 'parentPageID' => $site->getID(), 'action' => 'userRegisterForm', 'placeInMenu' => 0)); $adminLogout->initFromArray(array('name' => 'MorgOS_Admin_Logout', 'parentPageID' => $admin->getID(), 'action' => 'adminLogout')); $adminUser->initFromArray(array('name' => 'MorgOS_Admin_UserManager', 'parentPageID' => $admin->getID(), 'action' => 'adminUserManager')); $pageM->addPageToDatabase($home); $pageM->addPageToDatabase($ahome); $pageM->addPageToDatabase($pman); $pageM->addPageToDatabase($adminUser); $pageM->addPageToDatabase($pluman); $pageM->addPageToDatabase($regform); $pageM->addPageToDatabase($adminLogout); $tHome = $pageM->newTranslatedPage(); $tAHome = $pageM->newTranslatedPage(); $tPMan = $pageM->newTranslatedPage(); $tRegForm = $pageM->newTranslatedPage(); $tPlugMan = $pageM->newTranslatedPage(); $tALogout = $pageM->newTranslatedPage(); $tAdminUser = $pageM->newTranslatedPage(); $t =& $this->_pluginAPI->getI18NManager(); $tHome->initFromArray(array('languageCode' => 'en_UK', 'translatedTitle' => $t->translate('Home'), 'translatedContent' => $t->translate('This is the homepage.'))); $tAHome->initFromArray(array('languageCode' => 'en_UK', 'translatedTitle' => $t->translate('Admin'), 'translatedContent' => $t->translate('This is the admin. Here you can configure the site, add/remove and edit pages, or ban users.'))); $tPMan->initFromArray(array('languageCode' => 'en_UK', 'translatedTitle' => $t->translate('Page Manager'), 'translatedContent' => $t->translate('Edit pages here.'))); $tRegForm->initFromArray(array('languageCode' => 'en_UK', 'translatedTitle' => $t->translate('Registration'), 'translatedContent' => $t->translate('Give up all your user details in order to registrate to this site.'))); $tPlugMan->initFromArray(array('languageCode' => 'en_UK', 'translatedTitle' => $t->translate('Plugin Manager'), 'translatedContent' => $t->translate('Enable/disable plugins.'))); $tALogout->initFromArray(array('languageCode' => 'en_UK', 'translatedTitle' => $t->translate('Logout'), 'translatedContent' => $t->translate('Logout'))); $tAdminUser->initFromArray(array('languageCode' => 'en_UK', 'translatedTitle' => $t->translate('User manager'), 'translatedContent' => $t->translate('Manage users here, remove/add them from administrators list.'))); $home->addTranslation($tHome); $ahome->addTranslation($tAHome); $pman->addTranslation($tPMan); $regform->addTranslation($tRegForm); $pluman->addTranslation($tPlugMan); $adminLogout->addTranslation($tALogout); $adminUser->addTranslation($tAdminUser); $configContents = '<?php' . PHP_NL . PHP_NL; $configContents .= '$configItems[\'/databases/host\']=\'' . $databaseHost . '\';' . PHP_NL; $configContents .= '$configItems[\'/databases/password\']=\'' . $databasePassword . '\';' . PHP_NL; $configContents .= '$configItems[\'/databases/user\']=\'' . $databaseUser . '\';' . PHP_NL; $configContents .= '$configItems[\'/databases/database\']=\'' . $databaseName . '\';' . PHP_NL; $configContents .= '$configItems[\'/databases/table_prefix\']=\'' . $databasePrefix . '\';' . PHP_NL . PHP_NL; $configContents .= '$configItems[\'/site/title\']=\'' . $siteName . '\';' . PHP_NL; $configContents .= '?>'; $c = @fopen('config.php', 'w'); if ($c !== false) { fwrite($c, $configContents); fclose($c); header('Location: index.php'); } else { echo $configContents; } } else { var_dump($dbModule); } }
function install(&$pluginAPI, &$dbDriver, $siteDefaultLanguage) { $pageM = new pageManager($dbDriver); $t =& $pluginAPI->getI18NManager(); $admin = $pageM->getAdminPage(); $ahome = $pageM->newPage(); $ahome->initFromArray(array('name' => 'MorgOS_Admin_Home', 'parent_page_id' => $admin->getID(), 'action' => 'adminHome', 'place_in_menu' => MORGOS_MENU_FIRST)); $pageM->addPageToDatabase($ahome); $tAHome = $pageM->newTranslatedPage(); $tAHome->initFromArray(array('language_code' => $siteDefaultLanguage, 'translated_title' => $t->translate('Admin'), 'translated_content' => $t->translate('This is the admin.' . ' Here you can configure the site, add/remove and edit' . ' pages, or ban users.'))); $ahome->addTranslation($tAHome); $adminSaveConfig = $pageM->newPage(); $adminSaveConfig->initFromArray(array('name' => 'MorgOS_Admin_SaveConfig', 'parent_page_id' => $admin->getID(), 'place_in_menu' => MORGOS_MENU_INVISIBLE)); $pageM->addPageToDatabase($adminSaveConfig); $tASaveConfig = $pageM->newTranslatedPage(); $tASaveConfig->initFromArray(array('language_code' => $siteDefaultLanguage, 'translated_title' => $t->translate('Save config'), 'translated_content' => $t->translate(''))); $adminSaveConfig->addTranslation($tASaveConfig); $this->_pluginAdmin->install($pluginAPI, $dbDriver, $siteDefaultLanguage); $adminLogout = $pageM->newPage(); $adminLogout->initFromArray(array('name' => 'MorgOS_Admin_Logout', 'parent_page_id' => $admin->getID(), 'action' => 'adminLogout', 'place_in_menu' => MORGOS_MENU_LAST)); $pageM->addPageToDatabase($adminLogout); $tALogout = $pageM->newTranslatedPage(); $tALogout->initFromArray(array('language_code' => $siteDefaultLanguage, 'translated_title' => $t->translate('Logout'), 'translated_content' => $t->translate('Logout'))); $adminLogout->addTranslation($tALogout); }
function install(&$pluginAPI, &$dbModule, $siteDefaultLanguage) { $pageM = new pageManager($dbModule); $t =& $pluginAPI->getI18NManager(); $admin = $pageM->getAdminPage(); $pman = $pageM->newPage(); $pman->initFromArray(array('name' => 'MorgOS_Admin_PageManager', 'parent_page_id' => $admin->getID(), 'action' => 'adminPageManager', 'place_in_menu' => 1)); $pageM->addPageToDatabase($pman); $tPMan = $pageM->newTranslatedPage(); $tPMan->initFromArray(array('language_code' => $siteDefaultLanguage, 'translated_title' => $t->translate('Page Manager'), 'translated_content' => $t->translate('Edit pages here.'))); $pman->addTranslation($tPMan); }