TITLE:
 - Edit Time for Posts

RELEASE VERSION:
 - 3.1

RELEASE DATE:
 - 17 April 2006; 12:29PM (CDT)

COMPATIBILITY:
 - XMB 1.9.5 Nexus

CODE DESIGNER:
 - Jonathon of JDMnet ( jonathon@jdmnet.org | www.jdmnet.org )

COPYRIGHT:
 - Let the author (me, Jonathon) know when you post this mod on other forums for downloading

DESCRIPTION:
 - Allows you to control how long - after being posted - someone can edit their posts.
 - You can control the length in : Days, Hours, or Minutes.
 - If it is past the time length set; only Admins and Moderators can edit a post.
 - Also make it so that no matter weather this feature is enabled or disabled; anyone that isn't logged in won;t see the "Edit" button.

NOTES:
 - Back up all templates, PHP files, and database BEFORE proceeding
 - This version is designed for 1.9.5; and may not work with any previous version of 1.9.x.
 - Long dashes are NOT part of the actualy code; unless other wise stated
 - Directions are based on a default/un-modified board, you may need to do a little searching for the code if you have already modifyed your forums
 - Do NOT upload any files until told to do so.

 - By default this mod is turn Off.



--==// STEP 1 //==--

A] GO TO ADMINSTRATION PANEL; THEN TO "Insert Raw SQL"

B] COPY THIS AND THEN PASTE IT INTO THE BOX : 

----------------------------------------------------------------------------------------

ALTER TABLE `$table_settings` ADD `edittime` int(6) NOT NULL default '0';
ALTER TABLE `$table_settings` ADD `editlength` int(5) NOT NULL default '0';
ALTER TABLE `$table_settings` ADD `editstatus` set('on','off') NOT NULL default 'OFF';

----------------------------------------------------------------------------------------

C] THEN CLICK THE "Submit Changes" BUTTON



--==// STEP 2 //==--

A] OPEN YOUR LANG FILE.

B] AT THE VERY BOTTOM OF THE (ON ITS OWN LINES) PASTE THE FOLLOWING : 
   (IF BY CHANCE; THE LAST LINE OF YOUR LANG FILE IS " ?> " [WITHOUT QUOTE] MAKE SURE TO PUT THESE LINES ABOVE THAT)

----------------------------------------------------------------------------------------

// Edit Time For Posts Mod Begin
$lang['etime_edit'] = "How long can user's edit their own posts?<br /><small>(<em>after making the post</em>)</small>";
$lang['etime_disable'] = "Disable Feature?";
$lang['etime_offnote'] = "<small><em>If you \"disable\" this feature, users will be able to edit their post any time they want.</em></small>";
$lang['etime_day'] = "Day(s)";
$lang['etime_hour'] = "Hour(s)";
$lang['etime_min'] = "Minute(s)";
// Edit Time For Posts Mod End

----------------------------------------------------------------------------------------

C] SAVE CHANGES.



--==// STEP 3 //==--

A] OPEN THE "cp.php" FILE.

B] FIND : 

----------------------------------------------------------------------------------------

        $resetSigOn = $resetSigOff = '';
        if($SETTINGS['resetsigs'] == 'on') {
            $resetSigOn = $selHTML;
        } else {
            $resetSigOff = $selHTML;
        }

----------------------------------------------------------------------------------------

C] BELOW THAT; ADD THE FOLLOWING : 

----------------------------------------------------------------------------------------

        // Edit Time For Posts Mod Begin
        $etime1 = $etime2 = $etime3 = '';
        switch ( $SETTINGS['editlength'] ) {
            case '86400':
                $etime1 = $selHTML;
                break;
            case '3600':
                $etime2 = $selHTML;
                break;
            default:
                $etime3 = $selHTML;
                break;
        }

        $etime4 = $etime5 = '';
        switch ( $SETTINGS['editstatus'] ) {
            case 'off':
                $etime4 = $selHTML;
                break;
            default:
                $etime5 = $selHTML;
                break;
        }
        // Edit Time For Posts Mod End

----------------------------------------------------------------------------------------

D] FIND : 

----------------------------------------------------------------------------------------

        printsetting1($lang['doublee'], 'doubleenew', $doubleeon, $doubleeoff);
        ?>

----------------------------------------------------------------------------------------

E] BELOW THAT; ADD THE FOLLOWING : 

