IPSCONTENT; foreach ( $restrictions['applications'] as $appKey => $appId ): $return .= << IPSCONTENT; $val = "__app_$appKey"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; endforeach; $return .= << IPSCONTENT; $return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( ); $return .= <<
IPSCONTENT; foreach ( $restrictions['applications'] as $appKey => $appId ): $return .= <<
IPSCONTENT; endforeach; $return .= <<
IPSCONTENT; return $return; } function adminDetails( $details ) { $return = ''; $return .= <<
IPSCONTENT; $return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( \IPS\Member::loggedIn(), 'medium' ); $return .= <<
IPSCONTENT; return $return; } function badgesLog( $table, $member ) { $return = ''; $return .= <<

IPSCONTENT; $htmlsprintf = array($member->acpUrl(), $member->name); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'acp_badges_log_title', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'htmlsprintf' => $htmlsprintf ) ); $return .= <<

{$table} IPSCONTENT; return $return; } function bulkMailPreview( $mail, $members, $count ) { $return = ''; $return .= <<
IPSCONTENT; $return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( ); $return .= <<
  • IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'bm_send_overview', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
  • IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mail_subject', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
    IPSCONTENT; $return .= \IPS\Theme\Template::htmlspecialchars( $mail->subject, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= <<
  • IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mail_body', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
IPSCONTENT; return $return; } function confirmMassAction( $count, $action, $group=NULL ) { $return = ''; $return .= << IPSCONTENT; if ( $action === 'prune' ): $return .= <<language()->addToStack( htmlspecialchars( 'member_prune_confirm_msg', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) ); $return .= <<language()->addToStack( htmlspecialchars( 'member_unsub_confirm_msg', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) ); $return .= <<name); $pluralize = array( $count ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_move_confirm_msg', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf, 'pluralize' => $pluralize ) ); $return .= << IPSCONTENT; if ( $action === 'prune' ): $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'continue', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
IPSCONTENT; elseif ( $action === 'unSub' ): $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'continue', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; else: $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'continue', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; endif; $return .= << IPSCONTENT; if ( $anonymous ): $return .= <<language()->addToStack( htmlspecialchars( 'device_table_login_key_anonymous', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<language()->addToStack( htmlspecialchars( 'device_table_login_key_ok', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'device_table_login_key_expired', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'device_table_login_key_no', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'device_used_other_members', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; return $return; } function deviceHandler( $key ) { $return = ''; $return .= <<_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'device_handler_unknown', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; endif; $return .= <<
  • IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'device_table_user_agent', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; $return .= \IPS\Theme\Template::htmlspecialchars( $device->userAgent(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= << IPSCONTENT; $return .= \IPS\Theme\Template::htmlspecialchars( $device->user_agent, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= <<
  • IPSCONTENT; foreach ( $apps as $accessToken ): $return .= << IPSCONTENT; $return .= \IPS\Theme\Template::htmlspecialchars( $oauthClients[ $accessToken['client_id'] ]->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= << IPSCONTENT; if ( $accessToken['issue_user_agent'] ): $return .= << IPSCONTENT; $return .= \IPS\Theme\Template::htmlspecialchars( $accessToken['issue_user_agent'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= << IPSCONTENT; endif; $return .= <<getTemplate( "api", \IPS\Request::i()->app )->oauthStatus( $accessToken, $oauthClients[ $accessToken['client_id'] ]->use_refresh_tokens ); $return .= <<     IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'oauth_authorization_issued', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<html(useTitle: true); $return .= <<language()->addToStack( htmlspecialchars( 'oauth_authorization_access_token_expires', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<html(useTitle: true); $return .= <<language()->addToStack( htmlspecialchars( 'oauth_refresh_token_expires', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<html(useTitle: true); $return .= << IPSCONTENT; if ( $accessToken['scope'] ): $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'oauth_authorization_scope', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; endif; $return .= << IPSCONTENT; endforeach; $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'device_table_login_key', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; $return .= \IPS\Theme::i()->getTemplate( "members", \IPS\Request::i()->app )->deviceAuthorization( (bool) $device->login_key, TRUE, $device->anonymous ); $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'device_table_login_key_info', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
  • IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'device_table_login_handler', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; $return .= \IPS\Theme::i()->getTemplate( "members", \IPS\Request::i()->app )->deviceHandler( $device->login_handler ); $return .= <<
  • IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'device_table_last_seen', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; $val = ( $device->last_seen instanceof \IPS\DateTime ) ? $device->last_seen : \IPS\DateTime::ts( $device->last_seen );$return .= $val->html(useTitle: true); $return .= <<
IPSCONTENT; return $return; } function deviceTable( $table ) { $return = ''; $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'device_table_login_key_info', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; return $return; } function downloadMemberList( $removedData, $includeInsecure ) { $return = ''; $return .= <<
IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'members_export', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; if ( $includeInsecure ): $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_export_security', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; elseif ( !empty( $removedData ) ): $return .= <<
IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_export_security_intro', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
IPSCONTENT; foreach ( $removedData as $memberId => $data ): $return .= << IPSCONTENT; endforeach; $return .= <<
IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_export_security_footer', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
IPSCONTENT; endif; $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'empty_perms_no_apps', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; return $return; } function geoipDisclaimer( ) { $return = ''; $return .= <<* IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'ip_geolocation_info', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; return $return; } function groupCell( $group, $secondaryGroups ) { $return = ''; $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'secondary_groups', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<language()->formatList( $secondaryGroups ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= << IPSCONTENT; endif; $return .= << IPSCONTENT; $return .= \IPS\Theme\Template::htmlspecialchars( $group->name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= << IPSCONTENT; return $return; } function importMemberErrors( $errors ) { $return = ''; $return .= <<
IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'import_member_errors', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_export_security_member', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_export_security_column', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'member_export_security_value', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= <<
IPSCONTENT; $return .= \IPS\Theme::i()->getTemplate( "global", \IPS\Request::i()->app )->userLink( \IPS\Member::load( $memberId ) ); $return .= << IPSCONTENT; $val = "{$data[0]}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) ); $return .= << IPSCONTENT; $return .= \IPS\Theme\Template::htmlspecialchars( base64_decode( $data[1] ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ); $return .= <<