Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/site/app/views/editors/reviews_queue.thtml
blob: 6b5465b2f4a3737ff4df47d9c164e89c8406cf72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?php
/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
 *
 * The contents of this file are subject to the Mozilla Public License Version
 * 1.1 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 * http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * The Original Code is addons.mozilla.org site.
 *
 * The Initial Developer of the Original Code is
 * Justin Scott <fligtar@gmail.com>.
 * Portions created by the Initial Developer are Copyright (C) 2006
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *      Wil Clouser <clouserw@gmail.com>
 *      Frederic Wenzel <fwenzel@mozilla.com>
 *
 * Alternatively, the contents of this file may be used under the terms of
 * either the GNU General Public License Version 2 or later (the "GPL"), or
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the MPL, the GPL or the LGPL.
 *
 * ***** END LICENSE BLOCK ***** */
?>
<div id="content">
    <?=$this->renderElement('developers/editorsmenu');?>
    <?=$this->renderElement('developers/editorsqueue');?>
    
<div class="reviews">
<?php
    if (!empty($reviews)) {
        echo $html->formTag('/editors/queue/reviews');
        
        foreach ($reviews as $review) {
            $review['Translation'] = (array_key_exists(LANG, $review['Translation']) ?
                $review['Translation'][LANG] : current($review['Translation']));
?>
    <div class="corner-box">
        <h3><?=$html->link($review['Addon']['Translation']['name']['string'], '/addons/display/'.$review['Addon']['Addon']['id']).
                ': '.$review['Translation']['title']['string']?> (<?=$review['Translation']['title']['locale']?>)</h3>
    
        <div class="reviewed-on"><?= sprintf(___('by %1$s on %2$s (rated %3$s)'), $html->linkUserFromModel($review['User']), strftime(___('%B %e, %Y'), strtotime($review['Review']['created'])), $review['Review']['rating'])?></div>
        <?=nl2br($review['Translation']['body']['string'])?>

        <?php /* Developer reply? */
        if (!empty($review['Review']['reply_to'])):
            $replyto = $review['Review']['reply_to'];
            $replyto['Translation'] = (array_key_exists(LANG, $replyto['Translation']) ?
                $replyto['Translation'][LANG] : current($replyto['Translation']));
        ?>
        <div class="review-reply">
            <h3><?=___('In reply to:')?> <?=$replyto['Translation']['title']['string']?></h3>
            <div class="reviewed-on"><?= sprintf(___('by %1$s on %2$s (rated %3$s)'), $html->linkUserFromModel($replyto['User']), strftime(___('%B %e, %Y'), strtotime($replyto['Review']['created'])), $replyto['Review']['rating'])?></div>
            <?=nl2br($replyto['Translation']['body']['string'])?>
        </div>
        <?php endif; ?>

        <?php /* List out the review flags selected by users */ ?>
        <?php if ($flags = @$reviews_flags[$review['Review']['id']]): ?>
            <ul class="review-flags">

                <?php foreach ($flags as $flag_name => $count): ?>
                    <?php /* Skip the 'other' flag until the end */ ?>
                    <?php if ($flag_name == 'review_flag_reason_other') continue ?>
                    <li><?php echo $review_flag_reasons[$flag_name] ?></li>
                <?php endforeach ?>

                <?php /* If there are 'other' flags, list out the freeform notes supplied by users */ ?>
                <?php if ($notes = @$reviews_flags_notes[$review['Review']['id']]): ?>
                    <li>
                        <span><?php echo $review_flag_reasons['review_flag_reason_other'] ?></span>
                        <ul class="review-flags-notes">
                            <?php foreach ($notes as $note): ?>
                                <li><span class="note"><?php echo $note ?></span></li>
                            <?php endforeach; ?>
                        </ul>
                    </li>
                <?php endif; ?>

            </ul>
        <?php endif; ?>

        </ul>
        <div class="reviewAction">
            <b><?=___('Action', 'editors_reviews_header_action')?></b>:&nbsp;
            <input type="radio" name="data[Reviews][review<?=$review['Review']['id']?>]" value="skip" checked id="skip<?=$review['Review']['id']?>">
            <label for="skip<?=$review['Review']['id']?>"><?=___('Skip')?></label>
            <input type="radio" name="data[Reviews][review<?=$review['Review']['id']?>]" value="approve" id="approve<?=$review['Review']['id']?>">
            <label for="approve<?=$review['Review']['id']?>"><?=___('Remove flags; keep review')?></label>
            <input type="radio" name="data[Reviews][review<?=$review['Review']['id']?>]" value="delete" id="deny<?=$review['Review']['id']?>">
            <label for="deny<?=$review['Review']['id']?>"><?=___('Delete review')?></label>
        </div>
    </div>
<?php
        }
        echo $html->submit(___('Process Reviews'));
        echo '</form>';
        
        echo $this->renderElement('pagination');
    }
    else {
        echo '<div class="emptyQueue">'.___('There are currently no reviews in moderation.').'</div>';
    }
?>
</div>

</div>