Пример #1
0
/**
* Shows the autotag permission form
*
* @param    string      $autotag_id     ID of group to edit
* @return   string      HTML for group editor
*
*/
function ATP_edit($autotag_id = '')
{
    global $_TABLES, $_CONF, $_USER, $LANG01, $LANG_ACCESS, $LANG_ADMIN, $LANG_AM, $MESSAGE, $LANG28, $VERBOSE;
    USES_lib_admin();
    $retval = '';
    $form_url = '';
    $token = SEC_createToken();
    $admin_list = new Template($_CONF['path_layout'] . 'admin/autotag/');
    $admin_list->set_file('admin', 'autotag_perm.thtml');
    $menu_arr = array(array('url' => $_CONF['site_admin_url'] . '/autotag.php', 'text' => 'Autotag List'), array('url' => $_CONF['site_admin_url'] . '/index.php', 'text' => $LANG_ADMIN['admin_home']));
    $retval .= COM_startBlock($LANG01['autotag_perms'], '', COM_getBlockTemplate('_admin_block', 'header'));
    $retval .= ADMIN_createMenu($menu_arr, $LANG_AM['autotagpermmsg'], $_CONF['layout_url'] . '/images/icons/autotag.png');
    $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer'));
    $header_arr = array(array('text' => $LANG_AM['allowed'], 'field' => 'usage_allowed', 'sort' => false, 'align' => 'left'), array('text' => $LANG_AM['namespace'], 'field' => 'usage_namespace', 'sort' => true, 'align' => 'left'), array('text' => $LANG_AM['operation'], 'field' => 'usage_operation', 'sort' => true, 'align' => 'left'));
    $text_arr = array('has_menu' => false, 'title' => $LANG_AM['autotag'] . ': ' . $autotag_id, 'help_url' => '', 'no_data' => 'No data to display', 'form_url' => '');
    $defsort_arr = array('field' => 'usage_namespace', 'direction' => 'asc');
    $form_arr = array();
    $options = array();
    $extra = array();
    $tagUsage = PLG_collectAutotagUsage();
    $sql = "SELECT * FROM {$_TABLES['autotag_perm']} JOIN {$_TABLES['autotag_usage']} ON ";
    $sql .= "{$_TABLES['autotag_perm']}.autotag_id = {$_TABLES['autotag_usage']}.autotag_id ";
    $sql .= "WHERE {$_TABLES['autotag_perm']}.autotag_id = '" . DB_escapeString($autotag_id) . "' ORDER BY usage_namespace ASC";
    $result = DB_query($sql);
    $autoTagPerms = array();
    while ($row = DB_fetchArray($result)) {
        $autoTagPerms[] = $row['autotag_name'] . '.' . $row['usage_namespace'] . '.' . $row['usage_operation'];
        $autotagPermissions[] = $row;
    }
    $autoTags = PLG_collectTags();
    foreach ($autoTags as $autotag_name => $namespace) {
        if ($autotag_name != $autotag_id) {
            continue;
        }
        foreach ($tagUsage as $usage) {
            $allowed = 1;
            // default is to allow
            $needle = $autotag_name . '.' . $usage['namespace'] . '.' . $usage['usage'];
            $pointer = array_search($needle, $autoTagPerms);
            if ($pointer !== FALSE) {
                $allowed = $autotagPermissions[$pointer]['autotag_allowed'];
            }
            $final[$needle] = array('usage_id' => $needle, 'autotag_name' => $autotag_name, 'usage_namespace' => $usage['namespace'], 'usage_operation' => $usage['usage'], 'usage_allowed' => $allowed);
        }
    }
    $FinalList = ADMIN_listArray('autotag-list', 'AT_getListField', $header_arr, $text_arr, $final, $defsort_arr, '', $extra, $options, $form_arr);
    $admin_list->set_var('admin_list', $FinalList);
    $admin_list->set_var('input_csrf_token', CSRF_TOKEN);
    $admin_list->set_var('var_token', $token);
    $admin_list->set_var('var_autotag_id', $autotag_id);
    $retval .= $admin_list->parse('output', 'admin');
    return $retval;
}
Пример #2
0
/**
* List available plugins
*
* @return   string                  formatted list of plugins
*
*/
function PLUGINS_list($token)
{
    global $_CONF, $_TABLES, $LANG32, $LANG_ADMIN, $_IMAGE_TYPE, $data_arr;
    USES_lib_admin();
    $T = new Template($_CONF['path_layout'] . 'admin/plugins/');
    $T->set_file('admin-list', 'plugin_list.thtml');
    $T->set_var('block_start', COM_startBlock($LANG32[5], '', COM_getBlockTemplate('_admin_block', 'header')));
    $menu_arr = array(array('url' => $_CONF['site_admin_url'], 'text' => $LANG_ADMIN['admin_home']));
    $T->set_var('admin_menu', ADMIN_createMenu($menu_arr, $LANG32[11], $_CONF['layout_url'] . '/images/icons/plugins.' . $_IMAGE_TYPE));
    $T->set_var('upload_form', PLUGINS_showUploadForm($token));
    // show the plugin upload form
    $data_arr = array();
    PLUGINS_loadPlugins($data_arr);
    // installed plugins
    PLUGINS_loadNewPlugins($data_arr);
    // uninstalled/new plugins
    $defsort_arr = array('field' => 'pi_name', 'direction' => 'asc');
    $header_arr = array(array('text' => $LANG32[78], 'field' => 'control', 'align' => 'center', 'width' => '40px'), array('text' => $LANG32[16], 'field' => 'pi_name', 'sort' => true), array('text' => $LANG32[36], 'field' => 'version', 'align' => 'center', 'nowrap' => true, 'width' => '75px'), array('text' => $LANG32[83], 'field' => 'info', 'align' => 'center', 'width' => '40px'), array('text' => $LANG32[84], 'field' => 'bundled', 'align' => 'center', 'width' => '40px', 'sort' => true), array('text' => $LANG32[27], 'field' => 'pi_homepage', 'nowrap' => true, 'width' => '150px', 'sort' => true), array('text' => $LANG32[18], 'field' => 'pi_gl_version', 'align' => 'center', 'width' => '75px', 'sort' => true), array('text' => $LANG32[79], 'field' => 'unplug', 'align' => 'center', 'width' => '40px'));
    $text_arr = array('form_url' => $_CONF['site_admin_url'] . '/plugins.php');
    $options_arr = array();
    // set security token and plugin enable/disable indicator
    $form_arr = array('top' => '<input type="hidden" name="' . CSRF_TOKEN . '" value="' . $token . '"/>', 'bottom' => '<input type="hidden" name="pluginenabler" value="true"/>');
    $T->set_var('plugin_list', ADMIN_listArray('plugins', 'PLUGINS_getListField', $header_arr, $text_arr, $data_arr, $defsort_arr, '', $token, $options_arr, $form_arr));
    $T->set_var('block_end', COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer')));
    $retval = $T->parse('output', 'admin-list');
    return $retval;
}
Пример #3
0
/**
* Common function used in Admin scripts to display a list of items (old version)
*
* @param    string  $fieldfunction  Name of a function used to display the list item row details
* @param    array   $header_arr     array of header fields with sortables and table fields
* @param    array   $text_arr       array with different text strings
* @param    array   $data_arr       array with sql query data - array of list records
* @param    array   $options_arr    array of options - used for check-all feature
* @param    array   $form_arr       optional extra forms at top or bottom
* @param    string  $extra          additional values passed to fieldfunction
* @return   string                  HTML output of function
*
*/
function ADMIN_simpleList($fieldfunction, $header_arr, $text_arr, $data_arr, $options_arr = '', $form_arr = '', $extra = '')
{
    // these are not used by simpleList - initialize to prevent E_ALL issues
    $defsort_arr = array('field' => 0, 'direction' => 'ASC');
    $filter = '';
    $retval = ADMIN_listArray('simpleList', $fieldfunction, $header_arr, $text_arr, $data_arr, $defsort_arr, $filter, $extra, $options_arr, $form_arr);
    return $retval;
}