Example #1
0
 function install()
 {
     if ($this->firstExec('acl2')) {
         $this->useDbProfile('auth');
         // create rights
         jAcl2DbManager::addSubjectGroup("lizmap.admin.grp", "admin~jacl2.lizmap.admin.grp");
         jAcl2DbManager::addSubjectGroup("lizmap.grp", "admin~jacl2.lizmap.grp");
         jAcl2DbManager::addSubject("lizmap.admin.access", "admin~jacl2.lizmap.admin.access", "lizmap.admin.grp");
         jAcl2DbManager::addSubject("lizmap.admin.services.update", "admin~jacl2.lizmap.admin.services.update", "lizmap.admin.grp");
         jAcl2DbManager::addSubject("lizmap.admin.repositories.create", "admin~jacl2.lizmap.admin.repositories.create", "lizmap.admin.grp");
         jAcl2DbManager::addSubject("lizmap.admin.repositories.update", "admin~jacl2.lizmap.admin.repositories.update", "lizmap.admin.grp");
         jAcl2DbManager::addSubject("lizmap.admin.repositories.delete", "admin~jacl2.lizmap.admin.repositories.delete", "lizmap.admin.grp");
         jAcl2DbManager::addSubject("lizmap.repositories.view", "admin~jacl2.lizmap.repositories.view", "lizmap.grp");
         jAcl2DbManager::addSubject("lizmap.admin.repositories.view", "admin~jacl2.lizmap.admin.repositories.view", "lizmap.admin.grp");
         jAcl2DbManager::addSubject("lizmap.admin.services.view", "admin~jacl2.lizmap.admin.services.view", "lizmap.admin.grp");
         jAcl2DbManager::addSubject("lizmap.tools.edition.use", "admin~jacl2.lizmap.tools.edition.use", "lizmap.grp");
         jAcl2DbManager::addSubject("lizmap.tools.loginFilteredLayers.override", "admin~jacl2.lizmap.tools.loginFilteredLayers.override", "lizmap.grp");
         jAcl2DbManager::addSubject("lizmap.tools.displayGetCapabilitiesLinks", "admin~jacl2.lizmap.tools.displayGetCapabilitiesLinks", "lizmap.grp");
         jAcl2DbManager::addSubject("lizmap.tools.layer.export", "admin~jacl2.lizmap.tools.layer.export", "lizmap.grp");
         jAcl2DbManager::addRight('admins', 'lizmap.admin.repositories.view');
         jAcl2DbManager::addRight('admins', 'lizmap.admin.services.view');
         jAcl2DbManager::addRight('admins', 'lizmap.admin.access');
         jAcl2DbManager::addRight('admins', 'lizmap.admin.repositories.create');
         jAcl2DbManager::addRight('admins', 'lizmap.admin.repositories.delete');
         jAcl2DbManager::addRight('admins', 'lizmap.admin.repositories.update');
         jAcl2DbManager::addRight('admins', 'lizmap.admin.services.update');
     }
 }
 function install()
 {
     if ($this->firstDbExec()) {
         $this->useDbProfile('jauth');
         jAcl2DbManager::addSubject("lizmap.tools.layer.export", "admin~jacl2.lizmap.tools.layer.export", "lizmap.grp");
     }
 }
Example #3
0
 function install()
 {
     if ($this->firstExec('acl2')) {
         jAcl2DbManager::addSubject('modulesinfo.access', 'modulesinfo~modulesinfo.acl.access');
         jAcl2DbManager::addRight('admins', 'modulesinfo.access');
         // for admin group
     }
 }
Example #4
0
 function postInstall()
 {
     if ($this->firstExec('acl2')) {
         jAcl2DbManager::addSubject('servinfo.access', 'servinfo~servinfo.acl.access');
         jAcl2DbManager::addRight('admins', 'servinfo.access');
         // for admin group
     }
 }
Example #5
0
 function install()
 {
     if ($this->firstExec('acl2')) {
         jAcl2DbManager::addSubjectGroup('jprefs.prefs.management', 'jpref_admin~admin.acl.grp.prefs.management');
         jAcl2DbManager::addSubject('jprefs.prefs.list', 'jpref_admin~admin.acl.prefs.list', 'jprefs.prefs.management');
         jAcl2DbManager::addRight('admins', 'jprefs.prefs.list');
         // for admin group
     }
 }
