Exemplo n.º 1
0
function nexlistShowDefinitions($plugin = '', $category = '')
{
    global $_USER, $_CONF, $_TABLES, $actionurl;
    $p = new Template($_CONF['path_layout'] . 'nexlist');
    $p->set_file(array('page' => 'viewdefinitions.thtml', 'javascript' => 'javascript/definitions.thtml', 'def_rec' => 'definition_record.thtml', 'fields' => 'definition_fields.thtml', 'field_rec' => 'definition_field_record.thtml'));
    $p->set_var('actionurl', $actionurl);
    $p->set_var('LANG_DELCONFIRM', 'Are you sure you want to delete this definition?');
    if (!SEC_hasRights('nexlist.edit')) {
        $p->set_var('hide_adddef', 'none');
    }
    if ($GLOBALS['errmsg'] != '') {
        $p->set_var('error_msg', $GLOBALS['errmsg']);
    } else {
        $p->set_var('hide_errormsg', 'none');
    }
    $linkoptions = '';
    $imgset = $_CONF['layout_url'] . '/nexlist/images/admin/';
    $view_definition_icon = $imgset . 'view.gif';
    $edit_definition_icon = $imgset . 'edit.gif';
    $del_definition_icon = $imgset . 'delete.gif';
    $copy_definition_icon = $imgset . 'copy.gif';
    $editDefLink = '<a id="edefinition_%s" href="#" onClick="return false;"><img src="' . $imgset . 'edit.gif" border="0" TITLE="Edit Definition"></a>';
    $copyDefLink = '<a href="' . $actionurl . '?op=copy_def&listid=%s"><img src="' . $copy_definition_icon . '" border="0" TITLE="Copy Definition"></a>';
    $delDefLink = '<a href="' . $actionurl . '?op=delete_def&listid=%s"><img src="' . $del_definition_icon . '" border="0" TITLE="Delete Definition"></a>';
    $sql = "SELECT * FROM {$_TABLES['nexlist']} ";
    if ($plugin != '') {
        $sql .= " WHERE plugin='{$plugin}' ";
        $p->set_var('show_plugin', 'none');
        $p->set_var('pluginmode', $plugin);
        $linkoptions = "&pluginmode={$plugin}";
        if ($category != '') {
            $sql .= "AND category='{$category}'";
            $p->set_var('show_category', 'none');
            $p->set_var('new_category', $category);
            $p->set_var('catmode', $category);
            $linkoptions .= "&catmode={$category}";
        }
    } elseif ($category != '') {
        $sql .= "WHERE category='{$category}'";
        $p->set_var('show_category', 'none');
        $p->set_var('new_category', $category);
        $p->set_var('catmode', $category);
        $linkoptions = "&catmode={$category}";
    }
    $chk_editperms = true;
    if (!SEC_inGroup('Root', $uid)) {
        $GROUPS = SEC_getUserGroups($_USER['uid']);
        if ($plugin != '') {
            $sql .= ' AND ';
        } else {
            $sql .= ' WHERE ';
        }
        $sql .= "view_perms IN (" . implode(',', $GROUPS) . ") ";
    }
    $sql .= " ORDER BY name";
    $DEF_query = DB_query($sql);
    $new_plugin_options = '<option value="all">All Plugins</option>';
    $query = DB_query("SELECT pi_name FROM {$_TABLES['plugins']}");
    while (list($pi_name) = DB_fetchArray($query)) {
        $new_plugin_options .= '<option value="' . $pi_name . '">' . $pi_name . '</option>';
    }
    $p->set_var('new_editperms', COM_optionList($_TABLES['groups'], 'grp_id,grp_name'));
    $p->set_var('new_plugin_options', $new_plugin_options);
    $i = 1;
    $max_numfields = 0;
    $p->set_var('num_records', DB_numRows($DEF_query));
    while ($DEF = DB_fetchArray($DEF_query)) {
        $plugin_options = '<option value="all">All Plugins</option>';
        $query = DB_query("SELECT pi_name FROM {$_TABLES['plugins']}");
        while (list($pi_name) = DB_fetchArray($query)) {
            if ($pi_name == $DEF['plugin']) {
                $plugin_options .= '<option value="' . $pi_name . '" SELECTED=selected>' . $pi_name . '</option>';
            } else {
                $plugin_options .= '<option value="' . $pi_name . '">' . $pi_name . '</option>';
            }
        }
        $p->set_var('rowid', $i);
        $p->set_var('cssid', $i % 2 + 1);
        $p->set_var('definition_id', $DEF['id']);
        $p->set_var('definition_name', $DEF['name']);
        $p->set_var('plugin', $DEF['plugin']);
        $p->set_var('plugin_options', $plugin_options);
        $p->set_var('category', $DEF['category']);
        $p->set_var('description', nl2br($DEF['description']));
        $view_definition_url = $actionurl . '?op=list_def&listid=' . $DEF['id'];
        $p->set_var('view_definition_url', $view_definition_url . $linkoptions);
        $p->set_var('view_definition_icon', $view_definition_icon);
        if (SEC_inGroup($DEF['edit_perms'])) {
            $p->set_var('editperms_link', sprintf($editDefLink, $i));
            $p->set_var('copyperms_link', sprintf($copyDefLink, $DEF['id']));
            $p->set_var('delperms_link', sprintf($delDefLink, $DEF['id']));
            $p->set_var('edit_description', $DEF['description']);
            $p->set_var('viewperms', COM_optionList($_TABLES['groups'], 'grp_id,grp_name', $DEF['view_perms']));
            $p->set_var('editperms', COM_optionList($_TABLES['groups'], 'grp_id,grp_name', $DEF['edit_perms']));
            $p->set_var('editdef_link', '<a href="#" onClick="editDefinition(' . $i . ');return false;">Edit Details</a>');
        } else {
            $p->set_var('editperms_link', '');
            $p->set_var('copyperms_link', '');
            $p->set_var('delperms_link', '');
            $p->set_var('editdef_link', '');
        }
        $sql = "SELECT * FROM {$_TABLES['nexlistfields']} WHERE lid='{$DEF['id']}' ORDER BY id";
        $FLD_query = DB_Query($sql);
        $numfields = DB_numrows($FLD_query);
        $max_numfields = $numfields > $max_numfields ? $numfields : $max_numfields;
        if ($numfields > 0) {
            $j = 1;
            $p->set_var('show_fields', '');
            $p->set_var('num_fields', $numfields);
            while ($FLD = DB_fetchArray($FLD_query, false)) {
                $edit_link = "&nbsp;[<a href=\"#\" onClick='editListField({$i},{$j});return false;'>Edit</a>&nbsp;]";
                $del_link = "&nbsp;[<a href=\"#\" onClick='ajaxUpdateDefinition(\"deleteField\",{$i},{$j});'\">Delete</a>&nbsp;]";
                $p->set_var('field_recid', $FLD['id']);
                $p->set_var('field_name', $FLD['fieldname']);
                $p->set_var('field_value', $FLD['value_by_function']);
                $p->set_var('field_width', $FLD['width']);
                $p->set_var('field_id', $j);
                if ($FLD['predefined_function'] == 1) {
                    $checked = 'CHECKED';
                    $display_ftext = 'none';
                    $display_fddown = '';
                    $p->set_var('function_dropdown_options', nexlist_getCustomListFunctionOptions($FLD['value_by_function']));
                } else {
                    $checked = '';
                    $display_ftext = '';
                    $display_fddown = 'none';
                    $p->set_var('function_dropdown_options', nexlist_getCustomListFunctionOptions());
                }
                $p->set_var('checked', $checked);
                $p->set_var('display_ftext', $display_ftext);
                $p->set_var('display_fddown', $display_fddown);
                $p->set_var('edit_link', $edit_link);
                $p->set_var('delete_link', $del_link);
                if ($j == 1) {
                    $p->parse('definition_field_records', 'field_rec');
                } else {
                    $p->parse('definition_field_records', 'field_rec', true);
                }
                $j++;
            }
            $p->parse('definition_fields', 'fields');
        } else {
            $p->set_var('show_fields', 'none');
            $p->set_var('definition_field_records', '');
            $p->parse('definition_fields', 'fields');
        }
        $p->parse('definition_records', 'def_rec', true);
        $i++;
    }
    $p->set_var('max_numfields', $max_numfields);
    $p->parse('javascript_code', 'javascript');
    $p->parse('output', 'page');
    return $p->finish($p->get_var('output'));
}
Exemplo n.º 2
0
function generatenexlistFieldHTML($did, $row)
{
    global $_CONF, $_TABLES;
    $p = new Template($_CONF['path_layout'] . 'nexlist');
    $p->set_file(array('fields' => 'definition_fields.thtml', 'field_rec' => 'definition_field_record.thtml'));
    $p->set_var('definition_id', $did);
    $p->set_var('rowid', $row);
    $sql = "SELECT * FROM {$_TABLES['nexlistfields']} WHERE lid='{$did}' ORDER BY id";
    $FLD_query = DB_Query($sql);
    $numfields = DB_numrows($FLD_query);
    if ($numfields > 0) {
        $j = 1;
        $p->set_var('show_fields', '');
        while ($FLD = DB_fetchArray($FLD_query, false)) {
            $edit_link = "&nbsp;[<a href=\"#\" onClick='editListField({$row},{$j});'>Edit</a>&nbsp;]";
            $del_link = "&nbsp;[<a href=\"#\" onClick='ajaxUpdateDefinition(\"deleteField\",{$row},{$j});'\">Delete</a>&nbsp;]";
            $p->set_var('field_recid', $FLD['id']);
            $p->set_var('field_name', $FLD['fieldname']);
            $p->set_var('field_value', $FLD['value_by_function']);
            $p->set_var('field_width', $FLD['width']);
            $p->set_var('field_id', $j);
            $p->set_var('edit_link', $edit_link);
            $p->set_var('delete_link', $del_link);
            if ($FLD['predefined_function'] == 1) {
                $checked = 'CHECKED';
                $display_ftext = 'none';
                $display_fddown = '';
                $p->set_var('function_dropdown_options', nexlist_getCustomListFunctionOptions($FLD['value_by_function']));
            } else {
                $checked = '';
                $display_ftext = '';
                $display_fddown = 'none';
                $p->set_var('function_dropdown_options', nexlist_getCustomListFunctionOptions());
            }
            $p->set_var('checked', $checked);
            $p->set_var('display_ftext', $display_ftext);
            $p->set_var('display_fddown', $display_fddown);
            if ($j == 1) {
                $p->parse('definition_field_records', 'field_rec');
            } else {
                $p->parse('definition_field_records', 'field_rec', true);
            }
            $j++;
        }
        $p->parse('definition_fields', 'fields');
    } else {
        $p->set_var('show_fields', 'none');
        $p->set_var('definition_field_records', '');
    }
    $p->parse('output', 'fields');
    $html = $p->finish($p->get_var('output'));
    $html = htmlentities($html);
    return $html;
}