コード例 #1
0
ファイル: save.dev.db.php プロジェクト: netixx/frankiz
 *  Foundation, Inc.,                                                      *
 *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
 ***************************************************************************/
/**
 * This script saves database information into outputed SQL lines
 */
require_once dirname(__FILE__) . '/connect.db.inc.php';
// DELETE confidential data
echo XDB::format('UPDATE account SET password={?};', '') . PHP_EOL;
echo 'DELETE FROM remote;' . PHP_EOL;
echo 'DELETE FROM remote_groups;' . PHP_EOL;
// Get this data from bdd
$iter = XDB::iterRow('SELECT  hruid, password
                        FROM  account
                       WHERE  password != {?}', '');
while (list($hruid, $password) = $iter->next()) {
    echo XDB::format('UPDATE account SET password = {?} WHERE hruid = {?};', $password, $hruid) . PHP_EOL;
}
// Save dev's remote sites
$remote_cols = array('site', 'privkey', 'label', 'rights');
$remotes = Remote::selectAll(RemoteSelect::groups());
foreach ($remotes as $r) {
    $query = XDB::format('INSERT INTO remote SET remid = {?}', $r->id());
    foreach ($remote_cols as $c) {
        $query .= XDB::format(', ' . $c . ' = {?}', $r->{$c}());
    }
    echo $query . ';' . PHP_EOL;
    foreach ($r->groups() as $g) {
        echo XDB::format('INSERT INTO remote_groups SET remid = {?}, gid = {?};', $r->id(), $g->id()) . PHP_EOL;
    }
}
コード例 #2
0
ファイル: remote.php プロジェクト: netixx/frankiz
 function handler_admin($page, $id = null, $action = null)
 {
     $page->assign('title', "Administration de l'authentification externe");
     $page->assign('remoterights_available', implode(',', Remote::availableRights()));
     // Find remote
     $remote = null;
     if ($id == 'new') {
         $remote = new Remote();
         $remote->insert();
     } elseif (Remote::isId($id)) {
         $remote = new Remote($id);
         // Delete a remote
         if ($action == 'delete') {
             $remote->delete();
             $remote = null;
         }
     }
     if (!empty($remote)) {
         $remote->select(RemoteSelect::groups());
         if (Env::has('change_remote')) {
             $remote->site(Env::t('site'));
             $remote->label(Env::t('label'));
             $remote->privkey(Env::t('privkey'));
             $rights = explode(',', Env::t('rights'));
             foreach ($rights as $k => $v) {
                 $rights[$k] = strtolower(trim($v));
             }
             $rights = array_intersect($rights, Remote::availableRights());
             $remote->rights(new PlFlagSet(implode(',', $rights)));
             $groups = new Collection('Group');
             $groups_fields = array('binets', 'frees');
             foreach ($groups_fields as $field) {
                 foreach (explode(';', Env::t($field)) as $gid) {
                     $gid = trim($gid);
                     if ($gid) {
                         $groups->add(new Group($gid));
                     }
                 }
             }
             $groups->select(GroupSelect::base());
             $remote->groups($groups);
         }
         $page->assign('remote', $remote);
         $page->changeTpl('remote/admin.tpl');
     } else {
         $remotes = Remote::selectAll(RemoteSelect::groups());
         $page->assign('remotes', $remotes);
         $page->changeTpl('remote/list.tpl');
     }
 }