FileLocations
CssWork (parent of this page) http://www.mediawiki.org/wiki/Help:Formatting
This assumes that both Slashcode and apache are installed in /usr/local/
Doing this has two virtues - It provides a quick overview that is hard to get by looking at the files one by one, and it provides a unified place to put little notes like 'An asterisk in the Slsh.pm file will cause buildings to fall down in Jersey unless surrounded by quotes.'
Apache
Only files of importance to slashcode shown.
apache bin cgi-bin conf httpd.conf (Include /usr/local/slash/httpd/slash.conf) htdocs icons include libexec logs access_log error_log slashcode.local_access_log slashcode.local_error_log man proxy
lib or lib64
Only relevant files shown.
This contains the main Slash libraries (Perl modules) used by all the Slash Themes. Not modified for any local purposes. 'sub subroutine()' names are shown in parentheses.
lib(64) perl5 Apache/ Apache.pm Attribute/ Bit/ Bundle/ Compress/ Cwd.pm DBD/ mysql mysql.pm DBI/ DBI.pm Data/ DateTime/ DateTime.pm DateTimePP.pm DateTimePPExtra.pm Digest/ File/ HTML/ List/ MIME/ Net/ Package/ Params/ Slash.pm Slash/ Apache.pm (SlashVirtualUser,SlashSetVar.SlashSetForm,SlashCompileTemplates,ProxyRemoteAddr, ConnectionIsSSL,ConnectionIsSecure,IndexHandler,DESTROY ) Apache Banlist.pm Log.pm Shtml.pm TemplatePages.pm User.pm User PasswordSalt.pm Client.pm ( new,soap,find_cookie_file,bakeUserCookie,literal,fixparam ) Client Journal.pm ( new,_return_from_entry,add_entry,modify_entry,delete_entry,get_entry,get_entries ) Constants.pm ( constants ) - contants collected here (where are they actually defined?) Custom ApacheCompress.pm ( handler,can_gzip,guess_by_user_agent ) ApacheRegistryFilter.pm ( handler,run ) ApacheSSI.pm ( output,ssi_perl,ssi_include ) Bulkmail.pm ( Tz,Date,lc_domain,valid_email,comment_killer,build_merge_line, build_merge_hash,validate_address,mail,bulkmail,buildMessage, scalar_or_code,build_envelope,send_to_envelope,send_message_data ) ParUserAgent.pm ( _need_proxy,proxy ) WoWArmory.pm ( fetch_data,search_character,get_reputation,get_arena_teams,get_heroic_access ) DB MySQL.pm ( _whereFormkey,sqlTransactionStart,sqlTransactionFinish,sqlTransactionCancel, getBadgeDescriptions,createComment,createCommentLog,getRecentCommentLog, getModPointsNeeded,getCSSValuesHashForCol,getCSS,getTemplateList,getTopicParam, getTopicTree,confirmTopicTree,isTopicParent,getNexusTids,getAllChildrenTids, getAllParentsTids,getNexusChildrenTids,wouldBeSafeToAddTopic, wouldBeSafeToAddTopicLink,deleteRelatedLink,getNexusExtras,getNexuslistFromChosen, getNexusExtrasForChosen,createNexusExtra,updateNexusExtra,deleteNexusExtra, setNexusExtras,setNexusCurrentQid,getSectionExtras,setSectionExtras, getContentFilters,createSubmission,getSessionInstance,getLastSessionText, setContentFilter,createAccessLog,_writeAccessLogCache,createAccessLogAdmin, ajaxPageProfile,getDescriptions,deleteUser,getUserCrossSiteAuthenticate, getUserAuthenticate,createBadPasswordLog,getBadPasswordsByUID, getBadPasswordCountByUID,getBadPasswordIPsByUID,getNewPasswd,resetUserAccount, _getLogTokenCookieLocation,_logtoken_read_memcached,_logtoken_write_memcached, _logtoken_delete_memcached,getLogToken,setLogToken,updateLogTokenExpires, deleteLogToken,getUIDByOpenID,getOpenIDsByUID,setOpenID,deleteOpenID,deleteOpenIDs, setOpenIDResKey,checkOpenIDResKey,convertNamedTZToSlashTZ,getUserUID, getUserUIDWithMatchname,getOtherUserParams,getUserEmail,getCommentsByGeneric, getCommentsByUID,getCommentsByIPID,getCommentsBySubnetID,getCommentsByIPIDOrSubnetID, getDBs,getDB,getDBVUsForType,createDBReaderStatus,getDBReaderStatusQueryId, getDBReaderStatusQueryId_raw,createDBReaderStatusQuery,getDBVirtualUsers,getClasses, createContentFilter,existsEmail,existsUid,createUser,setVar,setSession,setBlock, setRelatedLink,setDiscussion,setDiscussionBySid,setTemplate,getCommentChildren, getCommentsStartingAt,deleteComment,getCommentPid,checkStoryViewable, checkStoryInNexus,checkDiscussionIsInFuture,checkDiscussionPostable,setSection, createSection,setDiscussionDelCount,deleteSubmission,deleteSession,deleteDiscussion, deleteTopic,revertBlock,deleteBlock,deleteTemplate,deleteSection,deleteContentFilter, saveTopic,saveBlock,saveColorBlock,getSectionBlock,getSectionBlocks, getAuthorDescription,markNexusClean,markNexusDirty,markSkinClean,markSkinDirty, markTopicsDirty,markStoriesRenderClean,markStoriesRenderDirty,markStoryClean, markStoryDirty,deleteStory,setStory,setStory_delete_memcached_by_stoid, setStory_delete_memcached_by_tid,getSubmissionLast,getLastTs,_getLastFkCount, updateFormkeyId,createFormkey,checkResponseTime,validFormkey,getFormkeyTs, updateFormkeyVal,resetFormkey,updateFormkey,checkPostInterval,checkMaxReads, checkMaxPosts,checkMaxMailPasswords,setUserMailPasswd,checkTimesPosted,formSuccess, formFailure,createAbuse,setExpired,setUnexpired,checkExpired, checkAllowAnonymousPosting,getKnownOpenProxy,setKnownOpenProxy,checkForOpenProxy, getNumCommPostedAnonByIPID,getNumCommPostedByUID,getUIDStruct,getNetIDStruct, getSubnetFromIPIDBasedOnComments,getNetIDPostingRestrictions,getBanList, getNorssList,getNopalmList,countSubmissionsFromUID,countSubmissionsFromIPID, countSubmissionsWithEmaildomain,getTopAbusers,getAbuses,countAccessLogHitsInLastX, _get_where_and_valuelist_al2,_load_al2_types,getAL2Types,_load_al2_type_aliases, getAL2TypeAliases,getAL2TypeById,setAL2,createAL2Log,getAL2,getAL2Log, getAL2Comments,checkAL2,getAL2List,checkIsProxy,checkIsTrusted,existsFormkey, checkForm,currentAdmin,getSubmissionsSkins,getSubmissionsPending,getSubmissionCount, getPortals,getPortalsCommon,countCommentsByGeneric,countCommentsBySid, countCommentsByUID,countCommentsBySubnetID,countCommentsByIPID, countCommentsByIPIDOrSubnetID,countCommentsBySidUID,countCommentsBySidPid, findCommentsDuplicate,countStory,displaystatusForStories,_displaystatus, _calc_karma_token_loss,getAuthorNames,getUniqueSkinsFromStories,getStoryByTime, getStorySidFromDiscussion,getStoryByTimeAdmin,countUsers,createVar,deleteVar, getCommentReply,getCommentsForUser,getCommentText,getCommentTextCached,getComments, saveCommentReadLog,getCommentReadLog,getSubmissionsByNetID,getSubmissionsByUID, countSubmissionsByUID,countSubmissionsByNetID,getStoriesBySubmitter, countStoriesBySubmitter,countStoriesPostedOut,_stories_time_clauses, getStoriesEssentials,_gse_canonicalize,_gse_sectioncollapse,getSubmissionsMerge, setSubmissionsMerge,getSubmissionForUser,calcTrollPoint,calcModval,getNetIDKarma, getIsTroll,createDiscussion,createStory,getUrlFromSid,grantStorySubmissionKarma, updateStory,hasUserSignedStory,createSignoff,getUserSignoffHashForStoids, getSignoffCountHashForStoids,getSignoffsForStory,deleteSignoffsForStory, getSignoffsInLastMinutes,_getSlashConf_rawvars,getSlashConf,getMCD,getMCDStats, _getMCDStats_percentify,autoUrl,linkNode,getUrlFromTitle,getTime,getTimeAgo, getDay,getDayFromDay,getStoryList,getPrimaryTids,getTZCodes,getDSTRegions, getSlashdStatus,getAccesslog,getSlashdStatuses,getMaxCid,getRecentComments, getStoidFromSidOrStoid,getStoidFromSid,_write_stories_cache,getStoriesData, getStory,setCommonStoryWords,getUncommonStoryWords,getSimilarStories, getYoungestEligibleModerator,getAuthor,getAuthors,getAdmins,getComment, getRelatedLink,getDiscussion,getDiscussionBySid,getRSS,setRSS,getBlock, getTemplateNameCache,existsTemplate,getTemplate,getTemplateListByText, getTemplateByName,renderTopics,buildStoryRenderHashref,applyStoryRenderHashref, getStoryTopicsChosen,getStoryTopicsRendered,getStoriesTopicsRenderedHash, setStoryRenderedFromChosen,getPrimarySkidFromRendered,getTopiclistFromChosen, getTopiclistForStory,getTidByKeyword,getTopic,getTopics,getTopicParamsForTid, getStoryTopics,setStoryTopicsChosen,breakTopicParent,addTopicParent,getTemplates, getContentFilter,getSubmission,getUrl,setSubmission,getSection,getSkin,getSkins, getSkidFromName,getSkidFromNexus,getNexusFromSkid,getVar,setUser, setVar_delete_memcached,setUser_delete_memcached,getUsersNicknamesByUID,getAllACLs, getAllACLNames,getUser,_getUser_do_selects,_getUser_compare_mcd_db, _getUser_get_select_from_where,_getUser_get_table_data,_getUser_write_memcached, _genericGetCacheName,_genericSet,_genericCacheRefresh,_genericGetCache, _genericClearCache,_genericGet,_genericGetsCache,_genericGets,getStories, getRelatedLinks,getHooksByParam,getHook,createHook,deleteHook,setHook,getSessions, createBlock,createRelatedLink,createTemplate,createMenuItem,getMenuItems, getMiscUserOpts,getMenus,sqlReplace,getKeys,sqlTableExists,sqlSelectColumns, sqlGetColumnData,sqlGetCharColumnLength,truncateStringForCharColumn, getRandomSpamArmor,getMainpageDisplayableNexuses,getStorypickableNexusChildren, clearAccountVerifyNeededFlags,sqlShowProcessList,sqlShowStatus,sqlShowInnodbStatus, getGlobjidCreate,getGlobjidFromTargetIfExists,createGlobjid,getGlobjTypes, getGlobjTarget,getGlobjTargets,getGlobjAdminnote,getGlobjAdminnotes,setGlobjAdminnote, addGlobjTargetsToHashrefArray,addGlobjEssentialsToHashrefArray, _addGlobjEssentials_getids,_addGlobjEssentials_stories,_addGlobjEssentials_urls, _addGlobjEssentials_submissions,_addGlobjEssentials_journals, _addGlobjEssentials_comments,_addGlobjEssentials_projects,getCloutTypes, getCloutInfo,getActiveAdminCount,getRelatedStoriesForStoid,setRelatedStoriesForStory, updateSubMemory,getSubmissionMemory,getUrlCreate,createUrl,setUrl,getUrlIfExists, addUrlForGlobj,getClassForAjaxOp,insertMediaFile,updateMediaFile,getMediaFiles, getMediaFile,addFileToQueue,numPendingFilesForStory,addStaticFile, getStaticFilesForStory,getStaticFiles,getStaticFile,isCommentPromoted, logCommentPromotion,createProject,getProject,setProject,getProjectByName, createPreview,getPreview,setPreview,deletePreview,_getStorySelfLink,getShillInfo, DESTROY ) Oracle.pm PostgreSQL.pm ( deleteUser,createUser,countUsersIndexExboxesByBid,getCommentReply, getSubmissionForUser,saveStory,getDay,setUser,getUser,_genericCacheRefresh, _genericGetCache,_genericClearCache,_genericGet,_genericGetsCache,_genericGets, sqlTableExists,sqlSelectColumns,_genericGetCacheName ) -- Looking at the number of routines for mysql vs the number completed for postgres, I'd say this is NOT that close to having postgres functioning.-- Static MySQL.pm ( sqlShowMasterStatus,sqlShowSlaveStatus,showQueryCount,getBackendStories, insertErrnoteLog,getNewStoryTopics,updateArchivedDiscussions,getArchiveList, getSparklineData,deleteOldDBReaderStatus,getDBsReaderStatus,deleteRecycledComments, _deleteThread,forgetStoryTextRendered,forgetUsersLogtokens,forgetUsersLastLookTime, forgetUsersMailPass,forgetCommentIPs,forgetSubmissionIPs,forgetOpenProxyIPs, forgetErrnotes,forgetRemarks,forgetNewPasswds,deleteDaily,updateLastaccess, decayTokens,getDailyMail,getMailingList,getTopComments,getWhatsPlaying, getTopRecentSkinsForDays,getTopRecentSkinTopicsForDays,randomBlock,getSitesRDF, getSkinInfo,getSkinIndex,recalcAL2,checkUserExpiry,getMinCommentcount, getSRDsWithinLatest,getSRDs,getStoriesNeedingRender,getStoriesToDelete, getStoriesToRefresh,getTodayArmorList,deleteStoryAll,createAuthorCache, refreshUncommonStoryWords,getPrevSectionsForSid,clearPrevSectionsForSid, deleteOldFormkeys,countStoriesWithTopic,createRSS,getRSSNotProcessed,expireRSS, setSlashdStatus,countPollQuestion,setCurrentSectionPolls,createSlashdStatus, updateTaskSummary,getNumNewUsersSinceDaysback,getFirstUIDCreatedDaysBack, getLastUIDCreatedBeforeDaysBack,getRandUsersCreatedYest, getTopRecentRealemailDomains,getSkinsDirty,getHeadFootPages,getCidForDaysBack, getAccesslogPPS,avgDynamicDurationForHour,avgDynamicDurationForMinutesBack, getUrlsNeedingFirstCheck,getUrlsNeedingRefresh,getNextFileQueueCmds, deleteFileQueueCmd,getRecentThumbAndMediaStories ) Oracle.pm PostgreSQL.pm Utility.pm ( new,isInstalled,init,set,get,gets,list,create,delete,exists,sqlConnect, getLastInsertId,sqlSetVar,sqlGetVar,_querylog_enabled,_querylog_start, _querylog_finish,_querylog_writecache,_refCheck,sqlSelectMany,sqlSelect, sqlSelectArrayRef,sqlSelectHash,sqlCount,sqlSelectHashref,sqlSelectColArrayref, sqlSelectAll,sqlSelectAllHashref,sqlSelectAllHashrefArray,sqlSelectAllKeyValue, sqlSelectNumericKeyAssumingMonotonic,sqlUpdate,sqlDelete,sqlInsert,sqlQuote, sqlDo,sqlErrorLog,sqlError ) DB.pm ( new,isInstalled,init,DESTROY ) Display Plugin.pm ( populate,new, db Slash::Utility::getObject('Slash::DB', db_type => 'reader' }) },Display,AUTOLOAD ) Provider.pm ( fetch,_load,_refresh,ident,use,template ) Display.pm ( slashDisplay,slashDisplayName,get_template,_ref ref $_[0] },tempWarn ) Hook Sample.pm ( sample,ingar ) Hook.pm ( slashHook ) Install.pm ( new,create,delete,deleteByID ,get,exists,getValue,getByID,readTemplateFile, writeTemplateFile,installTheme,installThemes,installPlugin,installPlugins, installTagbox,installTagboxes,_munge_line,_process_fh_into_sql,_install, getPluginList,getThemeList,getTagboxList,getSiteTemplates,_parseFilesForTemplates,_ getList,setListOrder,setListInstallOrder,reloadArmors ) Plugin.pm ( isInstalled ) Slashboxes.pm ( getUserSlashboxes,displaySlashboxes ) Test.pm ( import,slashTest,Display,Test,_getTemplate ) Tools.pm ( import,syntax_check,basefile,srcfile,installfile,counterpart, _getpackage,pathpm,pmpathsrc,pmpath,myprint,myexit,myask,mysystem, new,front,frontpath,output,file,do_prep,do,gitdiff,diff,new,set_type ) Utility Utility.pm ( READ THIS FILE ) The Slash::Utility::Xyz classes all EXPORT their own functions. For example, 'package main; use Slash::Utility::Environment;' will allow Slash::Utility::Environment::getCurrentStatic() to be called as main::getCurrentStatic(), effectively making it a global function. And unlike what some might consider "best practices," Slash exports quite a few functions, over 170 at current count. Since Slash is an application, not a library, we consider this to be best. We find if (isAnon($comment->{uid})) more readable than if (Slash::Utility::Environment::isAnon($comment->{uid})) and it seems appropriate to us. So, 'use Slash::Utility;' is nothing but a convenient way to import _all_ the Slash::Utility::Xyz functions into the 'use'rs nam espace. (audioguy note - but it is damned confusing if you do not know this...) XML XML.pm ( xmlDisplay,date2iso8601,encode ) Storable.pm Template/ Template.pm Term/ Text/ Time/ Win32/ XML/ auto/ cgi_to_mod_perl.pod dbixs_rev.pl libapreq.pod mod_perl.pm mod_perl.pod mod_perl_cvs.pod mod_perl_hooks.pm mod_perl_hooks.pm.PL mod_perl_method_handlers.pod mod_perl_traps.pod mod_perl_tuning.pod