Activity Dashboard

    Inhaltsverzeichnis
    keine Gliederung

    Version seit 11:23, 18 Jan 2025

    zu dieser Version.

    Zurück zu Versionshistorie.

    Zeige aktuelle Version

    <link href="/skins/common/templates/activitydashboard.css" rel="stylesheet" type="text/css" />
    
    try {
        // set page-level user details
        var ActivityUser = page.namespaceuser;
        var userDetails = wiki.api(ActivityUser.api);
    } catch {
        <span class="error-dekiscript">wiki.localize('MindTouch.Templates.UserProfile.error.initialization');</span>
        web.showerror(__error);
        return;
    };
    
    <div id="deki-activity-dashboard">
    <div id="col-left">
    
    /*
     * User Profile Information Box 
     */
    <div id="deki-profile" class="deki-dashboard-group">
    try {
        <div class="dashboard-title">
            <div class="profile-name">
                #ActivityUser.fullname > 0 ? ActivityUser.fullname : ActivityUser.name;
    
                var status = xml.text(userDetails, 'status');
                status == 'active' ? '' : ' (' .. wiki.localize('MindTouch.Templates.UserProfile.status.disabled') .. ')';
            </div>
        </div>
    
        <div class="profile-image">
            ActivityUser.Gravatar
        </div>
        <dl class="profile-details">
            var loginDate = date.parse(xml.text(userDetails, 'date.lastlogin'));
            <dt>wiki.localize('MindTouch.Templates.UserProfile.label.lastlogin') .. ': ';</dt>
            <dd class="dashboard-lastlogin">Template('MindTouch/Controls/DateTime', {date:loginDate, format:'datetime'});</dd>
            <dt>
                wiki.localize('MindTouch.Templates.UserProfile.label.joined') .. ': '
            </dt>
            <dd class="profile-joined">
                var joinDate = date.parse(xml.text(userDetails, 'date.created'));
                Template('MindTouch/Controls/DateTime', {date:joinDate, format:'date'})
            </dd>
            <dt>
                wiki.localize('MindTouch.Templates.UserProfile.label.timezone') .. ': ';
            </dt>
            <dd class="profile-timezone">
                ActivityUser.timezone;
            </dd>
            if (#ActivityUser.language > 0 && ActivityUser.language != site.language) {
            <dt>
                wiki.localize('MindTouch.Templates.UserProfile.label.language') .. ': '
            </dt>
            <dd class="profile-language">
                ActivityUser.language;
            </dd>
            }
            var groups = userDetails['groups/group'];
            if (#groups > 0) {
            <dt>
                wiki.localize('MindTouch.Templates.UserProfile.label.groups') .. ': '
            </dt>
            <dd class="profile-groups">
                string.join(list.sort([ xml.text(g["groupname"]) foreach var g in groups ]), ", ");
            </dd>
            }
        </dl>
        <div class="clear" />
    } catch {    
        <span class="error-dekiscript">wiki.localize('MindTouch.Templates.UserProfile.error.profile');</span>
        web.showerror(__error);
    };
    </div> // end deki-profile
    
    /*
     * Recent Comments Dashboard Box
     */
    	
    /*
     * Recent User Activities
     */
    <div id="deki-recent-changes" class="deki-dashboard-group">
    try {
        <div class="dashboard-title">wiki.localize('MindTouch.Templates.UserProfile.label.changes')</div>
       
        var feedUri = ActivityUser.api & 'feed' & {limit: 10, format: 'raw'};
        var changes = wiki.api(feedUri)['change'];
    
        if (#changes > 0) {
            <ul>
            foreach (var c in changes) {
    
                var pageId =  xml.num(c, 'rc_cur_id');
                var page = wiki.getPage(pageId);
                var changeDate = date.parse(xml.text(c, 'rc_timestamp'), 'yyyyMMddHHmmss');
                var pageExists = xml.num(c, 'rc_page_exists');
                var pageTitle = xml.text(c, 'rc_title');
    
                 <li>
                    pageExists ? web.link(page.uri, page.title) : pageTitle;
                    <div class="recentchanges-date">Template('MindTouch/Controls/DateTime', {date:changeDate, format:'date'})</div> 
                    <div class="recentchanges-details">
                        <span class="dashboard-change">xml.text(c, 'rc_comment');</span>
                    </div>
                </li>
            }
            </ul>
    
            <div class="deki-dashboard-group-footer">
                web.link('/Special:Contributions?target=' .. ActivityUser.name,
                   wiki.localize('MindTouch.Templates.UserProfile.label.allchanges', [ActivityUser.name]));
            </div>
        }
        else {
            <div class="dashboard-message">
                wiki.localize('MindTouch.Templates.UserProfile.empty.changes');
            </div>
        }
    } catch {
        <span class="error-dekiscript">wiki.localize('MindTouch.Templates.UserProfile.error.changes');</span>
        web.showerror(__error);
    };
    
    </div> // end deki-recent-changes
    </div> // end col-right
    </div> // end deki-activity-dashboard
    
    Deki Appliance - Powered by TurnKey Linux