Overview

Namespaces

  • Composer
    • Autoload
  • Geekwright
    • RegDom
  • League
    • OAuth2
      • Client
        • Provider
  • None
  • Xmf
    • Database
    • Jwt
    • Key
    • Module
      • Helper

Classes

  • ArtObject
  • ArtObjectHandler
  • BloggerApi
  • CGIF
  • CGIFCOLORTABLE
  • CGIFFILEHEADER
  • CGIFIMAGE
  • CGIFIMAGEHEADER
  • CGIFLZW
  • Composer\Autoload\ClassLoader
  • Composer\Autoload\ComposerStaticInit274e5fff219a4f27a346e611b0580d6a
  • ComposerAutoloaderInit274e5fff219a4f27a346e611b0580d6a
  • Config_File
  • Cookie
  • Criteria
  • CriteriaCompo
  • CriteriaElement
  • Database
  • Db_manager
  • ErrorHandler
  • FormDhtmlTextArea
  • FormTextArea
  • Geekwright\RegDom\PublicSuffixList
  • Geekwright\RegDom\RegisteredDomain
  • HTMLPurifier
  • League\OAuth2\Client\Provider\Google
  • MetaWeblogApi
  • ModuleAdmin
  • MovableTypeApi
  • MyTextSanitizer
  • MyTextSanitizerExtended
  • MyTextSanitizerExtension
  • MytsCensor
  • MytsFlash
  • MytsIframe
  • MytsImage
  • MytsLi
  • MytsMms
  • MytsMp3
  • MytsRtsp
  • MytsSoundcloud
  • MytsSyntaxhighlight
  • MytsTextfilter
  • MytsUl
  • MytsWiki
  • MytsWmp
  • MytsYoutube
  • PathStuffController
  • PHPMailer
  • PHPMailerOAuth
  • PHPMailerOAuthGoogle
  • phpthumb
  • phpthumb_bmp
  • phpthumb_filters
  • phpthumb_functions
  • phpthumb_ico
  • phpUnsharpMask
  • PmCorePreload
  • PmMessage
  • PmMessageHandler
  • PmSystemPreload
  • POP3
  • ProfileCategory
  • ProfileCategoryHandler
  • ProfileCorePreload
  • ProfileField
  • ProfileFieldHandler
  • ProfileProfile
  • ProfileProfileHandler
  • ProfileRegstep
  • ProfileRegstepHandler
  • ProfileVisibility
  • ProfileVisibilityHandler
  • Protector
  • Protector_bruteforce_overrun_message
  • Protector_crawler_overrun_message
  • Protector_f5attack_overrun_message
  • Protector_postcommon_post_deny_by_httpbl
  • Protector_postcommon_post_deny_by_rbl
  • Protector_postcommon_post_htmlpurify4everyone
  • Protector_postcommon_post_htmlpurify4guest
  • Protector_postcommon_post_language_match
  • Protector_postcommon_post_need_multibyte
  • Protector_postcommon_post_register_moratorium
  • Protector_postcommon_post_stopforumspam
  • Protector_postcommon_register_insert_js_check
  • Protector_postcommon_register_stopforumspam
  • Protector_precommon_badip_errorlog
  • Protector_precommon_badip_message
  • Protector_precommon_badip_redirection
  • Protector_precommon_bwlimit_errorlog
  • Protector_precommon_bwlimit_message
  • Protector_prepurge_exit_message
  • Protector_spamcheck_overrun_message
  • ProtectorCorePreload
  • ProtectorFilterAbstract
  • ProtectorFilterHandler
  • ProtectorMySQLDatabase
  • ProtectorRegistry
  • ReCaptchaResponse
  • RpcArrayHandler
  • RpcBase64Handler
  • RpcBooleanHandler
  • RpcDateTimeHandler
  • RpcDoubleHandler
  • RpcIntHandler
  • RpcMemberHandler
  • RpcMethodNameHandler
  • RpcNameHandler
  • RpcStringHandler
  • RpcStructHandler
  • RpcValueHandler
  • RssAuthorHandler
  • RssCategoryHandler
  • RssChannelHandler
  • RssCommentsHandler
  • RssCopyrightHandler
  • RssDescriptionHandler
  • RssDocsHandler
  • RssGeneratorHandler
  • RssGuidHandler
  • RssHeightHandler
  • RssImageHandler
  • RssItemHandler
  • RssLanguageHandler
  • RssLastBuildDateHandler
  • RssLinkHandler
  • RssManagingEditorHandler
  • RssNameHandler
  • RssPubDateHandler
  • RssSourceHandler
  • RssTextInputHandler
  • RssTitleHandler
  • RssTtlHandler
  • RssUrlHandler
  • RssWebMasterHandler
  • RssWidthHandler
  • SaxParser
  • Smarty
  • Smarty_Compiler
  • SMTP
  • Snoopy
  • SqlUtility
  • SystemAvatar
  • SystemAvatarHandler
  • SystemBanner
  • SystemBannerclient
  • SystemBannerclientHandler
  • SystemBannerFinish
  • SystemBannerfinishHandler
  • SystemBannerHandler
  • SystemBlock
  • SystemBlockHandler
  • SystemBlockLinkModule
  • SystemBlockLinkModuleHandler
  • SystemBreadcrumb
  • SystemCorePreload
  • SystemFineAvatarUploadHandler
  • SystemFineImUploadHandler
  • SystemFineUploadHandler
  • SystemGroup
  • SystemGroupHandler
  • SystemMaintenance
  • SystemMenuHandler
  • SystemSmilies
  • SystemsmiliesHandler
  • SystemUserrank
  • SystemuserrankHandler
  • SystemUsers
  • SystemUsersHandler
  • Tar
  • ThemeSetAuthorHandler
  • ThemeSetDateCreatedHandler
  • ThemeSetDescriptionHandler
  • ThemeSetEmailHandler
  • ThemeSetFileTypeHandler
  • ThemeSetGeneratorHandler
  • ThemeSetImageHandler
  • ThemeSetLinkHandler
  • ThemeSetModuleHandler
  • ThemeSetNameHandler
  • ThemeSetTagHandler
  • ThemeSetTemplateHandler
  • TinyMCE
  • Xmf\Assert
  • Xmf\Database\Migrate
  • Xmf\Database\TableLoad
  • Xmf\Database\Tables
  • Xmf\Debug
  • Xmf\FilterInput
  • Xmf\Highlighter
  • Xmf\IPAddress
  • Xmf\Jwt\JsonWebToken
  • Xmf\Jwt\KeyFactory
  • Xmf\Jwt\TokenFactory
  • Xmf\Jwt\TokenReader
  • Xmf\Key\ArrayStorage
  • Xmf\Key\Basic
  • Xmf\Key\FileStorage
  • Xmf\Key\KeyAbstract
  • Xmf\Language
  • Xmf\Metagen
  • Xmf\Module\Admin
  • Xmf\Module\Helper
  • Xmf\Module\Helper\AbstractHelper
  • Xmf\Module\Helper\Cache
  • Xmf\Module\Helper\GenericHelper
  • Xmf\Module\Helper\Permission
  • Xmf\Module\Helper\Session
  • Xmf\Random
  • Xmf\Request
  • Xmf\StopWords
  • Xmf\Yaml
  • XmlTagHandler
  • XoopsApi
  • xoopsart
  • XoopsAuth
  • XoopsAuthAds
  • XoopsAuthFactory
  • XoopsAuthLdap
  • XoopsAuthProvisionning
  • XoopsAuthXoops
  • XoopsAvatar
  • XoopsAvatarHandler
  • XoopsBlock
  • XoopsBlockHandler
  • XoopsBlockInstance
  • XoopsBlockInstanceHandler
  • XoopsCache
  • XoopsCacheApc
  • XoopsCacheEngine
  • XoopsCacheFile
  • XoopsCacheMemcache
  • XoopsCacheModel
  • XoopsCacheModelHandler
  • XoopsCacheModelObject
  • XoopsCacheXcache
  • XoopsCaptcha
  • XoopsCaptchaImage
  • XoopsCaptchaImageHandler
  • XoopsCaptchaMethod
  • XoopsCaptchaRecaptcha
  • XoopsCaptchaRecaptcha2
  • XoopsCaptchaText
  • XoopsComment
  • XoopsCommentHandler
  • XoopsCommentRenderer
  • XoopsComments
  • XoopsConfigCategory
  • XoopsConfigCategoryHandler
  • XoopsConfigHandler
  • XoopsConfigItem
  • XoopsConfigItemHandler
  • XoopsConfigOption
  • XoopsConfigOptionHandler
  • XoopsDatabase
  • XoopsDatabaseFactory
  • XoopsDownloader
  • XoopsEditor
  • XoopsEditorHandler
  • XoopsErrorHandler
  • XoopsFile
  • XoopsFileHandler
  • XoopsFilterInput
  • XoopsFolderHandler
  • XoopsForm
  • XoopsFormButton
  • XoopsFormButtonTray
  • XoopsFormCaptcha
  • XoopsFormCheckBox
  • XoopsFormColorPicker
  • XoopsFormDateTime
  • XoopsFormDhtmlTextArea
  • XoopsFormEditor
  • XoopsFormElement
  • XoopsFormElementTray
  • XoopsFormFile
  • XoopsFormHidden
  • XoopsFormHiddenToken
  • XoopsFormLabel
  • XoopsFormPassword
  • XoopsFormRadio
  • XoopsFormRadioYN
  • XoopsFormRenderer
  • XoopsFormRendererBootstrap3
  • XoopsFormRendererLegacy
  • XoopsFormSelect
  • XoopsFormSelectCheckGroup
  • XoopsFormSelectCountry
  • XoopsFormSelectEditor
  • XoopsFormSelectGroup
  • XoopsFormSelectLang
  • XoopsFormSelectMatchOption
  • XoopsFormSelectTheme
  • XoopsFormSelectTimezone
  • XoopsFormSelectUser
  • XoopsFormText
  • XoopsFormTextArea
  • XoopsFormTextDateSelect
  • XoopsFormTinymce
  • XoopsGroup
  • XoopsGroupFormCheckBox
  • XoopsGroupHandler
  • XoopsGroupPerm
  • XoopsGroupPermForm
  • XoopsGroupPermHandler
  • XoopsGTicket
  • XoopsGuestUser
  • XoopsGuiDefault
  • XoopsGuiThadmin
  • XoopsGuiTransition
  • XoopsGuiZetadigme
  • XoopsHandlerRegistry
  • XoopsImage
  • XoopsImagecategory
  • XoopsImagecategoryHandler
  • XoopsImageHandler
  • XoopsImageSet
  • XoopsImagesetHandler
  • XoopsImagesetimg
  • XoopsImagesetimgHandler
  • XoopsInstallWizard
  • XoopsLists
  • XoopsLoad
  • XoopsLocal
  • XoopsLocalAbstract
  • XoopsLocalWrapper
  • XoopsLogger
  • XoopsMailer
  • XoopsMailerLocal
  • XoopsMediaUploader
  • XoopsMemberHandler
  • XoopsMembership
  • XoopsMembershipHandler
  • XoopsModelAbstract
  • XoopsModelFactory
  • XoopsModelJoint
  • XoopsModelRead
  • XoopsModelStats
  • XoopsModelSync
  • XoopsModelWrite
  • XoopsModule
  • XoopsModuleHandler
  • XoopsMultiMailer
  • XoopsMySQLDatabase
  • XoopsMySQLDatabaseProxy
  • XoopsMySQLDatabaseSafe
  • XoopsNotification
  • XoopsNotificationHandler
  • XoopsObject
  • XoopsObjectHandler
  • XoopsObjectTree
  • XoopsOnlineHandler
  • XoopsPageNav
  • XoopsPersistableObjectHandler
  • XoopsPreload
  • XoopsPreloadItem
  • XoopsPrivmessage
  • XoopsPrivmessageHandler
  • XoopsRank
  • XoopsRankHandler
  • XoopsRequest
  • XoopsSecurity
  • XoopsSessionHandler
  • XoopsSimpleForm
  • XoopsStory
  • XoopsSystemCpanel
  • XoopsSystemGui
  • XoopsTableForm
  • XoopsTarDownloader
  • XoopsThemeForm
  • XoopsThemeSetParser
  • XoopsTopic
  • XoopsTpl
  • XoopsTplfile
  • XoopsTplfileHandler
  • XoopsTplset
  • XoopsTplsetHandler
  • XoopsTree
  • XoopsUser
  • XoopsUserHandler
  • XoopsUserUtility
  • XoopsUtility
  • XoopsXmlRpcApi
  • XoopsXmlRpcArray
  • XoopsXmlRpcBase64
  • XoopsXmlRpcBoolean
  • XoopsXmlRpcDatetime
  • XoopsXmlRpcDocument
  • XoopsXmlRpcDouble
  • XoopsXmlRpcFault
  • XoopsXmlRpcInt
  • XoopsXmlRpcParser
  • XoopsXmlRpcRequest
  • XoopsXmlRpcResponse
  • XoopsXmlRpcString
  • XoopsXmlRpcStruct
  • XoopsXmlRpcTag
  • XoopsXmlRss2Parser
  • XoopsZipDownloader
  • xos_kernel_Xoops2
  • xos_logos_PageBuilder
  • xos_opal_AdminThemeFactory
  • xos_opal_Theme
  • xos_opal_ThemeFactory
  • XoUser
  • XoUserHandler
  • Zipfile

