$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(); }
/** * **/ 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(); }
/** * **/ 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))); }