Example #6
0
 function install()
 {
     if ($this->firstExec('acl2')) {
         jAcl2DbManager::addSubject('jelixcache.access', 'jelixcache~jelixcache.acl.access');
         jAcl2DbManager::addRight('admins', 'jelixcache.access');
         // for admin group
         //jAcl2DbManager::addRight('moderators', 'jelixcache.access');
     }
 }
Example #7
0
 function install()
 {
     //if ($this->firstDbExec())
     //    $this->execSQLScript('sql/install');
     if ($this->firstExec('acl2')) {
         jAcl2DbManager::addSubject('activeusers.configuration', 'activeusers_admin~main.acl.subject');
         jAcl2DbManager::addRight('admins', 'activeusers.configuration');
         // for admin group
     }
 }
 /**
  * set rights on the given forum
  * @param integer $group the group id.
  * @param array $rights list of rights key = subject, value = true
  * @param string $resource the resource corresponding to the "forum" string + id_forum
  */
 public static function setRightsOnForum($group, $rights, $resource)
 {
     $dao = jDao::get('jacl2db~jacl2rights', jAcl2Db::getProfile());
     $dao->deleteHfnuByGroup($group, $resource);
     foreach ($rights as $sbj => $val) {
         if ($val != '') {
             jAcl2DbManager::addRight($group, $sbj, $resource);
         }
     }
     jAcl2::clearCache();
 }
Example #9
0
 function saverights()
 {
     $rep = $this->getResponse('redirect');
     $rights = $this->param('rights', array());
     foreach (jAcl2DbUserGroup::getGroupList() as $grp) {
         $id = intval($grp->id_aclgrp);
         jAcl2DbManager::setRightsOnGroup($id, isset($rights[$id]) ? $rights[$id] : array());
     }
     jAcl2DbManager::setRightsOnGroup(0, isset($rights[0]) ? $rights[0] : array());
     $rep->action = 'jacl2_admin~groups:index';
     return $rep;
 }
 function install()
 {
     if ($this->firstDbExec() && $this->getParameter('demo')) {
         $this->useDbProfile('jauth');
         // admins
         jAcl2DbManager::addRight('admins', 'lizmap.tools.layer.export', 'intranet');
         jAcl2DbManager::addRight('admins', 'lizmap.tools.layer.export', 'montpellier');
         // lizadmins
         jAcl2DbManager::addRight('lizadmins', 'lizmap.tools.layer.export', 'intranet');
         jAcl2DbManager::addRight('lizadmins', 'lizmap.tools.layer.export', 'montpellier');
         // intranet
         jAcl2DbManager::addRight('intranet', 'lizmap.tools.layer.export', 'intranet');
         jAcl2DbManager::addRight('intranet', 'lizmap.tools.layer.export', 'montpellier');
     }
 }
 function install()
 {
     if ($this->getParameter('masteradmin')) {
         $this->config->setValue('loginResponse', 'htmlauth', 'jcommunity');
     }
     if ($this->firstExec('acl2') && class_exists('jAcl2DbManager')) {
         jAcl2DbManager::addSubjectGroup('jcommunity.admin', 'jcommunity~prefs.admin.jcommunity');
         jAcl2DbManager::addSubject('jcommunity.prefs.change', 'jcommunity~prefs.admin.prefs.change', 'jprefs.prefs.management');
         jAcl2DbManager::addRight('admins', 'jcommunity.prefs.change');
         // for admin group
     }
     if ($this->firstExec('preferences')) {
         $prefIni = new jIniFileModifier(__DIR__ . '/prefs.ini');
         $prefFile = jApp::configPath('preferences.ini.php');
         if (file_exists($prefFile)) {
             $mainPref = new jIniFileModifier($prefFile);
             //import this way to not erase changed value.
             $prefIni->import($mainPref);
         }
         $prefIni->saveAs($prefFile);
     }
 }