Interfaces

  • Xmf\Key\StorageInterface
  • XoopsFormRendererInterface

Exceptions

  • phpmailerException

Functions

  • __autoload
  • _recaptcha_aes_encrypt
  • _recaptcha_aes_pad
  • _recaptcha_http_post
  • _recaptcha_mailhide_email_parts
  • _recaptcha_mailhide_urlbase64
  • _recaptcha_qsencode
  • _smarty_regex_replace_check
  • _smarty_sort_length
  • admin_refcheck
  • b_system_comments_edit
  • b_system_comments_show
  • b_system_info_edit
  • b_system_info_show
  • b_system_login_show
  • b_system_main_show
  • b_system_newmembers_edit
  • b_system_newmembers_show
  • b_system_notification_show
  • b_system_online_show
  • b_system_search_show
  • b_system_themes_edit
  • b_system_themes_show
  • b_system_topposters_edit
  • b_system_topposters_show
  • b_system_user_show
  • b_system_waiting_show
  • bannerstats
  • change_banner_url_by_client
  • checkEmail
  • clickbanner
  • clientlogin
  • closeTable
  • closeThread
  • CloseWaitBox
  • Composer\Autoload\includeFile
  • composerRequire274e5fff219a4f27a346e611b0580d6a
  • createConfigform
  • createThemeform
  • doConditionalGet
  • emailStats
  • exit404BadReq
  • fatalPhpErrorHandler
  • file_get_contents
  • file_put_contents
  • findSharp
  • form_user
  • formatTimestamp
  • formatURL
  • gd_info
  • genPathCheckHtml
  • get_request_method
  • get_writeoks_from_protector
  • getcss
  • getDbCharsets
  • getDbCollations
  • getDirList
  • getMailer
  • getTheme
  • gif_getSize
  • gif_loadFile
  • gif_loadFileToGDimageResource
  • gif_outputAsBmp
  • gif_outputAsJpeg
  • gif_outputAsPng
  • HTMLPurifier
  • imagealphablending
  • imageBrowser
  • imageCreateCorners
  • imageFilenameCheck
  • imagesavealpha
  • install_acceptUser
  • install_finalize
  • is_executable
  • kses
  • langDropdown
  • load_functions
  • load_object
  • load_objectHandler
  • loadModuleAdminMenu
  • make_cblock
  • make_data
  • make_groups
  • make_sidebar
  • mod_clearCacheFile
  • mod_clearConfg
  • mod_clearConfig
  • mod_clearFile
  • mod_clearSmartyCache
  • mod_constant
  • mod_createCacheFile
  • mod_createCacheFile_byGroup
  • mod_createFile
  • mod_DB_prefix
  • mod_fetchConfg
  • mod_fetchConfig
  • mod_generateCacheId
  • mod_generateCacheId_byGroup
  • mod_getDirname
  • mod_getIP
  • mod_getMysqlVersion
  • mod_getUnameFromId
  • mod_getUnameFromIds
  • mod_isModuleAction
  • mod_loadCacheFile
  • mod_loadCacheFile_byGroup
  • mod_loadConfg
  • mod_loadConfig
  • mod_loadFile
  • mod_loadFunctions
  • mod_loadRenderer
  • mod_message
  • modify_chmod
  • myTextForm
  • notificationCategoryInfo
  • notificationCommentCategoryInfo
  • notificationEnabled
  • notificationEventEnabled
  • notificationEventInfo
  • notificationEvents
  • notificationGenerateConfig
  • notificationSubscribableCategoryInfo
  • openTable
  • openThread
  • OpenWaitBox
  • PHPMailerAutoload
  • phpThumbURL
  • preg_quote
  • profile_getFieldForm
  • profile_getRegisterForm
  • profile_getStepForm
  • profile_getUserForm
  • profile_install_addCategory
  • profile_install_addField
  • profile_install_addStep
  • profile_install_initializeProfiles
  • profile_install_setPermissions
  • protector_message_append_oninstall
  • protector_message_append_onuninstall
  • protector_message_append_onupdate
  • protector_notify_base
  • protector_oninstall_base
  • protector_onuninstall_base
  • protector_onupdate_base
  • protector_postcommon
  • protector_prepare
  • recaptcha_check_answer
  • recaptcha_get_html
  • recaptcha_get_signup_url
  • recaptcha_mailhide_html
  • recaptcha_mailhide_url
  • redirect_header
  • RedirectToCachedFile
  • SendSaveAsFileHeaderIfNeeded
  • showbanner
  • showThread
  • smarty_block_textformat
  • smarty_compiler_assign
  • smarty_compiler_foreachq
  • smarty_compiler_includeq
  • smarty_compiler_xoAdminIcons
  • smarty_compiler_xoAdminNav
  • smarty_compiler_xoAppUrl
  • smarty_compiler_xoImgUrl
  • smarty_compiler_xoModuleIcons16
  • smarty_compiler_xoModuleIcons32
  • smarty_compiler_xoModuleIconsBookmarks
  • smarty_core_assemble_plugin_filepath
  • smarty_core_assign_smarty_interface
  • smarty_core_create_dir_structure
  • smarty_core_display_debug_console
  • smarty_core_get_include_path
  • smarty_core_get_microtime
  • smarty_core_get_php_resource
  • smarty_core_is_secure
  • smarty_core_is_trusted
  • smarty_core_load_plugins
  • smarty_core_load_resource_plugin
  • smarty_core_process_cached_inserts
  • smarty_core_process_compiled_include
  • smarty_core_read_cache_file
  • smarty_core_rm_auto
  • smarty_core_rmdir
  • smarty_core_run_insert_handler
  • smarty_core_smarty_include_php
  • smarty_core_write_cache_file
  • smarty_core_write_compiled_include
  • smarty_core_write_compiled_resource
  • smarty_core_write_file
  • smarty_function_assign_debug_info
  • smarty_function_block
  • smarty_function_config_load
  • smarty_function_counter
  • smarty_function_cycle
  • smarty_function_debug
  • smarty_function_escape_special_chars
  • smarty_function_eval
  • smarty_function_fetch
  • smarty_function_html_checkboxes
  • smarty_function_html_checkboxes_output
  • smarty_function_html_image
  • smarty_function_html_options
  • smarty_function_html_options_optgroup
  • smarty_function_html_options_optoutput
  • smarty_function_html_radios
  • smarty_function_html_radios_output
  • smarty_function_html_select_date
  • smarty_function_html_select_time
  • smarty_function_html_table
  • smarty_function_html_table_cycle
  • smarty_function_mailto
  • smarty_function_math
  • smarty_function_popup
  • smarty_function_popup_init
  • smarty_function_securityToken
  • smarty_function_xoInboxCount
  • smarty_function_xoMemberInfo
  • smarty_function_xoops_link
  • smarty_function_xoPageNav
  • smarty_make_timestamp
  • smarty_modifier_capitalize
  • smarty_modifier_capitalize_ucfirst
  • smarty_modifier_cat
  • smarty_modifier_count_characters
  • smarty_modifier_count_paragraphs
  • smarty_modifier_count_sentences
  • smarty_modifier_count_words
  • smarty_modifier_date_format
  • smarty_modifier_debug_print_var
  • smarty_modifier_default
  • smarty_modifier_escape
  • smarty_modifier_indent
  • smarty_modifier_lower
  • smarty_modifier_nl2br
  • smarty_modifier_regex_replace
  • smarty_modifier_replace
  • smarty_modifier_spacify
  • smarty_modifier_string_format
  • smarty_modifier_strip
  • smarty_modifier_strip_tags
  • smarty_modifier_truncate
  • smarty_modifier_upper
  • smarty_modifier_wordwrap
  • smarty_outputfilter_trimwhitespace
  • smarty_outputfilter_trimwhitespace_replace
  • smarty_resource_db_secure
  • smarty_resource_db_source
  • smarty_resource_db_timestamp
  • smarty_resource_db_tplinfo
  • smarty_resource_db_trusted
  • synchronize
  • system_AdminIcons
  • system_adminVersion
  • system_CleanVars
  • system_loadLanguage
  • system_loadTemplate
  • themecenterposts
  • update_system_v211
  • userCheck
  • userTimeToServerTime
  • validateDbCharset
  • writeLicenseKey
  • xoBuildLicenceKey
  • xoDiag
  • xoDiagBoolSetting
  • xoDiagIfWritable
  • xoFormBlockCollation
  • xoFormField
  • xoFormFieldCharset
  • xoFormFieldCollation
  • xoFormSelect
  • xoops_aw_decode
  • xoops_aw_encode
  • xoops_bin2hex
  • xoops_comment_count
  • xoops_comment_delete
  • xoops_confirm
  • xoops_convert_decode
  • xoops_convert_encode
  • xoops_convert_encoding
  • xoops_cp_footer
  • xoops_cp_header
  • xoops_error
  • xoops_footer
  • xoops_getActiveModules
  • xoops_getbanner
  • xoops_getBaseDomain
  • xoops_getConfigOption
  • xoops_getcss
  • xoops_getenv
  • xoops_getHandler
  • xoops_getLinkedUnameFromId
  • xoops_getMailer
  • xoops_getModuleHandler
  • xoops_getModuleOption
  • xoops_getOption
  • xoops_getrank
  • xoops_getUrlDomain
  • xoops_getUserTimestamp
  • xoops_groupperm_deletebymoditem
  • xoops_header
  • xoops_hex2bin
  • xoops_isActiveModule
  • xoops_ishexstr
  • xoops_load
  • xoops_load_lang_file
  • xoops_loadLanguage
  • xoops_local
  • xoops_makepass
  • xoops_message
  • xoops_module_activate
  • xoops_module_change
  • xoops_module_deactivate
  • xoops_module_delayed_clean_cache
  • xoops_module_get_admin_menu
  • xoops_module_gettemplate
  • xoops_module_install
  • xoops_module_install_pm
  • xoops_module_install_profile
  • xoops_module_log_header
  • xoops_module_uninstall
  • xoops_module_update
  • xoops_module_update_pm
  • xoops_module_update_profile
  • xoops_module_update_system
  • xoops_module_write_admin_menu
  • xoops_notification_deletebyitem
  • xoops_notification_deletebymodule
  • xoops_notification_deletebyuser
  • xoops_refcheck
  • xoops_result
  • xoops_setActiveModules
  • xoops_setConfigOption
  • xoops_substr
  • xoops_template_clear_module_cache
  • xoops_template_touch
  • xoops_trim
  • xoops_utf8_encode
  • xoops_write_index_file
  • xoopsCodeTarea
  • xoopseditor_get_rootpath
  • XoopsErrorHandler_HandleError
  • xoopsfwrite
  • xoopsSmilies
  • xoPassField
  • xoPhpVersion
  • xoPutLicenseKey
  • xoStripeKey
  • Overview
  • Namespace
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * XOOPS banner management
  4:  *
  5:  * You may not change or alter any portion of this comment or credits
  6:  * of supporting developers from this source code or any supporting source code
  7:  * which is considered copyrighted (c) material of the original comment or credit authors.
  8:  * This program is distributed in the hope that it will be useful,
  9:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 10:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 11:  *
 12:  * @copyright       (c) 2000-2016 XOOPS Project (www.xoops.org)
 13:  * @license             GNU GPL 2 (http://www.gnu.org/licenses/gpl-2.0.html)
 14:  * @since               2.0.0
 15:  * @author              Kazumi Ono <webmaster@myweb.ne.jp>
 16:  * @author              Taiwen Jiang <phppp@users.sourceforge.net>
 17:  * @author              DuGris aka L. Jen <http://www.dugris.info>
 18:  * @author              Kris <kris@frxoops.org>
 19:  */
 20: 
 21: $xoopsOption['pagetype'] = 'banners';
 22: include __DIR__ . '/mainfile.php';
 23: 
 24: /********************************************/
 25: /* Function to let your client login to see */
 26: /* the stats                                */
 27: /********************************************/
 28: function clientlogin()
 29: {
 30:     global $xoopsDB, $xoopsLogger, $xoopsConfig;
 31:     include 'header.php';
 32:     $GLOBALS['xoTheme']->addStylesheet(null, null, '
 33:         #login_window  {
 34:             max-width:                          480px;
 35:             margin:                             1em auto;
 36:             background-color:                   #f8f8f8;
 37:             color:                              inherit;
 38:             border:                             1px solid #000;
 39:         }
 40:         #login_window  h2 {
 41:             margin:                             .5em;
 42:             padding:                            130px 0 0;
 43:             background:                         url( images/password.png) no-repeat center top;
 44:             text-align:                         center;
 45:         }
 46:         .login_form  .credentials {
 47:             margin:                             .5em 1em;
 48:             padding:                            1em;
 49:             background-color:                   #ccc;
 50:             color:                              inherit;
 51:         }
 52:         .login_form  .credentials label {
 53:             display:                            inline-block;
 54:             width:                              33%;
 55:             margin:                             1px;
 56:         }
 57:         .login_form  .credentials input {
 58:             width:                              50%;
 59:             margin:                             1px;
 60:             padding:                            1px;
 61:             border:                             1px solid #000;
 62:         }
 63:         .login_form  .credentials input:focus {
 64:             border:                             1px solid #2266cc;
 65:         }
 66:         .login_form  .actions {
 67:             padding:                            1.5em .5em .5em;
 68:             text-align:                         center;
 69:         }
 70:         .login_info {
 71:             margin:                             .5em 1em;
 72:             text-align:                         center;
 73:         }
 74:         .content_title {
 75:             font-size:                          1.2em;
 76:         }
 77:     ');
 78:     echo "<div id='login_window'>
 79:           <h2 class='content_title'>" . _BANNERS_LOGIN_TITLE . "</h2>
 80:           <form method='post' action='banners.php' class='login_form'>
 81:           <div class='credentials'>
 82:           <label for='login_form-login'>" . _BANNERS_LOGIN_LOGIN . "</label>
 83:           <input type='text' name='login' id='login_form-login' value='' /><br>
 84:           <label for='login_form-password'>" . _BANNERS_LOGIN_PASS . "</label>
 85:           <input type='password' name='pass' id='login_form-password' value='' /><br>
 86:           </div>
 87:           <div class='actions'><input type='hidden' name='op' value='Ok' /><button type='submit'>" . _BANNERS_LOGIN_OK . "</button></div>
 88:           <div class='login_info'>" . _BANNERS_LOGIN_INFO . '</div>' . $GLOBALS['xoopsSecurity']->getTokenHTML('BANNER_LOGIN') . '
 89:           </form></div>';
 90:     include $GLOBALS['xoops']->path('footer.php');
 91: }
 92: 
 93: /*********************************************/
 94: /* Function to display the banners stats for */
 95: /* each client                               */
 96: /*********************************************/
 97: function bannerstats()
 98: {
 99:     global $xoopsDB, $xoopsConfig, $xoopsLogger, $myts;
100:     if ($_SESSION['banner_login'] == '' || $_SESSION['banner_pass'] == '') {
101:         redirect_header('banners.php', 2, _BANNERS_NO_LOGIN_DATA);
102:     }
103:     $result = $xoopsDB->query(sprintf('SELECT cid, name, passwd FROM %s WHERE login=%s', $xoopsDB->prefix('bannerclient'), $xoopsDB->quoteString($_SESSION['banner_login'])));
104:     list($cid, $name, $passwd) = $xoopsDB->fetchRow($result);
105:     if ($_SESSION['banner_pass'] == $passwd) {
106:         include $GLOBALS['xoops']->path('header.php');
107:         $GLOBALS['xoTheme']->addStylesheet(null, null, '
108:             #bannerstats {}
109:             #bannerstats td {
110:                 text-align: center;
111:             }
112:         ');
113: 
114:         echo "<div id='bannerstats'>
115:               <h4 class='content_title'>" . sprintf(_BANNERS_TITLE, $name) . "</h4><hr />
116:               <table summary=''>
117:               <caption>" . sprintf(_BANNERS_TITLE, $name) . '</caption>
118:               <thead><tr>
119:               <td>ID</td>
120:               <td>' . _BANNERS_IMP_MADE . '</td>
121:               <td>' . _BANNERS_IMP_TOTAL . '</td>
122:               <td>' . _BANNERS_IMP_LEFT . '</td>
123:               <td>' . _BANNERS_CLICKS . '</td>
124:               <td>' . _BANNERS_PER_CLICKS . '</td>
125:               <td>' . _BANNERS_FUNCTIONS . "</td></tr></thead>
126:               <tfoot><tr><td colspan='7'></td></tr></tfoot>";
127: 
128:         $result = $xoopsDB->query('SELECT bid, imptotal, impmade, clicks, date FROM ' . $xoopsDB->prefix('banner') . " WHERE cid={$cid}");
129:         $i      = 0;
130:         while (list($bid, $imptotal, $impmade, $clicks, $date) = $xoopsDB->fetchRow($result)) {
131:             if ($impmade == 0) {
132:                 $percent = 0;
133:             } else {
134:                 $percent = substr(100 * $clicks / $impmade, 0, 5);
135:             }
136:             if ($imptotal == 0) {
137:                 $left = _BANNERS_UNLIMITED;
138:             } else {
139:                 $left = $imptotal - $impmade;
140:             }
141:             $class = ($i % 2 == 0) ? 'even' : 'odd';
142:             echo "<tbody><tr class='{$class}'>
143:                   <td>{$bid}</td>
144:                   <td>{$impmade}</td>
145:                   <td>{$imptotal}</td>
146:                   <td>{$left}</td>
147:                   <td>{$clicks}</td>
148:                   <td>{$percent}%</td>
149:                   <td><a href='banners.php?op=EmailStats&amp;cid={$cid}&amp;bid={$bid}' title='" . _BANNERS_STATS . "'>" . _BANNERS_STATS . '</a></td></tr></tbody>';
150:             ++$i;
151:         }
152:         echo "</table>
153:               <br><br>
154:               <h4 class='content_title'>" . _BANNERS_FOW_IN . htmlspecialchars($xoopsConfig['sitename']) . '</h4><hr />';
155: 
156:         $result = $xoopsDB->query('SELECT bid, imageurl, clickurl, htmlbanner, htmlcode FROM ' . $xoopsDB->prefix('banner') . " WHERE cid={$cid}");
157:         while (list($bid, $imageurl, $clickurl, $htmlbanner, $htmlcode) = $xoopsDB->fetchRow($result)) {
158:             $numrows = $xoopsDB->getRowsNum($result);
159:             if ($numrows > 1) {
160:                 echo '<br>';
161:             }
162:             if (!empty($htmlbanner) && !empty($htmlcode)) {
163:                 echo $myts->displayTarea($htmlcode);
164:             } else {
165:                 if (strtolower(substr($imageurl, strrpos($imageurl, '.'))) === '.swf') {
166:                     echo "<object type='application/x-shockwave-flash' width='468' height='60' data='{$imageurl}'>";
167:                     echo "<param name='movie' value='{$imageurl}' />";
168:                     echo "<param name='quality' value='high' />";
169:                     echo '</object>';
170:                 } else {
171:                     echo "<img src='{$imageurl}' alt='' />";
172:                 }
173:             }
174:             echo '<br><strong>' . _BANNERS_ID . $bid . '</strong><br>' . sprintf(_BANNERS_SEND_STATS, 'banners.php?op=EmailStats&amp;cid=' . $cid . '&amp;bid=' . $bid) . '<br>';
175:             if (!$htmlbanner) {
176:                 $clickurl = htmlspecialchars($clickurl, ENT_QUOTES);
177:                 echo sprintf(_BANNERS_POINTS, $clickurl) . "<br>
178:                 <form action='banners.php' method='post'>" . _BANNERS_URL . "
179:                 <input type='text' name='url' size='50' maxlength='200' value='{$clickurl}' />
180:                 <input type='hidden' name='bid' value='{$bid}' />
181:                 <input type='hidden' name='cid' value='{$cid}' />
182:                 <input type='submit' name='op' value='" . _BANNERS_CHANGE . "' />" . $GLOBALS['xoopsSecurity']->getTokenHTML('BANNER_EDIT') . '</form>';
183:             }
184:         }
185: 
186:         /* Finnished Banners */
187:         echo '<br>';
188:         if ($result = $xoopsDB->query('SELECT bid, impressions, clicks, datestart, dateend FROM ' . $xoopsDB->prefix('bannerfinish') . " WHERE cid={$cid}")) {
189:             echo "<h4 class='content_title'>" . sprintf(_BANNERS_FINISHED, $name) . "</h4><hr />
190:                   <table summary=''>
191:                   <caption>" . sprintf(_BANNERS_FINISHED, $name) . '</caption>
192:                   <thead><tr>
193:                   <td>ID</td>
194:                   <td>' . _BANNERS_IMP_MADE . '</td>
195:                   <td>' . _BANNERS_CLICKS . '</td>
196:                   <td>' . _BANNERS_PER_CLICKS . '</td>
197:                   <td>' . _BANNERS_STARTED . '</td>
198:                   <td>' . _BANNERS_ENDED . "</td></tr></thead>
199:                   <tfoot><tr><td colspan='6'></td></tr></tfoot>";
200: 
201:             $i = 0;
202:             while (list($bid, $impressions, $clicks, $datestart, $dateend) = $xoopsDB->fetchRow($result)) {
203:                 if ($impressions == 0) {
204:                     $percent = 0;
205:                 } else {
206:                     $percent = substr(100 * $clicks / $impressions, 0, 5);
207:                 }
208:                 $class = ($i % 2 == 0) ? 'even' : 'odd';
209:                 echo "<tbody><tr class='{$class}'>
210:                       <td>{$bid}</td>
211:                       <td>{$impressions}</td>
212:                       <td>{$clicks}</td>
213:                       <td>{$percent}%</td>
214:                       <td>" . formatTimestamp($datestart) . '</td>
215:                       <td>' . formatTimestamp($dateend) . '</td></tr></tbody>';
216:             }
217:             echo '</table></div>';
218:         }
219:         include $GLOBALS['xoops']->path('footer.php');
220:     } else {
221:         redirect_header('banners.php', 2);
222:     }
223: }
224: 
225: /*********************************************/
226: /* Function to let the client E-mail his     */
227: /* banner Stats                              */
228: /*********************************************/
229: /**
230:  * @param $cid
231:  * @param $bid
232:  */
233: function emailStats($cid, $bid)
234: {
235:     global $xoopsDB, $xoopsConfig;
236:     if ($_SESSION['banner_login'] != '' && $_SESSION['banner_pass'] != '') {
237:         $cid = (int)$cid;
238:         $bid = (int)$bid;
239:         if ($result2 = $xoopsDB->query(sprintf('SELECT name, email, passwd FROM %s WHERE cid=%u AND login=%s', $xoopsDB->prefix('bannerclient'), $cid, $xoopsDB->quoteString($_SESSION['banner_login'])))) {
240:             list($name, $email, $passwd) = $xoopsDB->fetchRow($result2);
241:             if ($_SESSION['banner_pass'] == $passwd) {
242:                 if ($email == '') {
243:                     redirect_header('banners.php', 3, sprintf(_BANNERS_MAIL_ERROR, $name));
244:                 } else {
245:                     if ($result = $xoopsDB->query('SELECT bid, imptotal, impmade, clicks, imageurl, clickurl, date FROM ' . $xoopsDB->prefix('banner') . " WHERE bid={$bid} AND cid={$cid}")) {
246:                         list($bid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date) = $xoopsDB->fetchRow($result);
247:                         if ($impmade == 0) {
248:                             $percent = 0;
249:                         } else {
250:                             $percent = substr(100 * $clicks / $impmade, 0, 5);
251:                         }
252:                         if ($imptotal == 0) {
253:                             $left     = _BANNERS_UNLIMITED;
254:                             $imptotal = _BANNERS_UNLIMITED;
255:                         } else {
256:                             $left = $imptotal - $impmade;
257:                         }
258:                         $fecha       = date('F jS Y, h:iA.');
259:                         $subject     = sprintf(_BANNERS_MAIL_SUBJECT, $xoopsConfig['sitename']);
260:                         $message     = sprintf(_BANNERS_MAIL_MESSAGE, $xoopsConfig['sitename'], $name, $bid, $imageurl, $clickurl, $imptotal, $impmade, $left, $clicks, $percent, $fecha);
261:                         $xoopsMailer = &xoops_getMailer();
262:                         $xoopsMailer->useMail();
263:                         $xoopsMailer->setToEmails($email);
264:                         $xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
265:                         $xoopsMailer->setFromName($xoopsConfig['sitename']);
266:                         $xoopsMailer->setSubject($subject);
267:                         $xoopsMailer->setBody($message);
268:                         $xoopsMailer->send();
269:                         redirect_header('banners.php?op=Ok', 3, _BANNERS_MAIL_OK);
270:                     }
271:                 }
272:             }
273:         }
274:     }
275:     redirect_header('banners.php', 2);
276: }
277: 
278: /*********************************************/
279: /* Function to let the client to change the  */
280: /* url for his banner                        */
281: /*********************************************/
282: /**
283:  * @param $cid
284:  * @param $bid
285:  * @param $url
286:  */
287: function change_banner_url_by_client($cid, $bid, $url)
288: {
289:     global $xoopsDB;
290:     if ($_SESSION['banner_login'] != '' && $_SESSION['banner_pass'] != '' && $url != '') {
291:         $cid = (int)$cid;
292:         $bid = (int)$bid;
293:         $sql = sprintf('SELECT passwd FROM %s WHERE cid=%u AND login=%s', $xoopsDB->prefix('bannerclient'), $cid, $xoopsDB->quoteString($_SESSION['banner_login']));
294:         if ($result = $xoopsDB->query($sql)) {
295:             list($passwd) = $xoopsDB->fetchRow($result);
296:             if ($_SESSION['banner_pass'] == $passwd) {
297:                 $sql = sprintf('UPDATE %s SET clickurl=%s WHERE bid=%u AND cid=%u', $xoopsDB->prefix('banner'), $xoopsDB->quoteString($url), $bid, $cid);
298:                 if ($xoopsDB->query($sql)) {
299:                     redirect_header('banners.php?op=Ok', 3, _BANNERS_DBUPDATED);
300:                 }
301:             }
302:         }
303:     }
304:     redirect_header('banners.php', 2);
305: }
306: 
307: /**
308:  * @param $bid
309:  */
310: function clickbanner($bid)
311: {
312:     global $xoopsDB;
313:     $bid = (int)$bid;
314:     if ($bid > 0) {
315:         $bresult = $xoopsDB->query('SELECT clickurl FROM ' . $xoopsDB->prefix('banner') . " WHERE bid={$bid}");
316:         list($clickurl) = $xoopsDB->fetchRow($bresult);
317:         if ($clickurl) {
318:             if ($GLOBALS['xoopsSecurity']->checkReferer()) {
319:                 $xoopsDB->queryF('UPDATE ' . $xoopsDB->prefix('banner') . " SET clicks=clicks+1 WHERE bid=$bid");
320:                 header('Location: ' . $clickurl);
321:             } else {
322:                 //No valid referer found so some javascript error or direct access found
323:                 echo _BANNERS_NO_REFERER;
324:             }
325:             exit();
326:         }
327:     }
328:     redirect_header(XOOPS_URL, 3, _BANNERS_NO_ID);
329: }
330: 
331: XoopsLoad::load('XoopsFilterInput');
332: $myts = MyTextSanitizer::getInstance();
333: 
334: $op = '';
335: if (!empty($_POST['op'])) {
336:     // from $_POST we use keys: op, login, pass, url, pass, bid, cid
337:     $op = trim(XoopsFilterInput::clean($_POST['op'], 'STRING'));
338: 
339:     $clean_login = '';
340:     if (isset($_POST['login'])) {
341:         $clean_login = trim(XoopsFilterInput::clean($myts->stripSlashesGPC($_POST['login']), 'STRING'));
342:     }
343: 
344:     $clean_pass = '';
345:     if (isset($_POST['pass'])) {
346:         $clean_pass = trim(XoopsFilterInput::clean($myts->stripSlashesGPC($_POST['pass']), 'STRING'));
347:     }
348: 
349:     $clean_url = '';
350:     if (isset($_POST['url'])) {
351:         $clean_url = trim(XoopsFilterInput::clean($myts->stripSlashesGPC($_POST['url']), 'WEBURL'));
352:     }
353: 
354:     $clean_bid = 0;
355:     if (isset($_POST['bid'])) {
356:         $clean_bid = XoopsFilterInput::clean($_POST['bid'], 'INT');
357:     }
358: 
359:     $clean_cid = 0;
360:     if (isset($_POST['cid'])) {
361:         $clean_cid = XoopsFilterInput::clean($_POST['cid'], 'INT');
362:     }
363: } elseif (!empty($_GET['op'])) {
364:     // from $_POST we use keys: op, bid, cid
365:     $op = trim(XoopsFilterInput::clean($_GET['op'], 'STRING'));
366: 
367:     $clean_bid = 0;
368:     if (isset($_GET['bid'])) {
369:         $clean_bid = XoopsFilterInput::clean($_GET['bid'], 'INT');
370:     }
371: 
372:     $clean_cid = 0;
373:     if (isset($_GET['cid'])) {
374:         $clean_cid = XoopsFilterInput::clean($_GET['cid'], 'INT');
375:     }
376: }
377: 
378: $myts = MyTextSanitizer::getInstance();
379: switch ($op) {
380:     case 'click':
381:         $bid = $clean_bid;
382:         clickbanner($bid);
383:         break;
384:     case 'Ok':
385:         if ($_SERVER['REQUEST_METHOD'] === 'POST') {
386:             if (!$GLOBALS['xoopsSecurity']->check(true, false, 'BANNER_LOGIN')) {
387:                 redirect_header('banners.php', 3, implode('<br>', $GLOBALS['xoopsSecurity']->getErrors()));
388:             }
389: 
390:             $_SESSION['banner_login'] = $clean_login;
391:             $_SESSION['banner_pass']  = $clean_pass;
392:         }
393:         bannerstats();
394:         break;
395:     case _BANNERS_CHANGE:
396:         if (!$GLOBALS['xoopsSecurity']->check(true, false, 'BANNER_EDIT')) {
397:             redirect_header('banners.php', 3, implode('<br>', $GLOBALS['xoopsSecurity']->getErrors()));
398:         }
399:         $url = $clean_url;
400:         $bid = $clean_bid;
401:         $cid = $clean_cid;
402:         change_banner_url_by_client($cid, $bid, $url);
403:         break;
404:     case 'EmailStats':
405:         $bid = $clean_bid;
406:         $cid = $clean_cid;
407:         emailStats($cid, $bid);
408:         break;
409:     case 'login':
410:     default:
411:         clientlogin();
412:         break;
413: }
414: 
API documentation generated by ApiGen