----------------------------------------------------------------------------------------

        <!-- Edit Time For Posts Mod Begin -->
        <tr class="tablerow">
        <td bgcolor="<?php echo $altbg1?>"><?php echo $lang['etime_edit']?></td>
        <td bgcolor="<?php echo $altbg2?>">
        <input type="text" size="5" value="<?php echo $SETTINGS['edittime']?>" name="edittimenew" maxlength="5" />&nbsp;&nbsp;
        <select name="editlengthnew">
        <option value="86400" <?php echo $etime1 ?>><?php echo $lang['etime_day']?></option>
        <option value="3600" <?php echo $etime2 ?>><?php echo $lang['etime_hour']?></option>
        <option value="60" <?php echo $etime3 ?>><?php echo $lang['etime_min']?></option>
        </select>
        </td>
        </tr>
        <tr class="tablerow">
        <td bgcolor="<?php echo $altbg1?>"><?php echo $lang['etime_disable']?></td>
        <td bgcolor="<?php echo $altbg2?>">
        <select name="editstatusnew">
        <option value="off" <?php echo $etime4 ?>><?php echo $lang['textyes']?></option>
        <option value="on" <?php echo $etime5 ?>><?php echo $lang['textno']?></option>
        </select>
        <br /><br /><?php echo $lang['etime_offnote'] ?></p>
        </td>
        </tr>
        <!-- Edit Time For Posts Mod End -->

----------------------------------------------------------------------------------------

F] FIND : 

----------------------------------------------------------------------------------------

        $resetSigNew = ($resetSigNew == 'on') ? 'on' : 'off';

----------------------------------------------------------------------------------------

G] BELOW THAT; ADD THE FOLLOWING : 

----------------------------------------------------------------------------------------

        // Edit Time For Posts Mod Begin
        $edittimenew = (int) $edittimenew;
        $editlengthnew = (!isset($editlengthnew)) ? '86400' : $editlengthnew;
        $editstatusnew = ($editstatusnew == 'on') ? 'on' : 'off';
        // Edit Time For Posts Mod End

----------------------------------------------------------------------------------------

H] FIND : 

----------------------------------------------------------------------------------------

$db->query("UPDATE $table_settings SET

----------------------------------------------------------------------------------------

I] AT THE END OF THAT LINE; FIND : 

----------------------------------------------------------------------------------------

");

----------------------------------------------------------------------------------------

J] REPLACE THAT WITH THE FOLLOWING : 

----------------------------------------------------------------------------------------

, edittime='$edittimenew', editlength='$editlengthnew', editstatus='$editstatusnew'");

----------------------------------------------------------------------------------------

K] SAVE CHANGES.



--==// STEP 4 //==--

A] OPEN THE "viewthread.php" FILE

B] FIND : 

----------------------------------------------------------------------------------------

        $edit = '';
        if (X_ADMIN || $status1 == 'Moderator' || ($thread['closed'] != 'yes' && $post['author'] == $xmbuser)) {
            eval('$edit = "'.template('viewthread_post_edit').'";');
        }

----------------------------------------------------------------------------------------

C] REPLACE THAT WITH THE FOLLOWING : 

----------------------------------------------------------------------------------------

        // Edit Time For Posts Mod Begin
        $edit = '';
        switch ( $SETTINGS['editstatus'] ) {
            case 'off':
                if ( X_ADMIN || $status1 == 'Moderator' || (X_MEMBER && $thread['closed'] != 'yes' && $post['author'] == $xmbuser) ) {
                    eval('$edit = "'.template('viewthread_post_edit').'";');
                }
                break;
            case 'on':
                if ( $onlinetime > ($post['dateline'] + ($SETTINGS['edittime'] * $SETTINGS['editlength'])) ) {
                    if ( X_ADMIN || $status1 == 'Moderator' ) {
                        eval('$edit = "'.template('viewthread_post_edit').'";');
                    }
                } else {
                    if ( X_ADMIN || $status1 == 'Moderator' || (X_MEMBER && $thread['closed'] != 'yes' && $post['author'] == $xmbuser) ) {
                        eval('$edit = "'.template('viewthread_post_edit').'";');
                    }
                }
                break;
            default:
                $edit = '';
                break;
        }
        // Edit Time For Posts Mod End

----------------------------------------------------------------------------------------



--==// STEP 5 //==--

A] NOW UPLOAD THE CHANGED FILES; WHICH ARE : 

    - YOUR LANG FILE
    - cp.php
    - viewthread.php

B] YOU WILL FIND THE NEW SETTINGS LISTED UNDER "User Control" IN THE ADMIN PANEL/"Settings" AREA