Example #12
0
 function saverights()
 {
     $rep = $this->getResponse('redirect');
     $login = $this->param('user');
     $rights = $this->param('rights', array());
     if ($login == '') {
         $rep->action = 'jacl2db_admin~users:index';
         return $rep;
     }
     $rep->action = 'jacl2db_admin~users:rights';
     $rep->params = array('user' => $login);
     $dao = jDao::get('jacl2db~jacl2groupsofuser', 'jacl2_profile');
     $grp = $dao->getPrivateGroup($login);
     jAcl2DbManager::setRightsOnGroup($grp->id_aclgrp, $rights);
     jMessage::add(jLocale::get('acl2.message.user.rights.ok'), 'ok');
     return $rep;
 }
 function saverights()
 {
     $rep = $this->getResponse('redirect');
     $rights = $this->param('rights', array());
     foreach (jAcl2DbUserGroup::getGroupList() as $grp) {
         $id = $grp->id_aclgrp;
         jAcl2DbManager::setRightsOnGroup($id, isset($rights[$id]) ? $rights[$id] : array());
     }
     jAcl2DbManager::setRightsOnGroup('__anonymous', isset($rights['__anonymous']) ? $rights['__anonymous'] : array());
     jMessage::add(jLocale::get('acl2.message.group.rights.ok'), 'ok');
     $rep->action = 'jacl2db_admin~groups:rights';
     return $rep;
 }
