Changeset 74

Show
Ignore:
Timestamp:
08/06/07 23:44:29 (1 year ago)
Author:
pragma
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/tracforums/templates/tracforums/forum/edit.cs

    r54 r74  
    11<?cs include "tracforums/header.cs" ?> 
    2     <?cs if:uimode == 'editPreview' || uimode == 'edit' ?> 
    3         <h1>Edit Forum</h1> 
    4         <?cs include "tracforums/breadcrumb.cs" ?>   
    5         <div class='description'> 
     2<?cs include "tracforums/forum/_defs.cs" ?> 
     3 
     4    <h1>Edit Forum</h1> 
     5     
     6    <div class='breadcrumb'> 
     7        <a href="<?cs var:trac.href.forums ?>/main/index">Forum Index</a> 
     8        &#187; <a href="<?cs var:trac.href.forums ?>/forum/view/<?cs var:forums.forum.id?>"><?cs var:forums.forum.name ?></a> 
     9        &#187; <a href="<?cs var:trac.href.forums ?>/forum/edit/<?cs var:forums.forum.id?>">Edit Forum</a> 
     10    </div> 
     11    <br> 
     12 
     13    <?cs if:len(forums.preview) > 0?> 
     14        <div class="report"> 
     15            <table class="listing"> 
     16                <thead> 
     17                    <?cs call:displayForumListHeader()?> 
     18                </thead> 
     19                <tbody> 
     20                    <?cs each:forum = forums.preview ?> 
     21                        <?cs call:displayForumListRow(forum)?> 
     22                    <?cs /each ?> 
     23                </tbody> 
     24            </table> 
     25        </div> 
     26    <?cs /if> 
     27             
     28    <div class="instructions"> 
     29        <?cs if:len(forums.forums) == 0?> 
    630            <p>Use the form below to modify this forum.</p> 
    7         </div> 
    8     <?cs /if ?> 
     31        <?cs /if?> 
     32        <?cs if:len(forums.validateErrors) > 0?> 
     33            <?cs each:err = forums.validateErrors?> 
     34                <p class='error'><?cs var:err?></p> 
     35            <?cs /each?> 
     36        <?cs /if?>       
     37    </div> 
    938     
    10     <?cs if:uimode == 'newPreview' || uimode == 'new' ?> 
    11         <h1>New Forum</h1> 
    12         <?cs include "tracforums/breadcrumb.cs" ?>   
    13         <div class='description'>        
    14             <p>Use the form below to create a new forum.</p> 
    15         </div> 
    16     <?cs /if ?> 
    17          
    18     <?cs if:uimode == 'editPreview' || uimode == 'newPreview' ?> 
    19         <fieldset id="editPreview"> 
    20             <legend>Preview (<a href="#edit">skip</a>)</legend> 
    21             <h3><?cs var:forums.forum.name ?></h3> 
    22             <div class="wikipage"><?cs var:forums.forum.descriptionhtml ?></div> 
    23         </fieldset> 
    24     <?cs /if ?> 
    25          
    26     <?cs if:len(reasons) > 0 ?> 
    27         <p class='error'> 
    28             <ul> 
    29                 <?cs each:reason = reasons ?> 
    30                     <li><?cs var:reason ?></li> 
    31                 <?cs /each?> 
    32             </ul> 
    33         </p> 
    34     <?cs /if?> 
    35          
    36     <form method="post" action="<?cs var:trac.href.forums?>/forum"> 
    37         <?cs if:uimode == 'edit' || uimode == 'editPreview' ?> 
    38             <input type="hidden" name="uimode" id='uimode' value="save"> 
    39         <?cs /if?> 
    40         <?cs if:uimode == 'new' || uimode == 'newPreview' ?> 
    41             <input type="hidden" name="uimode" id='uimode' value="create"> 
    42         <?cs /if?> 
    43          
    44         <input type="hidden" name="id" id='id' value="<?cs var:forums.forum.id?>"> 
     39    <form method="post" action="<?cs var:trac.href.forums?>/forum/edit/<?cs var:forums.forum.id?>"> 
     40        <input type="hidden" name="returnto" value="<?cs var:forums.returnto?>"> 
     41         
    4542        <fieldset> 
    4643            <legend>General</legend> 
     44             
    4745            <label for="name">Forum Name:</label> 
    4846            <input type="text" name="name" id="name" value="<?cs var:forums.forum.name?>"> 
     
    6967                    >Yes</option> 
    7068            </select> 
    71         </fieldset> 
    72          
    73         <!-- 
    74         <br> 
    75         <script> 
    76             function addCategoryId(textObj){ 
    77                 var textObj = $('newcategory'); 
    78                 var categoryIdObj = $('categoryid'); 
    79                 var option = document.createElement('option'); 
    80                 option.value = textObj.value; 
    81                 option.text = textObj.value; 
    82                  
    83                 try{ 
    84                     categoryIdObj.add(option,null); // standards compliant 
    85                 } 
    86                 catch(ex){ 
    87                     categoryIdObj.add(option); // IE only 
    88                 } 
    89                 categoryIdObj.selectedIndex = categoryIdObj.options.length-1; 
    90                  
    91                 textObj.value = ""; 
    92             } 
    93         </script> 
    94         <fieldset> 
    95             <legend>Category</legend> 
    96             <label for="categoryid">Select Category:</label> 
    97             <select name="categoryid" id="categoryid"> 
    98                 <option value='' 
    99                     <?cs if:!forums.forum.categoryid || forums.forum.categoryid == ''?>selected<?cs /if?> 
    100                     >-- Default --</option>                      
    101                 <?cs each:category = forums.categories?> 
    102                 <option value='<?cs var:category?>' 
    103                     <?cs if:forums.forum.categoryid == category?>selected<?cs /if?> 
    104                     ><?cs var:category?></option> 
    105                 <?cs /each?> 
    106             </select> 
    10769             
    10870            <br> 
    109             <label for="newCategory">Add Category:</label> 
    110             <input type="text" id="newcategory" value=""> 
    111             <input type="button" value="Add" onclick="addCategoryId()"> 
     71            <label for="categoryid">Category:</label> 
     72            <select name="categoryid" id="categoryid" title="Prevent normal users from modifying this forum"> 
     73                <option value="0">-- None --</option> 
     74                <?cs each:category = forums.categories?> 
     75                    <option value="<?cs var:category.id?>" 
     76                        <?cs if:forums.forum.categoryid == category.id?>selected="true"<?cs /if?> 
     77                    ><?cs var:category.description?></option> 
     78                <?cs /each?> 
     79            </select>            
     80             
     81            <br> 
     82            <label for="moderators"> 
     83                Moderators:<br> 
     84                <span style="font-size:smaller">(comma sep. list)</span>                 
     85            </label> 
     86            <input type="text" name="moderators" id="moderators" size="80" value="<?cs var:forums.forum.moderatorsList?>"> 
    11287        </fieldset> 
    113         --> 
    114         <input type="hidden" name="categoryid" value="0"> 
    115         <br> 
    116         <script> 
    117             function syncModerators(){ 
    118                 var modList = document.getElementsByName('moderatorBox'); 
    119                 var value = ""; 
    120                 for(var i=0; i<modList.length; i++){ 
    121                     if(i > 0) value += ","; 
    122                     value += modList[i].value; 
    123                 } 
    124                 $('moderators').value = value;               
    125             }            
    126          
    127             function appendModerator(){ 
    128                 var mod = $('addModerator').value; 
    129                  
    130                 // prevent duplicates 
    131                 var modList = document.getElementsByName('moderatorBox'); 
    132                 if(modList){ 
    133                     for(var i=0; i<modList.length; i++){ 
    134                         if(modList[i].value == mod) return; 
    135                     } 
    136                 } 
    137                 // add new row 
    138                 if(mod){ 
    139                     var table = $('moderatorList'); 
    140                     var row = table.insertRow(0); 
    141                     row.insertCell(0).innerHTML = mod; 
    142                     row.insertCell(1).innerHTML = "<input type='checkbox' name='moderatorBox' value='" + mod + "'>"; 
    143                 } 
    144                 // clear input 
    145                 $('addModerator').value = ""; 
    146                  
    147                 // sync 
    148                 syncModerators(); 
    149             } 
    150              
    151             function removeSelectedModerators(){ 
    152                 // find checked items 
    153                 var modList = document.getElementsByName('moderatorBox'); 
    154                 if(modList && modList.length > 0){ 
    155                     for(var i=modList.length-1; i >= 0; i--){ 
    156                         var item = modList[i]; 
    157                         if(item.checked){ 
    158                             var row = item.parentNode.parentNode; 
    159                             row.parentNode.removeChild(row); 
    160                         } 
    161                     } 
    162                 } 
    163                 // sync  
    164                 syncModerators();    
    165             } 
    166         </script> 
    167         <fieldset> 
    168             <legend>Moderators</legend> 
    169             <table id="moderatorList"> 
    170                 <?cs each:moderator = forums.forum.moderatorsArr?> 
    171                     <tr> 
    172                         <td><?cs var:moderator?></td> 
    173                         <td><input type='checkbox' name='moderatorBox' value='<?cs var:moderator?>'></td> 
    174                     </tr> 
    175                 <?cs /each?> 
    176             </table> 
    177             <input type="hidden" id="moderators" name="moderators" value="<?cs var:forums.forum.moderators?>"> 
    178             <input type="button" value="Select All" onclick="selectAllCheckboxes('moderatorBox')"> 
    179             <input type="button" value="Clear All" onclick="clearAllCheckboxes('moderatorBox')"> 
    180             <input type='button' value='Remove Selected' onclick="removeSelectedModerators()"> 
    181             <br> 
    182             <label for="addModerator">Add Moderator:</label> 
    183             <input type="text" id="addModerator" value=""> 
    184             <input type="button" value="Add" onclick="appendModerator()"> 
    185         </fieldset> 
    186          
    18788         
    18889        <br> 
    18990        <fieldset id="edit"> 
    19091            <legend>Forum Description</legend> 
    191             <div id="rows"> 
    192                 <label for="forum_description_rows">Adjust edit area height:</label> 
    193                 <select size="1" name="forum_description_rows" id="forum_description_rows" 
    194                     onchange="resizeTextArea('description', this.options[selectedIndex].value)"> 
    195                     <?cs loop:rows = 8, 42, 4 ?> 
    196                         <option value="<?cs var:rows ?>"<?cs 
    197                             if:rows == forums.forum_description_rows ?> selected="selected"<?cs /if ?>><?cs 
    198                             var:rows ?></option> 
    199                     <?cs /loop ?> 
    200                 </select> 
    201             </div> 
    202             <p> 
    203                 <textarea class="wikitext" id="description" name="description" cols="80" rows="<?cs var:forums.forum_description_rows ?>"><?cs var:forums.forum.description?></textarea> 
    204             </p> 
    205             <div id="help"> 
    206                     <b>Note:</b> See  
    207                     <a href="<?cs var:$trac.href.wiki ?>/WikiFormatting">WikiFormatting</a> and  
    208                     <a href="<?cs var:$trac.href.wiki ?>/TracWiki">TracWiki</a> for help on editing wiki content. 
    209             </div>   
     92            <?cs call:displayWikiField(80,"description",forums.forum.description,"forum_description_rows",forum.forum_description_rows)?> 
    21093        </fieldset> 
    21194        <br> 
    21295         
    21396        <div class="field"> 
    214             <input type="submit" value="Submit"> 
    215             <?cs if:uimode == 'new' || uimode == 'newPreview' ?> 
    216                 <input type="submit" value="Preview" onclick="document.getElementById('uimode').value='newPreview'"> 
    217             <?cs /if ?> 
    218             <?cs if:uimode == 'edit' || uimode == 'editPreview' ?> 
    219                 <input type="submit" value="Preview" onclick="document.getElementById('uimode').value='editPreview'"> 
    220             <?cs /if ?> 
     97            <input type="button" value="Submit" onclick="$('#action').val('save'); this.form.submit()"> 
     98            <input type="button" value="Preview" onclick="$('#action').val('preview'); this.form.submit()"> 
    22199            <input type="reset" value="Reset Form"> 
    222         </div>      
     100        </div> 
    223101    </form> 
    224102     
    225     <script type="text/javascript" src="<?cs var:htdocs_location ?>js/wikitoolbar.js"></script
     103    <?cs call:addWikiScript()?
    226104<?cs include "tracforums/footer.cs" ?> 
  • trunk/tracforums/templates/tracforums/forum/view.cs

    r54 r74  
    11<?cs include "tracforums/header.cs" ?> 
     2<?cs include "tracforums/forum/_defs.cs" ?> 
     3 
    24<div class="report"> 
    3     <h1> 
    4         <a href="<?cs var:trac.href.forums ?>/forum/<?cs var:forums.forum.id ?>"> 
     5    <h1>             
     6        <?cs if:forums.forum.locked?><img src='<?cs var:trac.href.forumdocs ?>/images/lock.gif' alt="locked"><?cs /if?> 
     7        <?cs if:forums.forum.hidden?><img src='<?cs var:trac.href.forumdocs ?>/images/denied.gif' alt="hidden"><?cs /if?>    
     8        <a href="<?cs var:trac.href.forums ?>/forum/view/<?cs var:forums.forum.id ?>"> 
    59            <?cs var:forums.forum.name ?> 
    610        </a> 
    711    </h1> 
    812     
    9     <?cs include "tracforums/breadcrumb.cs" ?> 
    10      
    11     <div class='description'> 
    12         <p> 
    13             <?cs var:forums.forum.descriptionhtml?> 
    14         </p> 
    15         <?cs if:len(forums.topics) == 0?> 
    16             <p><i>There are no topics to display in this forum.</i></p> 
    17         <?cs /if?> 
     13    <div class='breadcrumb'> 
     14        <a href="<?cs var:trac.href.forums ?>/main/index">Forum Index</a> 
     15        &#187; <a href="<?cs var:trac.href.forums ?>/forum/view/<?cs var:forums.forum.id?>"><?cs var:forums.forum.name ?></a> 
    1816    </div> 
    19      
    20     <div class='buttons'> 
    21         <?cs if:forums.forum.canAppend ?> 
    22             <form method="get" action="<?cs var:trac.href.forums ?>/topic"> 
    23                 <input type="hidden" name="uimode" value="new"> 
    24                 <input type="hidden" name="forumid" value="<?cs var:forums.forum.id ?>"> 
    25                 <input type="submit" value="Create a New Topic"> 
    26             </form> 
    27         <?cs /if ?>  
    28         <?cs if:forums.forum.canModify ?>            
    29             <form method="get" action="<?cs var:trac.href.forums ?>/forum"> 
    30                 <input type="hidden" name="id" value="<?cs var:forums.forum.id ?>"> 
    31                 <input type="hidden" name="uimode" value="edit"> 
    32                 <input type="submit" value="Modify This Forum"> 
    33             </form> 
    34         <?cs /if ?>  
     17    <br> 
     18    <div> 
     19        <div class='description'> 
     20            <?cs var:forums.forum.descriptionhtml ?>                 
     21            <div class="moderators"> 
     22                <?cs if:len(forums.forum.moderators) > 0?> 
     23                    Moderators: 
     24                    <?cs each:moderator = forums.forum.moderators ?> 
     25                        <?cs call:displayMiniPortrait(moderator.profile,none)?> 
     26                    <?cs /each?>                     
     27                <?cs /if?> 
     28                <?cs if:len(forums.watching) != 0?> 
     29                    <br>Users Watching: 
     30                    <?cs each:watch = forums.watching ?> 
     31                        <?cs call:displayMiniPortrait(watch.profile,none)?> 
     32                    <?cs /each?> 
     33                <?cs /if?>           
     34            </div>           
     35            <?cs if:len(forums.topics) == 0?> 
     36                <p><i>There are no topics to display in this forum.</i></p> 
     37            <?cs /if?>   
     38        </div> 
     39        <br style="clear:both"> 
    3540    </div> 
    36      
     41 
    3742    <?cs if:len(forums.topics) != 0?> 
    3843        <table class="listing"> 
    3944            <thead> 
    40                 <tr> 
    41                     <th>Topic</th> 
    42                     <th>Replies</th> 
    43                     <th>Author</th> 
    44                     <th>Views</th> 
    45                     <th>Last Post</th> 
    46                 </tr> 
     45                <?cs call:displayTopicListHeader()?> 
    4746            </thead> 
    4847            <tbody> 
    4948                <?cs each:topic = forums.topics ?> 
    50                     <tr> 
    51                         <td> 
    52                             <div style="float:right" class="inlinebuttons"> 
    53                                 <?cs if:topic.canModify ?> 
    54                                     <form method="get" action="<?cs var:trac.href.forums ?>/topic/<?cs var:topic.id ?>"> 
    55                                         <input type="hidden" name="uimode" value="edit"> 
    56                                         <input type="submit" value="Edit"> 
    57                                     </form> 
    58                                 <?cs /if ?> 
    59                                 <?cs if:topic.canDelete ?> 
    60                                     <?cs set:forums.canDeleteTopics = 1?> 
    61                                     <span> 
    62                                         <input type="checkbox" name="topicid" value="<?cs var:topic.id ?>"> 
    63                                     </span>                              
    64                                 <?cs /if ?> 
    65                             </div> 
    66                             <?cs if:topic.type != ''?> 
    67                                 <b><?cs var:topic.type ?>:</b> 
    68                             <?cs /if?> 
    69                             <a href="<?cs var:trac.href.forums ?>/topic/<?cs var:topic.id ?>"> 
    70                                 <?cs var:topic.subject ?> 
    71                             </a>                     
    72                         </td> 
    73                         <td><?cs var:topic.replies ?></td> 
    74                         <td> 
    75                             <a href="<?cs var:trac.href.forums ?>/profile/<?cs var:topic.author ?>"> 
    76                                 <?cs var:topic.author ?> 
    77                             </a> 
    78                         </td> 
    79                         <td><?cs var:topic.views ?></td> 
    80                         <td> 
    81                             <a href="<?cs var:trac.href.forums ?>/topic/<?cs var:topic.recentTopicId?>#<?cs var:topic.recentId?>"> 
    82                                 <?cs var:topic.recentModifiedHtml?> 
    83                             </a><br> 
    84                             by  
    85                             <a href="<?cs var:trac.href.forums ?>/profile/<?cs var:topic.recentAuthor?>"> 
    86                                 <?cs var:topic.recentAuthor?>                        
    87                             </a>                     
    88                         </td> 
    89                     </tr> 
     49                    <?cs call:displayTopicListRow(topic)?> 
    9050                <?cs /each ?> 
    9151            </tbody> 
     
    9353    <?cs /if?> 
    9454     
    95     <?cs if:len(forums.topics) >= 1 && (forums.canDeleteTopics || forums.canMoveTopics) ?> 
    96         <script>             
    97             function doSelectionAction(uimode){ 
    98                 $('selectionUIMode').value = uimode; 
    99                 $('selectedTopics').value = gatherCheckboxes('topicid'); 
    100                 $('targetForumId').value = $('selectedTargetForumId').value; 
    101                  
    102                 $('selectionForm').submit(); 
    103             } 
    104         </script> 
    105          
    106         <form method="post" id='selectionForm' action="<?cs var:trac.href.forums ?>/forum"> 
    107             <input type="hidden" name="id" value="<?cs var:forums.forum.id ?>"> 
    108             <input type="hidden" id='selectionUIMode' name="uimode" value=""> 
    109             <input type="hidden" id='selectedTopics' name="selectedTopics" value=""> 
    110             <input type="hidden" id='targetForumId' name="targetForumId" value=""> 
    111         </form> 
     55    <div class='buttons'> 
     56        <?cs if:forums.forum.canAppend ?> 
     57            <form action="<?cs var:trac.href.forums ?>/topic/edit"> 
     58                <input type="hidden" name="returnto" value="forum/view/<?cs var:forums.forum.id ?>"> 
     59                <input type="hidden" name="forumid" value="<?cs var:forums.forum.id ?>"> 
     60                <input type="submit" value="Create a New Topic"> 
     61            </form> 
     62        <?cs /if ?> 
     63        <?cs if:forums.forum.canModify ?> 
     64            <form action="<?cs var:trac.href.forums ?>/forum/edit/<?cs var:forums.forum.id ?>"> 
     65                <input type="hidden" name="returnto" value="forum/view/<?cs var:forums.forum.id ?>"> 
     66                <input type="submit" value="Edit This Forum"> 
     67            </form> 
    11268             
    113         <br> 
    114         <fieldset style="display:inline"> 
    115             <legend>Selection Options:</legend> 
    116             <form> 
    117                 <input type="button" value="Select All" onclick="selectAllCheckboxes('topicid')"> 
    118                 <input type="button" value="Clear All" onclick="clearAllCheckboxes('topicid')"> 
    119                 <?cs if:forums.canDeleteTopics ?> 
    120                     <input type="button" value="Delete Selected" onclick="doSelectionAction('delete')"> 
    121                 <?cs /if ?>  
    122             </form>                  
    123         </fieldset> 
    124     <?cs /if?> 
    125      
    126     <?cs if:len(forums.topics) >= 1 && forums.canMoveTopics ?> 
    127         <br> 
    128         <br> 
    129         <fieldset style="display:inline"> 
    130             <legend>Move Selection To:</legend> 
    131             <form>               
    132                 <script>         
    133                     function refreshForums(){ 
    134                         var buttonObj = $("moveButton"); 
    135                         buttonObj.disabled = true; 
    136                              
    137                         var forumsObj = $("selectedTargetForumId"); 
    138                         clearOptions(forumsObj,"Loading..."); 
    139                         forumsObj.disabled = true; 
    140                                          
    141                         var projectid = getSelectValue(document.getElementById("projectid")); 
    142                         ajax.get('<?cs var:trac.href.forums?>/ajax?uimode=forums&project='+projectid, 
    143                         function(response){ 
    144                             forums = eval(response); 
    145                             clearOptions(forumsObj); 
    146                             populateOptions(forumsObj,forums); 
    147                             forumsObj.disabled = false; 
    148                             buttonObj.disabled = false; 
    149                         }); 
    150                     } 
    151                 </script> 
    152                  
    153                 <?cs if:len(forums.projects) > 0 ?> 
    154                     <label for="projectid">Project:</label> 
    155                     <select id="projectid" name="projectid" onchange="refreshForums()"> 
    156                         <?cs each:project = forums.projects?> 
    157                             <option value="<?cs var:project.id?>" 
    158                                 <?cs if:project.id == forums.thisProjectId?>selected<?cs /if?> 
    159                             ><?cs var:project.name?></option> 
    160                         <?cs /each?> 
    161                     </select> 
    162                     <br> 
    163                 <?cs /if?> 
    164                  
    165                 <label for="forumid">Forum:</label> 
    166                 <select id="selectedTargetForumId" name="forumid" onchange="refreshTopics()"> 
    167                     <option value=""></option> 
    168                     <?cs each:forum = forums.forums?> 
    169                         <option value="<?cs var:forum.id?>" 
    170                             <?cs if:forum.id == forums.thisForumId?>selected<?cs /if?> 
    171                         ><?cs var:forum.name?></option> 
    172                     <?cs /each?> 
    173                 </select> 
    174                 <br> 
    175                  
    176                 <input type="button" id="moveButton" value="Move Selected Topics" onclick="doSelectionAction('move')"> 
    177             </form> 
    178         </fieldset> 
    179     <?cs /if?>   
     69            <form action="<?cs var:trac.href.forums ?>/forum/manage/<?cs var:forums.forum.id ?>"> 
     70                <input type="hidden" name="returnto" value="forum/view/<?cs var:forums.forum.id ?>"> 
     71                <input type="submit" value="Manage Topics..."> 
     72            </form>          
     73        <?cs /if ?>      
     74        <form method="post" action="<?cs var:trac.href.forums ?>/forum/view/<?cs var:forums.forum.id ?>"> 
     75            <input type="hidden" name="action" value="watch">        
     76            <input type="submit" value="Watch This Forum"> 
     77        </form>  
     78    </div> 
    18079</div> 
    18180<?cs include "tracforums/footer.cs" ?> 
  • trunk/tracforums/templates/tracforums/header.cs

    r54 r74  
    11<?cs include "header.cs" ?> 
     2 
     3<?cs def:displayWikiField(columns,fieldName,fieldValue,displayRowsName,displayRows)?> 
     4    <div id="rows"> 
     5        <label for="<?cs var:displayRowsName?>">Adjust edit area height:</label> 
     6        <select size="1" name="<?cs var:displayRowsName?>" id="<?cs var:displayRowsName?>" 
     7            onchange="resizeTextArea('description', this.options[selectedIndex].value)"> 
     8            <?cs loop:rows = 8, 42, 4 ?> 
     9                <option value="<?cs var:rows ?>"<?cs 
     10                    if:rows == displayRows ?> selected="true"<?cs /if ?>><?cs 
     11                    var:rows ?></option> 
     12                <?cs /loop ?> 
     13        </select> 
     14    </div> 
     15    <p> 
     16        <textarea class="wikitext" id="<?cs var:fieldName?>" name="<?cs var:fieldName?>" cols="<?cs var:columns?>" rows="<?cs var:displayRows ?>"><?cs var:fieldValue?></textarea> 
     17    </p> 
     18    <div id="help"> 
     19            <b>Note:</b> See  
     20            <a href="<?cs var:$trac.href.wiki ?>/WikiFormatting">WikiFormatting</a> and  
     21            <a href="<?cs var:$trac.href.wiki ?>/TracWiki">TracWiki</a> for help on editing wiki content. 
     22    </div> 
     23<?cs /def?> 
     24 
     25<?cs def:addWikiScript()?> 
     26    <script type="text/javascript" src="<?cs var:htdocs_location ?>js/wikitoolbar.js"></script> 
     27<?cs /def?> 
    228 
    329<div id="ctxtnav" class="nav"> 
    430    <h2>Forum Navigation</h2> 
    531    <ul>  
    6         <li><a href='<?cs var:trac.href.forums ?>/main'>Forum Index</a></li> 
    7         <li><a href='<?cs var:trac.href.forums ?>/profiles'>Profiles</a></li> 
     32        <li><a href='<?cs var:trac.href.forums ?>/main/index'>Forum Index</a></li> 
     33        <li><a href='<?cs var:trac.href.forums ?>/main/profiles'>Profiles</a></li> 
    834        <?cs if:authname != "anonymous"?> 
    9             <li><a href='<?cs var:trac.href.forums ?>/profile/<?cs var:authname?>'>My Profile</a></li> 
    10             <li><a href='<?cs var:trac.href.forums ?>/recent'>Recent Activity</a></li> 
     35            <li><a href='<?cs var:trac.href.forums ?>/profile/view/<?cs var:authname?>'>My Profile</a></li> 
     36            <li><a href='<?cs var:trac.href.forums ?>/main/recent'>Recent Activity</a></li> 
    1137        <?cs /if?> 
    1238    </ul> 
  • trunk/tracforums/templates/tracforums/profile/edit.cs

    r71 r74  
    11<?cs include "tracforums/header.cs" ?> 
     2<?cs include "tracforums/forum/_defs.cs" ?> 
    23    <h1>Editing <?cs var:forums.profile.username?>'s User Profile</h1> 
    34     
  • trunk/tracforums/templates/tracforums/profile/view.cs

    r71 r74  
    11<?cs include "tracforums/header.cs" ?> 
     2<?cs include "tracforums/forum/_defs.cs" ?> 
     3 
     4<div class="report"> 
    25    <h1><?cs var:forums.profile.username?>'s User Profile</h1> 
    36     
     7    <?cs if:len(forums.profile.avatars)?> 
     8        <br> 
     9        <?cs each:avatar = forums.profile.avatars?> 
     10            <a href='<?cs var:trac.href.forums ?>/avatar/img/<?cs var:avatar.id?>'> 
     11                <img src="<?cs var:trac.href.forums ?>/avatar/img/<?cs var:avatar.id?>" 
     12                    <?cs if:avatar.id == forums.profile.defaultavatarid?> 
     13                        style="border:3px dashed #000" 
     14                        alt="Default Avatar: <?cs var:avatar.name?>" 
     15                        title="Default Avatar: <?cs var:avatar.name?>"                                           
     16                    <?cs /if?>                   
     17                    <?cs if:avatar.id != forums.profile.defaultavatarid?> 
     18                        style="border:3px solid Transparent" 
     19                        alt="<?cs var:avatar.name?>" 
     20                        title="<?cs var:avatar.name?>"                   
     21                    <?cs /if?> 
     22                    > 
     23            </a> 
     24        <?cs /each?> 
     25    <?cs /if?> 
     26     
     27    <?cs if:profile.bio != ''?> 
     28        <h2>About</h2> 
     29        <?cs if:profile.defaultavatarid ?> 
     30            <img src="<?cs var:trac.href.forums ?>/avatar/<?cs var:forums.defaultavatar.id?>" 
     31                alt="<?cs var:forums.defaultavatar.name?>" 
     32                title="<?cs var:forums.defaultavatar.name?>" 
     33                style="float:left;margin:15px"> 
     34        <?cs /if?> 
     35        <div><?cs var:profile.biohtml?></div> 
     36    <?cs /if?>   
     37     
     38    <?cs if:profile.bio == '' && profile.defaultavatarid ?> 
     39        <img src="<?cs var:trac.href.forums ?>/avatar/<?cs var:forums.defaultavatar.id?>" 
     40            alt="<?cs var:forums.defaultavatar.name?>" 
     41            title="<?cs var:forums.defaultavatar.name?>" 
     42            style="float:left;margin:15px"> 
     43    <?cs /if?>&nbsp;&nbsp; 
     44    <div style="clear:both"> </div> 
     45    <table> 
     46        <tr> 
     47            <td>Joined On:</td> 
     48            <td><?cs var:forums.profile.regdatehtml?></td> 
     49        </tr> 
     50        <tr> 
     51            <td>Last Login:</td> 
     52            <td><?cs var:forums.profile.lastvisithtml?></td> 
     53        </tr>        
     54        <tr> 
     55            <td>Total Posts:</td> 
     56            <td><?cs var:forums.profile.posts?></td> 
     57        </tr> 
     58         
     59        <tr> 
     60            <td>Email Address:</td> 
     61            <td> 
     62                <?cs if:forums.profile.email?> 
     63                    <a href='<?cs var:profile.email?>'><?cs var:forums.profile.email?></a> 
     64                <?cs /if?> 
     65                <?cs if:forums.profile.viewemail == 0?> 
     66                    <i>(hidden)</i> 
     67                <?cs /if?>   
     68            </td> 
     69        </tr> 
     70     
     71        <?cs if:forums.profile.canModify ?>  
     72            <tr> 
     73                <td>Forum Behavior:</td> 
     74                <td> 
     75                    <?cs if:forums.profile.isexpert?>Expert Mode<?cs /if?> 
     76                    <?cs if:!forums.profile.isexpert?>Normal Mode<?cs /if?> 
     77                </td> 
     78            </tr>        
     79        <?cs /if?> 
     80         
     81        <?cs if:profile.sightml?> 
     82            <tr> 
     83                <td>Signature:</td> 
     84                <td><?cs var:profile.sightml?></td> 
     85            </tr> 
     86        <?cs /if?>       
     87    </table> 
     88     
     89     
     90    <?cs if:forums.profile.canModify ?>  
     91        <?cs if:len(forums.watchedTopics) > 0?> 
     92            <h2>Watched Projects</h2>    
     93        <?cs /if?> 
     94     
     95        <?cs if:len(forums.watchedForums) > 0?>  
     96            <h2>Watched Forums</h2> 
     97            <table class="listing"> 
     98                <?cs call:displayForumListHeader()?> 
     99                <?cs each:watch = forums.watchedForums?> 
     100                    <?cs call:displayForumListRow(watch.forum)?> 
     101                <?cs /each?> 
     102            </table> 
     103        <?cs /if?> 
     104             
     105        <?cs if:len(forums.watchedTopics) > 0?>  
     106            <h2>Watched Topics</h2> 
     107            <table class="listing"> 
     108                <?cs call:displayTopicListHeader()?> 
     109                <?cs each:watch = forums.watchedTopics?> 
     110                    <?cs call:displayTopicListRow(watch.thread)?> 
     111                <?cs /each?> 
     112            </table> 
     113        <?cs /if?>       
     114    <?cs /if?> 
     115                 
    4116    <?cs if:forums.profile.canModify ?> 
    5117        <br> 
    6         <form method="get" action="<?cs var:trac.href.forums ?>/profile/<?cs var:forums.profile.username ?>"> 
    7             <input type='hidden' name='uimode' value='edit'> 
     118        <form method="get" action="<?cs var:trac.href.forums ?>/profile/edit/<?cs var:forums.profile.username?>"> 
    8119            <input type='submit' value='Modify This Profile'> 
    9120        </form> 
    10121    <?cs /if?> 
    11      
    12     <?cs with:profile = forums.profile?> 
    13         <?cs include "tracforums/profile/viewProfile.cs" ?> 
    14     <?cs /with?> 
    15              
    16     <h2>Forum Avatars</h2> 
    17     <br> 
    18     <div> 
    19         <?cs if:forums.profile.canModify ?> 
    20             <?cs if:len(forums.avatars) > 0?> 
    21                 <i>Click on an avatar to edit.</i><br> 
    22                 <br> 
    23                 <?cs each:avatar = forums.avatars?> 
    24                     <a href='<?cs var:trac.href.forums ?>/avatar/<?cs var:avatar.id?>?uimode=edit'> 
    25                         <img src="<?cs var:trac.href.forums ?>/avatar/<?cs var:avatar.id?>" 
    26                             alt="<?cs var:avatar.name?>" 
    27                             title="<?cs var:avatar.name?>"> 
    28                     </a> 
    29                 <?cs /each?> 
    30                 <br> 
    31             <?cs /if?>   
    32             <?cs if:len(forums.avatars) == 0?> 
    33                 <i><?cs var:forums.profile.username?> has no avatar images.</i> 
    34                 <br> 
    35             <?cs /if?> 
    36             <br> 
    37             <form method="get" action="<?cs var:trac.href.forums ?>/avatar"> 
    38                 <input type="hidden" name="username" value="<?cs var:forums.profile.username?>"> 
    39                 <input type="hidden" name="uimode" value="new"> 
    40                 <input type='submit' value='Add a New Avatar'> 
    41             </form> 
    42         <?cs /if?> 
    43         <?cs if:!forums.profile.canModify ?> 
    44                 <?cs each:avatar = forums.avatars?> 
    45                     <img src="<?cs var:trac.href.forums ?>/avatar/<?cs var:avatar.id?>" 
    46                         alt="<?cs var:avatar.name?>" 
    47                         title="<?cs var:avatar.name?>"> 
    48                 <?cs /each?> 
    49         <?cs /if?> 
    50     </div>   
    51          
    52     <?cs if:forums.profile.canModify ?> 
    53  
    54