Exemple #1
0
$parser->addGlobal('MOD_DROPLET', $MOD_DROPLET);
if (isset($_REQUEST['del']) && is_numeric($_REQUEST['del'])) {
    $_POST['markeddroplet'] = $_REQUEST['del'];
    $_REQUEST['delete'] = 1;
}
if (isset($_REQUEST['toggle']) && is_numeric($_REQUEST['toggle'])) {
    toggle_active($_REQUEST['toggle']);
    list_droplets();
} elseif (isset($_REQUEST['add'])) {
    edit_droplet('new');
} elseif (isset($_REQUEST['edit']) && !isset($_REQUEST['cancel'])) {
    edit_droplet($_REQUEST['edit']);
} elseif (isset($_REQUEST['copy']) && is_numeric($_REQUEST['copy'])) {
    copy_droplet($_REQUEST['copy']);
} elseif (isset($_REQUEST['backups']) && !isset($_REQUEST['cancel'])) {
    manage_backups();
} elseif (isset($_REQUEST['export']) && !isset($_REQUEST['cancel'])) {
    $info = export_droplets();
    list_droplets($info);
} elseif (isset($_REQUEST['import']) && !isset($_REQUEST['cancel'])) {
    import_droplets();
} elseif (isset($_REQUEST['delete']) && !isset($_REQUEST['cancel'])) {
    export_droplets();
    delete_droplets();
} elseif (isset($_REQUEST['droplet_perms']) && is_numeric($_REQUEST['droplet_perms']) && !isset($_REQUEST['cancel'])) {
    edit_droplet_perms($_REQUEST['droplet_perms']);
} elseif (isset($_REQUEST['perms']) && !isset($_REQUEST['cancel'])) {
    manage_perms();
} else {
    list_droplets();
}
Exemple #2
0
/**
 *
 **/
function toggle_active($id)
{
    global $parser, $val, $backend;
    $groups = CAT_Users::get_groups_id();
    if (!CAT_Helper_Droplet::is_allowed('modify_droplets', $groups)) {
        $backend->print_error($backend->lang()->translate("You don't have the permission to do this"));
    }
    $data = CAT_Helper_Droplet::getDroplet($id);
    $new = $data['active'] == 1 ? 0 : 1;
    $backend->db()->query('UPDATE `:prefix:mod_droplets` SET active=:active WHERE id=:id', array('active' => $new, 'id' => $id));
    return list_droplets();
}
Exemple #3
0
/**
 *
 **/
function edit_droplet_perms($id)
{
    global $admin, $parser, $database, $MOD_DROPLET;
    // look if user can set permissions
    $this_user_groups = $admin->get_groups_id();
    if (!is_allowed('Manage_perms', $this_user_groups)) {
        $admin->print_error($MOD_DROPLET["You don't have the permission to do this"]);
    }
    $info = NULL;
    // get available groups
    $query = $database->query('SELECT group_id, name FROM ' . TABLE_PREFIX . 'groups ORDER BY name');
    if ($query->numRows()) {
        while ($row = $query->fetchRow(MYSQL_ASSOC)) {
            $groups[$row['group_id']] = $row['name'];
        }
    }
    // save perms
    if (isset($_REQUEST['save']) || isset($_REQUEST['save_and_back'])) {
        $edit = isset($_REQUEST['edit_perm']) ? is_array($_REQUEST['edit_perm']) ? implode('|', $_REQUEST['edit_perm']) : $_REQUEST['edit_perm'] : NULL;
        $view = isset($_REQUEST['view_perm']) ? is_array($_REQUEST['view_perm']) ? implode('|', $_REQUEST['view_perm']) : $_REQUEST['view_perm'] : NULL;
        $database->query('REPLACE INTO ' . TABLE_PREFIX . "mod_droplets_permissions VALUES( '{$id}', '{$edit}', '{$view}' );");
        $info = $MOD_DROPLET['The Droplet was saved'];
        if (isset($_REQUEST['save_and_back'])) {
            return list_droplets($info);
        }
    }
    // get droplet data
    $query = $database->query("SELECT * FROM " . TABLE_PREFIX . "mod_droplets AS t1 LEFT OUTER JOIN " . TABLE_PREFIX . "mod_droplets_permissions AS t2 ON t1.id=t2.id WHERE t1.id = '{$id}'");
    $data = $query->fetchRow(MYSQL_ASSOC);
    foreach (array('edit_perm', 'view_perm') as $key) {
        $allowed_groups = isset($data[$key]) ? explode('|', $data[$key]) : array();
        $line = array();
        foreach ($groups as $gid => $name) {
            $line[] = '<input type="checkbox" name="' . $key . '[]" id="' . $key . '_' . $gid . '" value="' . $gid . '"' . (is_in_array($allowed_groups, $gid) || !count($allowed_groups) ? ' checked="checked"' : NULL) . '>' . '<label for="' . $key . '_' . $gid . '">' . $name . '</label>' . "\n";
        }
        $rows[] = array('groups' => implode('', $line), 'name' => $MOD_DROPLET[$key]);
    }
    echo $parser->render('@droplets/droplet_permissions.lte', array('rows' => $rows, 'info' => $info, 'id' => $id, 'num_rows' => count($rows)));
}