Example #14
0
 public function testSetNewRightsOnGroup()
 {
     $this->emptyTable('jacl2_user_group');
     $this->emptyTable('jacl2_rights');
     $this->emptyTable('jacl2_subject');
     $groups = array(array('id_aclgrp' => 'group1', 'name' => 'group1', 'grouptype' => 0, 'ownerlogin' => null), array('id_aclgrp' => 'group2', 'name' => 'group2', 'grouptype' => 0, 'ownerlogin' => null));
     $this->insertRecordsIntoTable('jacl2_group', array('id_aclgrp', 'name', 'grouptype', 'ownerlogin'), $groups, true);
     jAcl2DbManager::addSubject('super.cms.list', 'cms~rights.super.cms.list');
     jAcl2DbManager::addSubject('super.cms.update', 'cms~rights.super.cms.update');
     jAcl2DbManager::addSubject('super.cms.create', 'cms~rights.super.cms.update');
     jAcl2DbManager::addSubject('super.cms.view', 'cms~rights.super.cms.update');
     jAcl2DbManager::addSubject('super.cms.delete', 'cms~rights.super.cms.delete');
     $rights = array();
     $this->assertTableContainsRecords('jacl2_rights', $rights);
     // rights for group 1
     $newRights = array('super.cms.list' => 'y', 'super.cms.create' => 'y');
     jAcl2DbManager::setRightsOnGroup('group1', $newRights);
     $rights = array(array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.create', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'));
     $this->assertTableContainsRecords('jacl2_rights', $rights);
     // rights for group 2 (we won't modify them, we add them to verify that changes on rights of group1
     // won't changed rights of group 2)
     $newRights = array('super.cms.list' => 'y', 'super.cms.view' => 'y');
     jAcl2DbManager::setRightsOnGroup('group2', $newRights);
     $rights = array(array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.create', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.view', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'));
     $this->assertTableContainsRecords('jacl2_rights', $rights);
     // add a right for group 1
     $newRights = array('super.cms.list' => 'y', 'super.cms.create' => 'y', 'super.cms.delete' => 'y');
     jAcl2DbManager::setRightsOnGroup('group1', $newRights);
     $rights = array(array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.create', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.delete', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.view', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'));
     $this->assertTableContainsRecords('jacl2_rights', $rights);
     // remove rights for group 1
     $newRights = array('super.cms.list' => 'y', 'super.cms.create' => '');
     jAcl2DbManager::setRightsOnGroup('group1', $newRights);
     $rights = array(array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.view', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'));
     $this->assertTableContainsRecords('jacl2_rights', $rights);
     // new rights for group 1, by deleting existing one and adding new ones
     $newRights = array('super.cms.create' => 'y', 'super.cms.update' => 'y');
     jAcl2DbManager::setRightsOnGroup('group1', $newRights);
     $rights = array(array('id_aclsbj' => 'super.cms.update', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.create', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.view', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'));
     $this->assertTableContainsRecords('jacl2_rights', $rights);
     // cancel a right for group 1
     $newRights = array('super.cms.create' => 'y', 'super.cms.update' => 'n');
     jAcl2DbManager::setRightsOnGroup('group1', $newRights);
     $rights = array(array('id_aclsbj' => 'super.cms.update', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '1'), array('id_aclsbj' => 'super.cms.create', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.view', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'));
     $this->assertTableContainsRecords('jacl2_rights', $rights);
     // changed a canceled right to an approuve right for group 1
     $newRights = array('super.cms.create' => 'y', 'super.cms.update' => 'y');
     jAcl2DbManager::setRightsOnGroup('group1', $newRights);
     $rights = array(array('id_aclsbj' => 'super.cms.update', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.create', 'id_aclgrp' => 'group1', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.view', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'));
     $this->assertTableContainsRecords('jacl2_rights', $rights);
     // remove all rights for group 1
     $newRights = array();
     jAcl2DbManager::setRightsOnGroup('group1', $newRights);
     $rights = array(array('id_aclsbj' => 'super.cms.list', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'), array('id_aclsbj' => 'super.cms.view', 'id_aclgrp' => 'group2', 'id_aclres' => null, 'canceled' => '0'));
     $this->assertTableContainsRecords('jacl2_rights', $rights);
 }
 public function testGetRightDisconnect()
 {
     jAuth::logout();
     jAcl2::clearCache();
     $this->assertFalse(jAcl2::check('super.cms.list'));
     $this->assertFalse(jAcl2::check('admin.access'));
     jAcl2::clearCache();
     jAcl2DbManager::addRight('__anonymous', 'super.cms.list');
     $this->assertTrue(jAcl2::check('super.cms.list'));
     $this->assertFalse(jAcl2::check('admin.access'));
     jAcl2::clearCache();
 }
Example #16
0
 function saverights()
 {
     $rep = $this->getResponse('redirect');
     $login = $this->param('user');
     $rights = $this->param('rights', array());
     if ($login == '') {
         $rep->action = 'jacl2_admin~users:index';
         return $rep;
     }
     $rep->action = 'jacl2_admin~users:rights';
     $rep->params = array('user' => $login);
     $dao = jDao::get('jelix~jacl2groupsofuser', jAcl2Db::getProfil());
     $grp = $dao->getPrivateGroup($login);
     jAcl2DbManager::setRightsOnGroup($grp->id_aclgrp, $rights);
     return $rep;
 }
Example #17
0
 function install()
 {
     $authconfig = $this->config->getValue('auth', 'coordplugins');
     $authconfigMaster = $this->config->getValue('auth', 'coordplugins', null, true);
     $forWS = in_array($this->entryPoint->type, array('json', 'jsonrpc', 'soap', 'xmlrpc'));
     $createdConfFile = false;
     if (!$authconfig || $forWS && $authconfig == $authconfigMaster) {
         //if ($this->entryPoint->type == 'cmdline') {
         //    return;
         //}
         if ($forWS) {
             $pluginIni = 'authsw.coord.ini.php';
         } else {
             $pluginIni = 'auth.coord.ini.php';
         }
         $authconfig = dirname($this->entryPoint->configFile) . '/' . $pluginIni;
         if ($this->firstExec($authconfig)) {
             // no configuration, let's install the plugin for the entry point
             $this->config->setValue('auth', $authconfig, 'coordplugins');
             $this->copyFile('var/config/' . $pluginIni, 'epconfig:' . $pluginIni);
             $createdConfFile = true;
         }
     }
     $conf = new jIniFileModifier(jApp::configPath($authconfig));
     $usedStandardDao = $conf->getValue('dao', 'Db') == 'jauthdb~jelixuser';
     $this->useDbProfile($conf->getValue('profile', 'Db'));
     if ($createdConfFile) {
         mt_srand();
         $conf->setValue('persistant_crypt_key', sha1("jelix" . time() . mt_rand()));
         $conf->save();
     }
     if ($this->firstExec($authconfig) && $this->getParameter('rewriteconfig')) {
         $conf->setValue('driver', 'Db');
         $conf->setValue('dao', 'jcommunity~user', 'Db');
         $conf->setValue('form', 'jcommunity~account_admin', 'Db');
         $conf->setValue('error_message', 'jcommunity~login.error.notlogged');
         $conf->setValue('on_error_action', 'jcommunity~login:out');
         $conf->setValue('bad_ip_action', 'jcommunity~login:out');
         $conf->setValue('after_logout', 'jcommunity~login:index');
         $conf->setValue('enable_after_login_override', 'on');
         $conf->setValue('enable_after_logout_override', 'on');
         $conf->setValue('after_login', 'jcommunity~account:show');
         $conf->save();
     }
     if ($this->getParameter('masteradmin')) {
         $conf->setValue('after_login', 'master_admin~default:index');
         $conf->save();
         $this->config->setValue('loginResponse', 'htmlauth', 'jcommunity');
     }
     if ($this->firstDbExec() && !$this->getParameter('notjcommunitytable')) {
         $conf->setValue('dao', 'jcommunity~user', 'Db');
         $conf->setValue('form', 'jcommunity~account_admin', 'Db');
         $conf->save();
         $this->execSQLScript('sql/install');
         $cn = $this->dbConnection();
         if ($usedStandardDao && $this->getParameter('migratejauthdbusers')) {
             $cn->exec("INSERT INTO " . $cn->prefixTable('community_users') . "\n                            (login, password, email, nickname, status, create_date)\n                         SELECT usr_login, usr_password, usr_email, usr_login, 1, '" . date('Y-m-d H:i:s') . "'\n                         FROM " . $cn->prefixTable('jlx_user'));
         } else {
             if ($this->getParameter('defaultuser')) {
                 require_once JELIX_LIB_PATH . 'auth/jAuth.class.php';
                 require_once JELIX_LIB_PATH . 'plugins/auth/db/db.auth.php';
                 $confIni = parse_ini_file(jApp::configPath($authconfig), true);
                 $authConfig = jAuth::loadConfig($confIni);
                 $driver = new dbAuthDriver($authConfig['Db']);
                 $passwordHash = $driver->cryptPassword('admin');
                 $cn->exec("INSERT INTO " . $cn->prefixTable('community_users') . " (login, password, email, nickname, status, create_date) VALUES\n                            ('admin', " . $cn->quote($passwordHash) . ", '*****@*****.**', 'admin', 1, '" . date('Y-m-d H:i:s') . "')");
             }
         }
     }
     if ($this->firstExec('acl2') && class_exists('jAcl2DbManager')) {
         jAcl2DbManager::addSubjectGroup('jcommunity.admin', 'jcommunity~prefs.admin.jcommunity');
         jAcl2DbManager::addSubject('jcommunity.prefs.change', 'jcommunity~prefs.admin.prefs.change', 'jprefs.prefs.management');
         jAcl2DbManager::addRight('admins', 'jcommunity.prefs.change');
         // for admin group
     }
     if ($this->firstExec('preferences')) {
         $prefIni = new jIniFileModifier(__DIR__ . '/prefs.ini');
         $prefFile = jApp::configPath('preferences.ini.php');
         if (file_exists($prefFile)) {
             $mainPref = new jIniFileModifier($prefFile);
             //import this way to not erase changed value.
             $prefIni->import($mainPref);
         }
         $prefIni->saveAs($prefFile);
     }
 }
 /**
  * Save rights for a repository.
  * Used to save rights for each subject and for each group of one repository.
  * @param object $form Jform object concerned.
  * @param object $repository Repository key.
  * @return boolean Success or failure of the saving.
  */
 protected function saveRepositoryRightsFromRequest($form, $repository)
 {
     // Daos to use
     $daoright = jDao::get('jacl2db~jacl2rights', 'jacl2_profile');
     $daogroup = jDao::get('jacl2db~jacl2group', 'jacl2_profile');
     // Loop through the form controls
     foreach ($form->getControls() as $ctrl) {
         // Filter controls corresponding to lizmap subjects
         if (preg_match('#^' . $this->lizmapClientPrefix . '#', $ctrl->ref) && $ctrl->isContainer()) {
             $id_aclsbj = $ctrl->ref;
             // Edit control ref to get request params
             $param = str_replace('.', '_', $id_aclsbj);
             // Get values for the selected subject
             if (isset(jApp::coord()->request->params[$param])) {
                 $values = array_values(jApp::coord()->request->params[$param]);
             } else {
                 // the list in the form may be empty, so no parameters
                 $values = array();
             }
             // Loop through the groups
             foreach ($daogroup->findAll() as $group) {
                 // Retrieve only normal groups which are not blacklisted
                 if (!in_array($group->id_aclgrp, $this->groupBlacklist) && $group->grouptype == 0) {
                     // Add the right if needed else remove it
                     if (in_array($group->id_aclgrp, $values)) {
                         jAcl2DbManager::addRight($group->id_aclgrp, $id_aclsbj, $repository);
                     } else {
                         $daoright->delete($id_aclsbj, $group->id_aclgrp, $repository);
                     }
                 }
             }
         }
     }
 }
Example #19
0
 function install()
 {
     $lizmapConfFile = jApp::configPath('lizmapConfig.ini.php');
     if (!file_exists($lizmapConfFile)) {
         $lizmapConfFileDist = jApp::configPath('lizmapConfig.ini.php.dist');
         if (file_exists($lizmapConfFileDist)) {
             copy($lizmapConfFileDist, $lizmapConfFile);
         } else {
             $this->copyFile('config/lizmapConfig.ini.php', $lizmapConfFile);
         }
     }
     $localConfig = jApp::configPath('localconfig.ini.php');
     if (!file_exists($localConfig)) {
         $localConfigDist = jApp::configPath('localconfig.ini.php.dist');
         if (file_exists($localConfigDist)) {
             copy($localConfigDist, $localConfig);
         } else {
             file_put_contents($localConfig, ';<' . '?php die(\'\');?' . '>');
         }
     }
     $ini = new jIniFileModifier($localConfig);
     $ini->setValue('lizmap', 'lizmapConfig.ini.php', 'coordplugins');
     $ini->save();
     if ($this->firstDbExec()) {
         // Add log table
         $this->useDbProfile('lizlog');
         $this->execSQLScript('sql/lizlog');
         // Add geobookmark table
         $this->useDbProfile('jauth');
         $this->execSQLScript('sql/lizgeobookmark');
     }
     if ($this->firstExec('acl2') && $this->getParameter('demo')) {
         $this->useDbProfile('auth');
         // create group
         jAcl2DbUserGroup::createGroup('lizadmins');
         jAcl2DbUserGroup::createGroup('Intranet demos group', 'intranet');
         // create user in jAuth
         require_once JELIX_LIB_PATH . 'auth/jAuth.class.php';
         require_once JELIX_LIB_PATH . 'plugins/auth/db/db.auth.php';
         $authconfig = $this->config->getValue('auth', 'coordplugins');
         $confIni = parse_ini_file(jApp::configPath($authconfig), true);
         $authConfig = jAuth::loadConfig($confIni);
         $driver = new dbAuthDriver($authConfig['Db']);
         $passwordHash1 = $driver->cryptPassword('lizadmin');
         $passwordHash2 = $driver->cryptPassword('logintranet');
         $cn = $this->dbConnection();
         $cn->exec("INSERT INTO " . $cn->prefixTable('jlx_user') . " (usr_login, usr_password, usr_email ) VALUES\n                        ('lizadmin', " . $cn->quote($passwordHash1) . " , '*****@*****.**')");
         $cn->exec("INSERT INTO " . $cn->prefixTable('jlx_user') . " (usr_login, usr_password, usr_email ) VALUES\n                        ('logintranet', " . $cn->quote($passwordHash2) . " , '*****@*****.**')");
         // declare users in jAcl2
         jAcl2DbUserGroup::createUser('lizadmin', true);
         jAcl2DbUserGroup::createUser('logintranet', true);
         jAcl2DbUserGroup::addUserToGroup('lizadmin', 'lizadmins');
         jAcl2DbUserGroup::addUserToGroup('logintranet', 'intranet');
         jAcl2DbManager::setRightsOnGroup('lizadmins', array('lizmap.admin.access' => true, 'lizmap.admin.services.update' => true, 'lizmap.admin.repositories.create' => true, 'lizmap.admin.repositories.delete' => true, 'lizmap.admin.repositories.update' => true, 'lizmap.admin.repositories.view' => true, 'lizmap.admin.services.view' => true));
         // admins
         jAcl2DbManager::addRight('admins', 'lizmap.tools.edition.use', 'intranet');
         jAcl2DbManager::addRight('admins', 'lizmap.repositories.view', 'intranet');
         jAcl2DbManager::addRight('admins', 'lizmap.tools.loginFilteredLayers.override', 'intranet');
         jAcl2DbManager::addRight('admins', 'lizmap.tools.displayGetCapabilitiesLinks', 'intranet');
         jAcl2DbManager::addRight('admins', 'lizmap.tools.edition.use', 'montpellier');
         jAcl2DbManager::addRight('admins', 'lizmap.repositories.view', 'montpellier');
         jAcl2DbManager::addRight('admins', 'lizmap.tools.loginFilteredLayers.override', 'montpellier');
         jAcl2DbManager::addRight('admins', 'lizmap.tools.displayGetCapabilitiesLinks', 'montpellier');
         // lizadmins
         jAcl2DbManager::addRight('lizadmins', 'lizmap.tools.edition.use', 'intranet');
         jAcl2DbManager::addRight('lizadmins', 'lizmap.repositories.view', 'intranet');
         jAcl2DbManager::addRight('lizadmins', 'lizmap.tools.loginFilteredLayers.override', 'intranet');
         jAcl2DbManager::addRight('lizadmins', 'lizmap.tools.displayGetCapabilitiesLinks', 'intranet');
         jAcl2DbManager::addRight('lizadmins', 'lizmap.tools.edition.use', 'montpellier');
         jAcl2DbManager::addRight('lizadmins', 'lizmap.repositories.view', 'montpellier');
         jAcl2DbManager::addRight('lizadmins', 'lizmap.tools.loginFilteredLayers.override', 'montpellier');
         jAcl2DbManager::addRight('lizadmins', 'lizmap.tools.displayGetCapabilitiesLinks', 'montpellier');
         // intranet
         jAcl2DbManager::addRight('intranet', 'lizmap.tools.edition.use', 'intranet');
         jAcl2DbManager::addRight('intranet', 'lizmap.repositories.view', 'intranet');
         jAcl2DbManager::addRight('intranet', 'lizmap.tools.loginFilteredLayers.override', 'intranet');
         jAcl2DbManager::addRight('intranet', 'lizmap.tools.displayGetCapabilitiesLinks', 'intranet');
         jAcl2DbManager::addRight('intranet', 'lizmap.tools.edition.use', 'montpellier');
         jAcl2DbManager::addRight('intranet', 'lizmap.repositories.view', 'montpellier');
         jAcl2DbManager::addRight('intranet', 'lizmap.tools.loginFilteredLayers.override', 'montpellier');
         jAcl2DbManager::addRight('intranet', 'lizmap.tools.displayGetCapabilitiesLinks', 'montpellier');
         // anonymous
         jAcl2DbManager::addRight('__anonymous', 'lizmap.tools.edition.use', 'montpellier');
         jAcl2DbManager::addRight('__anonymous', 'lizmap.repositories.view', 'montpellier');
         jAcl2DbManager::addRight('__anonymous', 'lizmap.tools.loginFilteredLayers.override', 'montpellier');
         jAcl2DbManager::addRight('__anonymous', 'lizmap.tools.displayGetCapabilitiesLinks', 'montpellier');
         // declare the repositories of demo in the configuration
         $ini = new jIniFileModifier($lizmapConfFile);
         $ini->setValues(array('label' => 'LizMap Demo', 'path' => '../install/qgis/', 'allowUserDefinedThemes' => 1), 'repository:montpellier');
         $ini->setValues(array('label' => 'Lizmap Demo - Intranet', 'path' => '../install/qgis_intranet/', 'allowUserDefinedThemes' => ''), 'repository:intranet');
         $ini->setValue('defaultRepository', 'montpellier', 'services');
         $ini->save();
     }
 }
Example #20
0
 function saveconfig()
 {
     $resp = $this->getResponse('redirect');
     $resp->action = 'hfnuadmin~default:config';
     $form = jForms::fill('hfnuadmin~config');
     if (!$form->check()) {
         return $resp;
     }
     $defaultConfig = new jIniFileModifier(jApp::configPath('defaultconfig.ini.php'));
     $p = jAcl2Db::getProfile();
     //if we want to allow the anonymous users on the forum :
     if ($form->getData('anonymous_post_authorized')) {
         $rights = array('hfnu.forum.list' => 'on', 'hfnu.forum.view' => 'on', 'hfnu.posts.list' => 'on', 'hfnu.posts.view' => 'on', 'hfnu.posts.rss' => 'on', 'hfnu.posts.reply' => 'on', 'hfnu.posts.create' => 'on', 'hfnu.search' => 'on');
         jAcl2DbManager::setRightsOnGroup('__anonymous', $rights);
     } else {
         jAcl2DbManager::setRightsOnGroup('__anonymous', array());
     }
     $defaultConfig->setValue('title', htmlentities($this->param('title')), 'havefnubb');
     $defaultConfig->setValue('description', htmlentities($form->getData('description')), 'havefnubb');
     $defaultConfig->setValue('webmasterEmail', $this->param('webmaster_email'), 'mailer');
     $defaultConfig->setValue('rules', str_replace('"', '', $form->getData('rules')), 'havefnubb');
     $defaultConfig->setValue('admin_email', $form->getData('admin_email'), 'havefnubb');
     $defaultConfig->setValue('posts_per_page', $form->getData('posts_per_page'), 'havefnubb');
     $defaultConfig->setValue('replies_per_page', $form->getData('replies_per_page'), 'havefnubb');
     $defaultConfig->setValue('members_per_page', $form->getData('members_per_page'), 'havefnubb');
     $defaultConfig->setValue('stats_nb_of_lastpost', $form->getData('stats_nb_of_lastpost'), 'havefnubb');
     $defaultConfig->setValue('post_max_size', $form->getData('post_max_size'), 'havefnubb');
     $defaultConfig->setValue('avatar_max_width', $form->getData('avatar_max_width'), 'havefnubb');
     $defaultConfig->setValue('avatar_max_height', $form->getData('avatar_max_height'), 'havefnubb');
     $defaultConfig->setValue('important_nb_replies', $form->getData('important_nb_replies'), 'havefnubb');
     $defaultConfig->setValue('important_nb_views', $form->getData('important_nb_views'), 'havefnubb');
     $defaultConfig->setValue('anonymous_post_authorized', $form->getData('anonymous_post_authorized'), 'havefnubb');
     $defaultConfig->setValue('twitter', $form->getData('social_network_twitter'), 'social_networks');
     $defaultConfig->setValue('digg', $form->getData('social_network_digg'), 'social_networks');
     $defaultConfig->setValue('delicious', $form->getData('social_network_delicious'), 'social_networks');
     $defaultConfig->setValue('facebook', $form->getData('social_network_facebook'), 'social_networks');
     $defaultConfig->setValue('reddit', $form->getData('social_network_reddit'), 'social_networks');
     $defaultConfig->setValue('netvibes', $form->getData('social_network_netvibes'), 'social_networks');
     $tz = DateTimeZone::listIdentifiers();
     $defaultConfig->setValue('timeZone', $tz[$form->getData('timezone')]);
     $defaultConfig->save();
     $floodConfig = new jIniFileModifier(jApp::configPath('havefnubb/flood.coord.ini.php'));
     $floodConfig->setValue('only_same_ip', $form->getData('only_same_ip'));
     $floodConfig->setValue('elapsed_time_between_two_post', $form->getData('elapsed_time_between_two_post'));
     $floodConfig->save();
     jForms::destroy('hfnuadmin~config');
     jMessage::add(jLocale::get('hfnuadmin~config.config.modified'), 'ok');
     return $resp;
 }