Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
width: 10px; height: 75px;
margin-left: 35px; background-color: red;
-webkit-transform: rotate45deg; -ms-transform: rotate45deg;
transform: rotate45deg; }
.portfolio-modal .close-modal .lr .rl { z-index: 1052;
width: 10px; height: 75px;
background-color: red; -webkit-transform: rotate90deg;
-ms-transform: rotate90deg; transform: rotate90deg;
} .portfolio-modal .modal-backdrop {
display: none; opacity: 0;
}
7. Index.php
?php Simple Machines Forum SMF
package SMF author Simple Machines http:www.simplemachines.org
copyright 2011 Simple Machines license http:www.simplemachines.orgaboutsmflicense.php BSD
version 2.0.11
This, as you have probably guessed, is the crux on which SMF functions.
Everything should start here, so all the setup and security is done properly. The most interesting part of this file is the action array in
the smf_main function. It is formatted as so:
Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
action-in-url = arraySource-File.php, FunctionToCall, Then, you can access the FunctionToCall function from Source-
File.php with the URL index.php?action=action-in-url. Relatively simple, no?
forum_version = SMF 2.0.11; ini_setmemory_limit, 128M;
Get everything started up... defineSMF, 1;
if function_existsset_magic_quotes_runtime
set_magic_quotes_runtime0; error_reportingdefinedE_STRICT ? E_ALL | E_STRICT : E_ALL;
time_start = microtime; This makes it so headers can be sent
ob_start; Do some cleaning, just in case.
foreach arraydb_character_set, cachedir as variable
if issetGLOBALS[variable] unsetGLOBALS[variable], GLOBALS[variable];
Load the settings... require_oncedirname__FILE__ . Settings.php;
Make absolutely sure the cache directory is defined. if emptycachedir || file_existscachedir file_existsboarddir .
cache
cachedir = boarddir . cache; And important includes.
require_oncesourcedir . QueryString.php; require_oncesourcedir . Subs.php;
require_oncesourcedir . Errors.php; require_oncesourcedir . Load.php;
require_oncesourcedir . Security.php; Using an pre-PHP 5.1 version?
Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
if version_comparePHP_VERSION, 5.1 == -1 require_oncesourcedir . Subs-Compat.php;
If maintenance is set specifically to 2, then were upgrading or something. if emptymaintenance maintenance == 2
db_fatal_error; Create a variable to store some SMF specific functions in.
smcFunc = array; Initate the database connection and define some database functions to use.
loadDatabase; Load the settings from the settings table, and perform operations like
optimizing. reloadSettings;
Clean the request variables, add slashes, etc. cleanRequest;
context = array; Seed the random generator.
if emptymodSettings[rand_seed] || mt_rand1, 250 == 69
smf_seed_generator; Before we get carried away, are we doing a scheduled task? If so save CPU
cycles by jumping out if isset_GET[scheduled]
{
require_oncesourcedir . ScheduledTasks.php; AutoTask;
} Check if compressed output is enabled, supported, and not already being
done. if emptymodSettings[enableCompressedOutput] headers_sent
{
If zlib is being used, turn off output compression. if ini_getzlib.output_compression == 1 ||
ini_getoutput_handler == ob_gzhandler || version_comparePHP_VERSION, 4.2.0 == -1
modSettings[enableCompressedOutput] = 0; else
Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
{ ob_end_clean;
ob_startob_gzhandler; }
} Emit some headers for some modicum of protection against nasties.
if headers_sent {
Future versions will make some of this configurable. This is primarily a safe configuration for most cases for now.
headerX-Frame-Options: SAMEORIGIN; headerX-XSS-Protection: 1;
headerX-Content-Type-Options: nosniff; }
Register an error handler. set_error_handlererror_handler;
Start the session. assuming it hasnt already been. loadSession;
Determine if this is using WAP, WAP2, or imode. Technically, we should check that wap comes before applicationxhtml or texthtml, but this doesnt
work in practice as much as it should. if isset_REQUEST[wap] || isset_REQUEST[wap2] ||
isset_REQUEST[imode]
unset_SESSION[nowap]; elseif isset_REQUEST[nowap]
_SESSION[nowap] = true; elseif isset_SESSION[nowap]
{ if isset_SERVER[HTTP_ACCEPT]
strpos_SERVER[HTTP_ACCEPT], applicationvnd.wap.xhtml+xml == false
_REQUEST[wap2] = 1; elseif isset_SERVER[HTTP_ACCEPT]
strpos_SERVER[HTTP_ACCEPT], textvnd.wap.wml == false {
if strpos_SERVER[HTTP_USER_AGENT], DoCoMo == false || strpos_SERVER[HTTP_USER_AGENT], portalmmm ==
false
Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
_REQUEST[imode] = 1; else
_REQUEST[wap] = 1; }
} if definedWIRELESS
defineWIRELESS, isset_REQUEST[wap] || isset_REQUEST[wap2] || isset_REQUEST[imode];
Some settings and headers are different for wireless protocols. if WIRELESS
{
defineWIRELESS_PROTOCOL, isset_REQUEST[wap] ? wap : isset_REQUEST[wap2] ? wap2 : isset_REQUEST[imode] ?
imode : ;
Some cellphones cant handle output compression... modSettings[enableCompressedOutput] = 0;
Do we want these hard coded? modSettings[defaultMaxMessages] = 5;
modSettings[defaultMaxTopics] = 9; Wireless protocol header.
if WIRELESS_PROTOCOL == wap headerContent-Type: textvnd.wap.wml;
} Restore post data if we are revalidating OpenID.
if isset_GET[openid_restore_post] empty_SESSION[openid][saved_data][_GET[openid_restore_post]][p
ost] empty_POST {
_POST = _SESSION[openid][saved_data][_GET[openid_restore_post]][post];
unset_SESSION[openid][saved_data][_GET[openid_restore_pos t]];
} What function shall we execute? done like this for memorys sake.
call_user_funcsmf_main;
Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
Call obExit specially; were coming from the main area ;. obExitnull, null, true;
The main controlling function. function smf_main
{
global modSettings, settings, user_info, board, topic, board_info, maintenance, sourcedir;
Special case: session keep-alive, output a transparent pixel. if isset_GET[action] _GET[action] == keepalive
{ headerContent-Type: imagegif;
die\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x0 0\x00\x00\x00\x00\x21\xF9\x04\x01\x00\x00\x00\x00\x2C\x00\x00\x00\x00\
x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3B; }
Load the users cookie or set as guest and load their settings. loadUserSettings;
Load the current boards information. loadBoard;
Load the current users permissions. loadPermissions;
Attachments dont require the entire theme to be loaded. if isset_REQUEST[action] _REQUEST[action] ==
dlattach emptymodSettings[allow_guestAccess] user_info[is_guest]
detectBrowser; Load the current theme. note that ?theme=1 will also work, may be
used for guest theming. else
loadTheme; Check if the user should be disallowed access.
is_not_banned;
Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
If we are in a topic and dont have permission to approve it then duck out now.
if emptytopic emptyboard_info[cur_topic_approved] allowedToapprove_posts user_info[id] =
board_info[cur_topic_starter] || user_info[is_guest] fatal_lang_errornot_a_topic, false;
Do some logging, unless this is an attachment, avatar, toggle of editor buttons, theme option, XML feed etc.
if empty_REQUEST[action] || in_array_REQUEST[action], arraydlattach, findmember, jseditor, jsoption, requestmembers, smstats,
.xml, xmlhttp, verificationcode, viewquery, viewsmfile {
Log this user as online. writeLog;
Track forum statistics and hits...? if emptymodSettings[hitStats]
trackStatsarrayhits = +; }
Is the forum in maintenance mode? doesnt apply to administrators. if emptymaintenance allowedToadmin_forum
{ You can only login.... otherwise, youre getting the
maintenance mode display. if isset_REQUEST[action] _REQUEST[action] ==
login2 || _REQUEST[action] == logout {
require_oncesourcedir . LogInOut.php; return _REQUEST[action] == login2 ? Login2 :
Logout; }
Dont even try it, sonny. else
{ require_oncesourcedir . Subs-Auth.php;
return InMaintenance; }
} If guest access is off, a guest can only do one of the very few
following actions.
Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
elseif emptymodSettings[allow_guestAccess] user_info[is_guest] isset_REQUEST[action] ||
in_array_REQUEST[action], arraycoppa, login, login2, register, register2, reminder, activate, help, smstats, mailq, verificationcode,
openidreturn
{ require_oncesourcedir . Subs-Auth.php;
return KickGuest; }
elseif empty_REQUEST[action] {
Action and board are both empty... BoardIndex if emptyboard emptytopic
{ require_oncesourcedir . BoardIndex.php;
return BoardIndex; }
Topic is empty, and action is empty.... MessageIndex elseif emptytopic
{ require_oncesourcedir . MessageIndex.php;
return MessageIndex; }
Board is not empty... topic is not empty... action is empty.. Display
else {
require_oncesourcedir . Display.php; return Display;
} }
Heres the monstrous _REQUEST[action] array - _REQUEST[action] = arrayfile, function.
actionArray = array activate = arrayRegister.php, Activate,
admin = arrayAdmin.php, AdminMain, announce = arrayPost.php, AnnounceTopic,
attachapprove = arrayManageAttachments.php, ApproveAttach,
buddy = arraySubs-Members.php, BuddyListToggle, calendar = arrayCalendar.php, CalendarMain,
Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
clock = arrayCalendar.php, clock, collapse = arrayBoardIndex.php, CollapseCategory,
coppa = arrayRegister.php, CoppaForm, credits = arrayWho.php, Credits,
deletemsg = arrayRemoveTopic.php, DeleteMessage, display = arrayDisplay.php, Display,
dlattach = arrayDisplay.php, Download, editpoll = arrayPoll.php, EditPoll,
editpoll2 = arrayPoll.php, EditPoll2, emailuser = arraySendTopic.php, EmailUser,
findmember = arraySubs-Auth.php, JSMembers, groups = arrayGroups.php, Groups,
help = arrayHelp.php, ShowHelp, helpadmin = arrayHelp.php, ShowAdminHelp,
im = arrayPersonalMessage.php, MessageMain, jseditor = arraySubs-Editor.php, EditorMain,
jsmodify = arrayPost.php, JavaScriptModify, jsoption = arrayThemes.php, SetJavaScript,
lock = arrayLockTopic.php, LockTopic, lockvoting = arrayPoll.php, LockVoting,
login = arrayLogInOut.php, Login, login2 = arrayLogInOut.php, Login2,
logout = arrayLogInOut.php, Logout, markasread = arraySubs-Boards.php, MarkRead,
mergetopics = arraySplitTopics.php, MergeTopics, mlist = arrayMemberlist.php, Memberlist,
moderate = arrayModerationCenter.php, ModerationMain,
modifycat = arrayManageBoards.php, ModifyCat, modifykarma = arrayKarma.php, ModifyKarma,
movetopic = arrayMoveTopic.php, MoveTopic, movetopic2 = arrayMoveTopic.php, MoveTopic2,
notify = arrayNotify.php, Notify, notifyboard = arrayNotify.php, BoardNotify,
openidreturn = arraySubs-OpenID.php, smf_openID_return,
pm = arrayPersonalMessage.php, MessageMain, post = arrayPost.php, Post,
post2 = arrayPost.php, Post2, printpage = arrayPrintpage.php, PrintTopic,
profile = arrayProfile.php, ModifyProfile, quotefast = arrayPost.php, QuoteFast,
Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
quickmod = arrayMessageIndex.php, QuickModeration, quickmod2 = arrayDisplay.php,
QuickInTopicModeration, recent = arrayRecent.php, RecentPosts,
register = arrayRegister.php, Register, register2 = arrayRegister.php, Register2,
reminder = arrayReminder.php, RemindMe, removepoll = arrayPoll.php, RemovePoll,
removetopic2 = arrayRemoveTopic.php, RemoveTopic2, reporttm = arraySendTopic.php, ReportToModerator,
requestmembers = arraySubs-Auth.php, RequestMembers,
restoretopic = arrayRemoveTopic.php, RestoreTopic, search = arraySearch.php, PlushSearch1,
search2 = arraySearch.php, PlushSearch2, sendtopic = arraySendTopic.php, EmailUser,
smstats = arrayStats.php, SMStats, suggest = arraySubs-Editor.php, AutoSuggestHandler,
spellcheck = arraySubs-Post.php, SpellCheck, splittopics = arraySplitTopics.php, SplitTopics,
stats = arrayStats.php, DisplayStats, sticky = arrayLockTopic.php, Sticky,
theme = arrayThemes.php, ThemesMain, trackip = arrayProfile-View.php, trackIP,
about:mozilla = arrayKarma.php, BookOfUnknown, about:unknown = arrayKarma.php, BookOfUnknown,
unread = arrayRecent.php, UnreadTopics, unreadreplies = arrayRecent.php, UnreadTopics,
verificationcode = arrayRegister.php, VerificationCode, viewprofile = arrayProfile.php, ModifyProfile,
vote = arrayPoll.php, Vote, viewquery = arrayViewQuery.php, ViewQuery,
viewsmfile = arrayAdmin.php, DisplayAdminFile, who = arrayWho.php, Who,
.xml = arrayNews.php, ShowXmlFeed, xmlhttp = arrayXml.php, XMLhttpMain,
; Allow modifying actionArray easily.
call_integration_hookintegrate_actions, arrayactionArray;
Raksa Griya Ramadhan, 2016 PENERAPAN PEMBELAJARAN PROBLEM POSING BERBANTU MULTIMEDIA INTERAKTIF PADA MATA
PELAJARAN JARINGAN DASAR UNTUK MENINGKATKAN PEMAHAMAN SISWA SMK.
Universitas Pendidikan Indonesia |
repository.upi.edu |
perpustakaan.upi.edu
Get the function and file to include - if its not there, do the board index.
if isset_REQUEST[action] || issetactionArray[_REQUEST[action]]
{ Catch the action with the theme?
if emptysettings[catch_action] {
require_oncesourcedir . Themes.php; return WrapAction;
} Fall through to the board index then...
require_oncesourcedir . BoardIndex.php; return BoardIndex;
} Otherwise, it was set - so lets go to that action.
require_oncesourcedir . . actionArray[_REQUEST[action]][0];
return actionArray[_REQUEST[action]][1]; }
?
8. Register