* Adding editlock icon in Web>Access
authorKasper Skårhøj <kasper@typo3.org>
Thu, 26 Aug 2004 16:09:36 +0000 (16:09 +0000)
committerKasper Skårhøj <kasper@typo3.org>
Thu, 26 Aug 2004 16:09:36 +0000 (16:09 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@443 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
TODO.txt
t3lib/class.t3lib_tcemain.php
typo3/mod/web/perm/index.php
typo3/sysext/lang/locallang_mod_web_perm.xml

index e6fec8c..e97ed22 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-08-26  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Adding editlock icon in Web>Access
+
 2004-08-26  Kasper Skårhøj,,,  <kasperYYYY@typo3.com>
 
        * Bugfix: in browse_links where the record listing contained links to clickmenus:
index 2d595ad..38fee83 100755 (executable)
--- a/TODO.txt
+++ b/TODO.txt
@@ -45,6 +45,9 @@ TCEmain:
                - Used by TemplaVoila where it is hard to track references in FlexForms
                - A backend module can regenerate the "index-table" if it becomes invalid over time for some reason...
                - Used for import/export module and anywhere else where we are looking up references!
+       - "uniquePerField"
+               - used for pages_overlay_records "pid"
+               - used for "tt_content"/"sys_language_uid", field "l18n_parent"
 - VERSIONING:
        - See description in appendix.
 - LOGGING:
@@ -158,6 +161,12 @@ Interface:
        - See DHs mail: Message-ID: <mailman.1060763871.6396.typo3-metadev@lists.netfielders.de>
        - Links could be going directly to the function menus inside modules as well!
 
+Localization:
+- Export/Import of "translation XML file" or spreadsheet:
+       - Will allow all translation of new and changed content to be done in ONE place, probably outside of TYPO3
+       - In TYPO3 tool for such a file format: Can also show diff-view like with ll-XML format.
+       - SOAP services(?)
+       - Contains fields similar to orig_hash and orig_text with values of translated content so diff can be shown
 
 Context Sensitive Help (CSH):
 - Add multimedia?
index 9966352..ee4094b 100755 (executable)
@@ -2877,6 +2877,7 @@ class t3lib_TCEmain       {
         * Technically the copy is made with THIS instance of the tcemain class contrary to copyRecord() which creates a new instance and uses the processData() function.
         * The copy is created by insertNewCopyVersion() which bypasses most of the regular input checking associated with processData() - maybe copyRecord() should even do this as well!?
         * This function is used to create new versions of a record.
+        * NOTICE: DOES NOT CHECK PERMISSIONS to create! And since page permissions are just passed through and not changed to the user who executes the copy we cannot enforce permissions without getting an incomplete copy - unless we change permissions of course.
         *
         * @param       string          Element table
         * @param       integer         Element UID
@@ -2932,7 +2933,7 @@ class t3lib_TCEmain       {
        }
 
        /**
-        * Inserts a record in the database, passing TCA configuration values through checkValue() but otherwise does nothing and checks nothing regarding permissions.
+        * Inserts a record in the database, passing TCA configuration values through checkValue() but otherwise does NOTHING and checks nothing regarding permissions.
         * Passes the "version" parameter to insertDB() so the copy will look like a new version in the log - should probably be changed or modified a bit for more broad usage...
         *
         * @param       string          Table name
@@ -3273,7 +3274,12 @@ class t3lib_TCEmain      {
                $id = intval($id);
 
                if ($TCA[$table] && $TCA[$table]['ctrl']['versioning'] && $id>0)        {
-                       if ($this->doesRecordExist($table,$id,'show'))  {
+                       if ($this->doesRecordExist($table,$id,'show') && $this->doesRecordExist($table,$id,'edit'))     {
+
+                                       // WE DO NOT check if the record being versionized can be edited (based on page permissions) - all we need is "view" permissions - just like when making a copy
+                                       // BUT we check EDIT permissions when SWAPPING.
+                                       // Maybe one should implement "create new version" permissions?
+
                                        // Select main record:
                                $row = $this->recordInfo($table,$id,'pid,t3ver_id');
                                if (is_array($row))     {
index 4dfb7cf..f8dd07a 100755 (executable)
@@ -484,6 +484,7 @@ class SC_mod_web_perm_index {
                $tree->addField('fe_group');
                $tree->addField('starttime');
                $tree->addField('endtime');
+               $tree->addField('editlock');
 
                        // Creating top icon; the current page
                $HTML=t3lib_iconWorks::getIconImage('pages',$this->pageinfo,$BACK_PATH,'align="top"');
@@ -504,6 +505,8 @@ class SC_mod_web_perm_index {
                                        <td class="bgColor2" align="center"><b>'.$LANG->getLL('Group',1).'</b></td>
                                        <td class="bgColor2"><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/line.gif','width="5" height="16"').' alt="" /></td>
                                        <td class="bgColor2" align="center"><b>'.$LANG->getLL('Everybody',1).'</b></td>
+                                       <td class="bgColor2"><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/line.gif','width="5" height="16"').' alt="" /></td>
+                                       <td class="bgColor2" align="center"><b>'.$LANG->getLL('EditLock',1).'</b></td>
                                </tr>
                        ';
                } else {
@@ -512,6 +515,8 @@ class SC_mod_web_perm_index {
                                        <td class="bgColor2" colspan="2">&nbsp;</td>
                                        <td class="bgColor2"><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/line.gif','width="5" height="16"').' alt="" /></td>
                                        <td class="bgColor2" align="center" nowrap="nowrap"><b>'.$LANG->getLL('User',1).':</b> '.$BE_USER->user['username'].'</td>
+                                       '.(!$BE_USER->isAdmin()?'<td class="bgColor2"><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/line.gif','width="5" height="16"').' alt="" /></td>
+                                       <td class="bgColor2" align="center"><b>'.$LANG->getLL('EditLock',1).'</b></td>':'').'
                                </tr>';
                }
 
@@ -556,6 +561,9 @@ class SC_mod_web_perm_index {
 
                                        <td'.$bgCol.'><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/line.gif','width="5" height="16"').' alt="" /></td>
                                        <td'.$bgCol.' nowrap="nowrap">'.($data['row']['uid']?' '.$this->printPerms($data['row']['perms_everybody']):'').'</td>
+
+                                       <td'.$bgCol.'><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/line.gif','width="5" height="16"').' alt="" /></td>
+                                       <td'.$bgCol.' nowrap="nowrap">'.($data['row']['editlock']?'<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/recordlock_warning2.gif','width="22" height="16"').' title="'.$LANG->getLL('EditLock_descr',1).'" alt="" />':'').'</td>
                                ';
                        } else {
                                $cells[]='
@@ -563,7 +571,11 @@ class SC_mod_web_perm_index {
 
                                if ($BE_USER->user['uid']==$data['row']['perms_userid'])        {$bgCol = ' class="bgColor-20"';} else {$bgCol = $lE_bgCol;}
                                $cells[]='
-                                       <td'.$bgCol.' nowrap="nowrap" align="center">'.($data['row']['uid']?$owner.$this->printPerms($BE_USER->calcPerms($data['row'])):'').'</td>';
+                                       <td'.$bgCol.' nowrap="nowrap" align="center">'.($data['row']['uid']?$owner.$this->printPerms($BE_USER->calcPerms($data['row'])):'').'</td>
+                                       '.(!$BE_USER->isAdmin()?'
+                                       <td'.$bgCol.'><img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/line.gif','width="5" height="16"').' alt="" /></td>
+                                       <td'.$bgCol.' nowrap="nowrap">'.($data['row']['editlock']?'<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/recordlock_warning2.gif','width="22" height="16"').' title="'.$LANG->getLL('EditLock_descr',1).'" alt="" />':'').'</td>
+                                       ':'');
                                $bgCol = $lE_bgCol;
                        }
 
index 7b98217..2c78f68 100755 (executable)
@@ -15,6 +15,8 @@
                        <label index="Owner">Owner</label>
                        <label index="Group">Group</label>
                        <label index="Everybody">Everybody</label>
+                       <label index="EditLock">Lock</label>
+                       <label index="EditLock_descr">The page and all content is locked for editing by all non-Admin users.</label>
                        <label index="Save">Save</label>
                        <label index="Abort">Abort</label>
                        <label index="Edit">EDIT</label>