Avatar billede cpccorp Juniormester
18. januar 2005 - 23:51 Der er 7 kommentarer og
1 løsning

Gøre et menu/adgangs-script mere kompakt

Jeg har en menu som skal vises udfra hvad brugeren har tilladelse til at se, men istedet for at lave alle if..then, kunne det måske gøres mere enkelt



Således ser scriptet ud nu, måske skal selve menuen også være fra en database??

<%
Set con = Server.CreateObject("ADODB.Connection")
con.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/admin_2005.mdb")
con.Open
strSQL = "SELECT mod_senior, mod_ungdom, mod_oldboys, com_team, com_coach, com_border, cp_border, com_commit, cp_commit, com_training, cp_training, com_subscription, cp_subscription, com_honour, com_coachservice, com_scorer, com_sectionnews, com_summary, com_links, com_system, cp_system, com_newsletter, cp_newsletter, com_clubnews, cp_clubnews, com_testarea, com_nextyearcoach, mod_messenger FROM users WHERE id=" & request.Cookies("req") & ";"
Set rs=con.execute(strSQL)
count=0
permit=rs.getrows()
con.Close
set con = nothing
set rs = nothing

Response.Write("<SCRIPT language=JavaScript type=text/javascript>" & vbcrlf)
Response.Write("var myMenu =" & vbcrlf)
Response.Write("[" & vbcrlf)
Response.Write("[null,'Forside','main_2005.asp',null,'FORSIDE']," & vbcrlf)
Response.Write("_cmSplit," & vbcrlf)
if permit(3,0) = true then
Response.Write("[null,'Hold',null,null,'HOLD'," & vbcrlf)
if permit(0,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/content.png"" />','Senior','index2.php?option=com_config',null,'SENIOR-HOLD']," & vbcrlf)
end if
if permit(1,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/content.png"" />','Ungdom',null,null,'UNGDOMS-HOLD']," & vbcrlf)
end if
if permit(2,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/content.png"" />','Oldboys','index2.php?option=com_media',null,'OLDBOYS-HOLD']," & vbcrlf)
end if
Response.Write("_cmSplit," & vbcrlf)
if permit(4,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/user.png"" />','<b>Trænere/ledere</b>',null,null,'TRÆNERE LEDERE'," & vbcrlf)
if permit(0,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/user.png"" />','Senior','cp_coaches.asp?content=1/0/1/0/10','I1','SENIOR TRÆNER/LEDERE']," & vbcrlf)
end if
if permit(1,0) = true then
Response.Write("    ['<img src=""config/js/ThemeOffice/user.png"" />','Ungdom','cp_coaches.asp?content=2/0/1/0/10','I1','UNGDOM TRÆNERE/LEDERE']," & vbcrlf)
end if
if permit(2,0) = true then
Response.Write("        ['<img src=""config/js/ThemeOffice/user.png"" />','Oldboys','cp_coaches.asp?content=3/0/1/0/10','I1','OLDBOYS TRÆNERE/LEDERE']," & vbcrlf)
end if
Response.Write("    ]," & vbcrlf)

end if
if permit(9,0) = true then
Response.Write("_cmSplit," & vbcrlf)
Response.Write("['<img src=""config/js/ThemeOffice/content.png"" />','Træningstider',null,null,'TRÆNINGSTIDER']," & vbcrlf)
end if
if permit(11,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/content.png"" />','Kontingenter','index2.php?option=com_media',null,'KONTINGENTER']," & vbcrlf)
end if
Response.Write("]," & vbcrlf)
Response.Write("_cmSplit," & vbcrlf)
end if
if permit(5,0) = true then
Response.Write("[null,'Udvalg',null,null,'UDVALG'," & vbcrlf)
Response.Write("['<img src=""config/js/ThemeOffice/edit.png"" />','Bestyrelse','mod_border.asp','_self','BESTYRELSE']," & vbcrlf)
Response.Write("_cmSplit," & vbcrlf)
Response.Write("['<img src=""config/js/ThemeOffice/controlpanel.png"" />','<b>Udvalgsmanager</b>',null,null,'UDVALGSMANAGER']," & vbcrlf)
Response.Write("_cmSplit," & vbcrlf)
Response.Write("['<img src=""config/js/ThemeOffice/edit.png"" />','Medlemmer','index2.php?option=com_content&sectionid=0',null,'UDVALGSMEDLEMMER']," & vbcrlf)
Response.Write("['<img src=""config/js/ThemeOffice/edit.png"" />', 'Øvrige', 'index2.php?option=com_content&sectionid=1',null,'ØVRIGE']," & vbcrlf)
Response.Write("]," & vbcrlf)
Response.Write("_cmSplit," & vbcrlf)
end if
if request.Cookies("usertype") = 1 or request.Cookies("usertype") = 2 then
Response.Write("    [null,'Diverse',null,null,'DIVERSE'," & vbcrlf)
if permit(13,0) = true then
Response.Write("            ['<img src=""config/js/ThemeOffice/install.png"" />','Æresmedlemmer','index2.php?option=com_installer&element=component',null,'ÆRESMEDLEMMER']," & vbcrlf)
Response.Write("_cmSplit," & vbcrlf)
end if
if permit(26,0) = true then
Response.Write("            ['<img src=""config/js/ThemeOffice/user.png"" />','Nye Trænere','index2.php?option=com_installer&element=component',null,'NYE TRÆNERE']," & vbcrlf)
end if
Response.Write("]," & vbcrlf)

Response.Write("            _cmSplit," & vbcrlf)

end if
if permit(14,0) = true then
Response.Write("        [null,'Trænerservice',null,null,'TRÆNERSERVICE'," & vbcrlf)
if permit(15,0) = true then
Response.Write("                    ['<img src=""config/js/ThemeOffice/users.png"" />', 'Målscorere', 'index2.php?option=com_installer&element=module', null, 'MÅLSCORERE'," & vbcrlf)
if permit(0,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/users.png"" />','Senior','index2.php?option=com_config',null,'MÅLSCORERE SENIOR']," & vbcrlf)
end if
if permit(1,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/users.png"" />','Ungdom',null,null,'MÅLSCORERE UNGDOM']," & vbcrlf)
end if
if permit(2,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/users.png"" />','Oldboys','index2.php?option=com_media',null,'MÅLSCORERE OLDBOYS']," & vbcrlf)
end if
Response.Write("                    ]," & vbcrlf)
Response.Write("            _cmSplit," & vbcrlf)
end if
if permit(16,0) = true then
Response.Write("            ['<img src=""config/js/ThemeOffice/media.png"" />', 'Nyheder', ""index2.php?option=com_modules"", null, 'NYHEDER'," & vbcrlf)
if permit(0,0) = true then
Response.Write("            ['<img src=""config/js/ThemeOffice/media.png"" />','Senior','index2.php?option=com_config',null,'NYHEDER SENIOR']," & vbcrlf)
end if
if permit(1,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/media.png"" />','Ungdom',null,null,'NYHEDER UNGDOM']," & vbcrlf)
end if
if permit(2,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/media.png"" />','Oldboys','index2.php?option=com_media',null,'NYHEDER OLDBOYS']," & vbcrlf)
end if
Response.Write("            ]," & vbcrlf)
Response.Write("            _cmSplit," & vbcrlf)
end if
if permit(17,0) = true then
Response.Write("            ['<img src=""config/js/ThemeOffice/document.png"" />', 'Resumeer', ""index2.php?option=com_modules&client=admin"", null, 'RESUMEER'," & vbcrlf)
if permit(0,0) = true then
Response.Write("            ['<img src=""config/js/ThemeOffice/document.png"" />','Senior','index2.php?option=com_config',null,'RESUMEER SENIOR']," & vbcrlf)
end if
if permit(1,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/document.png"" />','Ungdom',null,null,'RESUMEER UNGDOM']," & vbcrlf)
end if
if permit(2,0) = true then
Response.Write("['<img src=""config/js/ThemeOffice/document.png"" />','Oldboys','index2.php?option=com_media',null,'RESUMEER OLDBOYS']," & vbcrlf)
end if
Response.Write("            ]," & vbcrlf)
end if
Response.Write("                    ]," & vbcrlf)
Response.Write("                _cmSplit," & vbcrlf)
end if
Response.Write("    [null,'GoEbots',null,null,'GoEbots'," & vbcrlf)
Response.Write("            ['<img src=""config/js/ThemeOffice/db.png"" />', 'DB Admin', 'index2.php?option=com_installer&element=mambot', null, 'DBADMIN']," & vbcrlf)
Response.Write("        _cmSplit," & vbcrlf)
Response.Write("                    ['<img src=""config/js/ThemeOffice/module.png"" />', 'Site GoEbots', ""index2.php?option=com_mambots"", null, 'Manage Site Mambots']," & vbcrlf)
Response.Write("        //['<img src=""config/js/ThemeOffice/module.png"" />', 'Manage Administrator Modules', ""index2.php?option=com_mambots&client=admin"", null, 'Manage installed modules']," & vbcrlf)
Response.Write("            ]," & vbcrlf)
Response.Write("        _cmSplit," & vbcrlf)
Response.Write("        [null,'Klubnyt',null,null,'KLUBNYT'," & vbcrlf)
Response.Write("    ['<img src=""config/js/ThemeOffice/messaging_inbox.png"" />','<b>Opret klubnyt<b>','index2.php?option=com_messages',null,'OPRET KLUBNYT']," & vbcrlf)
Response.Write("    _cmSplit," & vbcrlf)
Response.Write("    ['<img src=""config/js/ThemeOffice/component.png"" />','Arkiv','index2.php?option=com_messages&task=config',null,'KLUBNYT-ARKIV']" & vbcrlf)
Response.Write("    ]," & vbcrlf)
Response.Write("    _cmSplit," & vbcrlf)
Response.Write("    [null,'Nyhedsbrev',null,null,'NYHEDSBREV'," & vbcrlf)
Response.Write("    ['<img src=""config/js/ThemeOffice/messaging_inbox.png"" />','<b>Opret nyhedsbrev<b>','index2.php?option=com_messages',null,'OPRET NYHEDSBREV']," & vbcrlf)
Response.Write("    _cmSplit," & vbcrlf)
Response.Write("    ['<img src=""config/js/ThemeOffice/component.png"" />','Arkiv','index2.php?option=com_messages&task=config',null,'NYHEDSARKIV']" & vbcrlf)
Response.Write("    ]," & vbcrlf)
Response.Write("    _cmSplit," & vbcrlf)
Response.Write("    [null,'System',null,null,null," & vbcrlf)
Response.Write("        ['<img src=""config/js/ThemeOffice/users_add.png"" />', 'Brugere', 'index2.php?option=com_checkin', null,'BRUGERE']," & vbcrlf)
Response.Write("    _cmSplit,        " & vbcrlf)
Response.Write("    ['<img src=""config/js/ThemeOffice/tooltip.png"" />', 'Mine info', 'index2.php?option=com_admin&task=sysinfo', null, 'MINE INFORMATIONER']," & vbcrlf)
Response.Write("    _cmSplit,        " & vbcrlf)
Response.Write("    ['<img src=""config/js/ThemeOffice/messaging_config.png"" />', 'Kontaktinfo', 'index2.php?option=com_admin&task=sysinfo', null, 'KONTAKT INFORMATIONER']," & vbcrlf)
Response.Write("    _cmSplit,        " & vbcrlf)
Response.Write("    ['<img src=""config/js/ThemeOffice/config.png"" />', 'Indstillinger', 'index2.php?option=com_admin&task=sysinfo', null, 'INDSTILLINGER']," & vbcrlf)
Response.Write("        ]," & vbcrlf)
Response.Write("    _cmSplit," & vbcrlf)
Response.Write("[null,'GoEmessage',null,null,'GoEmessage'," & vbcrlf)
Response.Write("['<img src=""config/js/ThemeOffice/help.png"" />','Index','index2.php?option=com_admin&task=help',null,'A big thanks to those involved']," & vbcrlf)
Response.Write("['<img src=""config/js/ThemeOffice/credits.png"" />','Credits','index2.php?option=com_admin&task=credits',null,'A big thanks to those involved']," & vbcrlf)
Response.Write("['<img src=""config/js/ThemeOffice/license.png"" />','License','index2.php?option=com_admin&task=help&page=apdx.license',null,'GNU/GPL License']," & vbcrlf)
Response.Write("['<img src=""config/js/ThemeOffice/help.png"" />', 'Support', 'index2.php?option=com_admin&task=help&page=apdx.support', null, 'Mambo Support']," & vbcrlf)
Response.Write("]," & vbcrlf)
Response.Write("];" & vbcrlf)
Response.Write("cmDraw ('myMenuID', myMenu, 'hbr', cmThemeOffice, 'ThemeOffice');" & vbcrlf)
Response.Write("      </SCRIPT>")
%>
Avatar billede steen_hansen Forsker
19. januar 2005 - 00:12 #1
Jeg ville lægge menuen i en database, benytte SQL og frem for alt skrive en overskuelig kode. Du burde skrive så meget som muligt i HTML, og ikke ASP. Eksempel:

Response.Write("<SCRIPT language=JavaScript type=text/javascript>" & vbcrlf)

burde laves om til

<SCRIPT language=JavaScript type=text/javascript>
Avatar billede steen_hansen Forsker
19. januar 2005 - 00:19 #2
<%
Functions
Variabeldefinitioner m.m.
%>

<html>
    <html>

        <% If .... Then %>

        <html="<%=Variabel_1%>"></html>

        <% Else %>

        <html="<%=Variabel_2%>"></html>

        <% End If %>

    </html>
</html>
Avatar billede cpccorp Juniormester
19. januar 2005 - 01:15 #3
Jo tak, det kan jeg da godt, men selve det kompakte, kan det ikke laves som en slags for x = eller hvad, det var egentligt det jeg spurgte om ovenstående gør den ikke mere kompakt
Avatar billede steen_hansen Forsker
19. januar 2005 - 06:39 #4
Du kunne trække alle dine punkter på admin-siden ud i en løkke (ved du hvordan man gør det?) og hakke af i de menupunkter, som brugerne skal have rettigheder til:

<input type="checkbox" id="permitthismenu" name="ptm"<% if RS("permitthismenu") = True Then %> checked<% End If %>>
Avatar billede cpccorp Juniormester
19. januar 2005 - 15:54 #5
Du må lige forklare det lidt nærmere
Avatar billede cpccorp Juniormester
21. maj 2005 - 13:47 #6
læg et svar
Avatar billede steen_hansen Forsker
22. maj 2005 - 23:30 #7
Sorry, jeg kom helt bort fra dit spørgsmål :/

Du laver mange-til-én relation, laver hovedmenupunkter, og derefter tilhørende undermenupunkter. Har du styr på det? Jeg kan måske godt forsøge at lave et eksempel, men det er ikke "bare lige" :)
Avatar billede cpccorp Juniormester
23. maj 2005 - 00:03 #8
ja prøv det hvis du gider
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester