]> git.mjollnir.org Git - s9y.git/commitdiff
Support category read/write permissions:
authorgarvinhicking <garvinhicking>
Fri, 9 Sep 2005 12:09:12 +0000 (12:09 +0000)
committergarvinhicking <garvinhicking>
Fri, 9 Sep 2005 12:09:12 +0000 (12:09 +0000)
http://blog.s9y.org/archives/63-Category-ReadWrite-Permissions.html

63 files changed:
docs/NEWS
include/admin/category.inc.php
include/admin/users.inc.php
include/functions_config.inc.php
include/functions_entries.inc.php
include/tpl/config_local.inc.php
lang/UTF-8/serendipity_lang_bg.inc.php
lang/UTF-8/serendipity_lang_cn.inc.php
lang/UTF-8/serendipity_lang_cs.inc.php
lang/UTF-8/serendipity_lang_cz.inc.php
lang/UTF-8/serendipity_lang_da.inc.php
lang/UTF-8/serendipity_lang_de.inc.php
lang/UTF-8/serendipity_lang_en.inc.php
lang/UTF-8/serendipity_lang_es.inc.php
lang/UTF-8/serendipity_lang_fa.inc.php
lang/UTF-8/serendipity_lang_fi.inc.php
lang/UTF-8/serendipity_lang_fr.inc.php
lang/UTF-8/serendipity_lang_hu.inc.php
lang/UTF-8/serendipity_lang_is.inc.php
lang/UTF-8/serendipity_lang_it.inc.php
lang/UTF-8/serendipity_lang_ja.inc.php
lang/UTF-8/serendipity_lang_ko.inc.php
lang/UTF-8/serendipity_lang_nl.inc.php
lang/UTF-8/serendipity_lang_no.inc.php
lang/UTF-8/serendipity_lang_pt.inc.php
lang/UTF-8/serendipity_lang_pt_PT.inc.php
lang/UTF-8/serendipity_lang_ro.inc.php
lang/UTF-8/serendipity_lang_ru.inc.php
lang/UTF-8/serendipity_lang_se.inc.php
lang/UTF-8/serendipity_lang_tn.inc.php
lang/UTF-8/serendipity_lang_tw.inc.php
lang/UTF-8/serendipity_lang_zh.inc.php
lang/addlang.txt
lang/serendipity_lang_bg.inc.php
lang/serendipity_lang_cn.inc.php
lang/serendipity_lang_cs.inc.php
lang/serendipity_lang_cz.inc.php
lang/serendipity_lang_da.inc.php
lang/serendipity_lang_de.inc.php
lang/serendipity_lang_en.inc.php
lang/serendipity_lang_es.inc.php
lang/serendipity_lang_fa.inc.php
lang/serendipity_lang_fi.inc.php
lang/serendipity_lang_fr.inc.php
lang/serendipity_lang_hu.inc.php
lang/serendipity_lang_is.inc.php
lang/serendipity_lang_it.inc.php
lang/serendipity_lang_ja.inc.php
lang/serendipity_lang_ko.inc.php
lang/serendipity_lang_nl.inc.php
lang/serendipity_lang_no.inc.php
lang/serendipity_lang_pt.inc.php
lang/serendipity_lang_pt_PT.inc.php
lang/serendipity_lang_ro.inc.php
lang/serendipity_lang_ru.inc.php
lang/serendipity_lang_se.inc.php
lang/serendipity_lang_tn.inc.php
lang/serendipity_lang_tw.inc.php
lang/serendipity_lang_zh.inc.php
plugins/serendipity_event_entryproperties/serendipity_event_entryproperties.php
serendipity_config.inc.php
sql/db.sql
sql/db_update_0.9-alpha4_0.9-alpha5_mysql.sql [new file with mode: 0644]

index 291ca77c1e4dd17e46006f2157e150360e5779ae..e91cfbc4a64ba9b198845356f0cc69cca4782aa8 100644 (file)
--- a/docs/NEWS
+++ b/docs/NEWS
@@ -3,6 +3,9 @@
 Version 0.9 ()
 ------------------------------------------------------------------------
 
+    * Read/Write permissions for user-groups for specific categories.
+      (garvinhicking)
+
     * Fix "DATA_TRACKBACK_APPROVED" showing of constants when approving
       trackbacks/comments instead of the properly formatted message.
       (Would've required a template change for a "pretty solution", but
@@ -139,15 +142,6 @@ Version 0.9 ()
     * Introduce permission groups with customizable permission sets.
       (garvinhicking)
       
-      This Feature is currently declared "unstable" and will definitely
-      need finetuning before it usable in restricted environments.
-      TODO: 
-      * Check Plugins like loginform, adduser to use group-functionality.
-      * Get rid of as many obsolete userlevel checks in the Admin user/groups
-        panel.
-      * Chief editors may not join Admin group if forbidden?
-      * Chief editors may not enter siteConfiguration if forbidden?
-
     * Make bblog importer recognize trackbacks. Thanks to Hanno!
 
     * Spartacus plugin can now properly handle plugins which contain both
index 4af3e9912ff0f97b213cab52b7b7ae080c751b4a..54f5671d827457da5a70228f1d0e64f8e9a3a1f2 100644 (file)
@@ -16,7 +16,13 @@ $admin_category = (!serendipity_checkPermission('adminCategoriesMaintainOthers')
 if (isset($_POST['SAVE'])) {
     $name     = $serendipity['POST']['cat']['name'];
     $desc     = $serendipity['POST']['cat']['description'];
-    $authorid = (isset($serendipity['POST']['cat']['all_authors']) && $serendipity['POST']['cat']['all_authors'] == 'true') ? 0 : $serendipity['authorid'];
+
+    if (in_array(0, $serendipity['POST']['cat']['write_authors'])) {
+        $authorid = 0;
+    } else {
+        $authorid = $serendipity['authorid'];
+    }
+
     $icon     = $serendipity['POST']['cat']['icon'];
     $parentid = (isset($serendipity['POST']['cat']['parent_cat']) && is_numeric($serendipity['POST']['cat']['parent_cat'])) ? $serendipity['POST']['cat']['parent_cat'] : 0;
 
@@ -36,7 +42,10 @@ if (isset($_POST['SAVE'])) {
         if ( $sql ) {
             echo '<div class="serendipityAdminMsgError">'. sprintf(CATEGORY_ALREADY_EXIST, htmlspecialchars($name)) .'</div>';
         } else {
-            serendipity_addCategory($name, $desc, $authorid, $icon, $parentid);
+            $catid = serendipity_addCategory($name, $desc, $authorid, $icon, $parentid);
+            serendipity_ACLGrant($catid, 'category', 'read', $serendipity['POST']['cat']['read_authors']);
+            serendipity_ACLGrant($catid, 'category', 'write', $serendipity['POST']['cat']['write_authors']);
+
             echo '<div class="serendipityAdminMsgSuccess">'. CATEGORY_SAVED .'</div>';
         }
 
@@ -48,6 +57,8 @@ if (isset($_POST['SAVE'])) {
                                                     AND categoryid <> ". (int)$serendipity['GET']['cid'], true);
             if ( $sql ) {
                 echo '<div class="serendipityAdminMsgError">'. sprintf(CATEGORY_ALREADY_EXIST, htmlspecialchars($name)) .'</div>';
+            } else if (!serendipity_ACLCheck($serendipity['authorid'], $serendipity['GET']['cid'], 'category', 'write')) {
+                echo '<div class="serendipityAdminMsgError">'. PERM_DENIED .'</div>';
             } else {
                 /* Check to make sure parent is not a child of self */
                 $r = serendipity_db_query("SELECT categoryid FROM {$serendipity['dbPrefix']}category c
@@ -59,6 +70,8 @@ if (isset($_POST['SAVE'])) {
                     echo sprintf(ALREADY_SUBCATEGORY, htmlspecialchars($r[0]['category_name']), htmlspecialchars($name));
                 } else {
                     serendipity_updateCategory($serendipity['GET']['cid'], $name, $desc, $authorid, $icon, $parentid);
+                    serendipity_ACLGrant($serendipity['GET']['cid'], 'category', 'read', $serendipity['POST']['cat']['read_authors']);
+                    serendipity_ACLGrant($serendipity['GET']['cid'], 'category', 'write', $serendipity['POST']['cat']['read_authors']);
                     echo '<div class="serendipityAdminMsgSuccess">'. CATEGORY_SAVED .'</div>';
                 }
             }
@@ -72,7 +85,8 @@ if (isset($_POST['SAVE'])) {
 if ($serendipity['GET']['adminAction'] == 'doDelete') {
     if ($serendipity['GET']['cid'] != 0) {
         $remaining_cat = (int)$serendipity['POST']['cat']['remaining_catid'];
-        $category_range = implode(' AND ', serendipity_fetchCategoryRange((int)$serendipity['GET']['cid']));
+        $category_ranges = serendipity_fetchCategoryRange((int)$serendipity['GET']['cid']);
+        $category_range  = implode(' AND ', $category_ranges);
         if ($serendipity['dbType'] == 'postgres' || $serendipity['dbType'] == 'sqlite') {
             $query = "UPDATE {$serendipity['dbPrefix']}entrycat
                         SET categoryid={$remaining_cat} WHERE entryid IN
@@ -95,6 +109,14 @@ if ($serendipity['GET']['adminAction'] == 'doDelete') {
         }
         if ( serendipity_db_query($query) ) {
             if (serendipity_deleteCategory($category_range, $admin_category) ) {
+
+                foreach($category_ranges AS $cid) {
+                    if (serendipity_ACLCheck($serendipity['authorid'], $cid, 'category', 'write')) {
+                        serendipity_ACLGrant($cid, 'category', 'read', array());
+                        serendipity_ACLGrant($cid, 'category', 'write', array());
+                    }
+                }
+
                 echo '<div class="serendipityAdminMsgSuccess">'. ($remaining_cat ? sprintf(CATEGORY_DELETED_ARTICLES_MOVED, (int)$serendipity['GET']['cid'], $remaining_cat) : sprintf(CATEGORY_DELETED,(int)$serendipity['GET']['cid'])) .'</div>';
                 $serendipity['GET']['adminAction'] = 'view';
             }
@@ -109,7 +131,8 @@ if ($serendipity['GET']['adminAction'] == 'doDelete') {
     if ( $serendipity['GET']['adminAction'] == 'delete' ) {
         $this_cat = serendipity_fetchCategoryInfo($serendipity['GET']['cid']);
         if (   (serendipity_checkPermission('adminCategoriesDelete') && serendipity_checkPermission('adminCategoriesMaintainOthers'))
-            || (serendipity_checkPermission('adminCategoriesDelete') && ($serendipity['authorid'] == $this_cat['authorid'] || $this_cat['authorid'] == '0')) ) { 
+            || (serendipity_checkPermission('adminCategoriesDelete') && ($serendipity['authorid'] == $this_cat['authorid'] || $this_cat['authorid'] == '0')) 
+            || (serendipity_checkPermission('adminCategoriesDelete') && serendipity_ACLCheck($serendipity['authorid'], $serendipity['GET']['cid'], 'category', 'write'))) { 
 ?>
         <form method="POST" name="serendipityCategory" action="?serendipity[adminModule]=category&amp;serendipity[adminAction]=doDelete&amp;serendipity[cid]=<?php echo $serendipity['GET']['cid'] ?>">
             <br />
@@ -141,12 +164,18 @@ if ($serendipity['GET']['adminAction'] == 'doDelete') {
             $this_cat = serendipity_fetchCategoryInfo($cid);
             echo '<strong>'. sprintf(EDIT_THIS_CAT, htmlspecialchars($this_cat['category_name'])) .'</strong>';
             $save = SAVE;
+            $read_groups  = serendipity_ACLGet($cid, 'category', 'read');
+            $write_groups = serendipity_ACLGet($cid, 'category', 'write');
         } else {
             $cid = false;
             $this_cat = array();
             echo '<strong>'. CREATE_NEW_CAT .'</strong>';
             $save = CREATE;
+            $read_groups  = array(0 => 0);
+            $write_groups = array(0 => 0);
         }
+
+        $groups = serendipity_getAllGroups();
 ?>
 <form method="POST" name="serendipityCategory">
 <table cellpadding="5" width="100%">
@@ -171,9 +200,33 @@ if ($serendipity['GET']['adminAction'] == 'doDelete') {
     </tr>
 
     <tr>
-        <td><label for="all_authors"><?php echo ALL_AUTHORS; ?></label></td>
-        <td><input id="all_authors" type="checkbox" name="serendipity[cat][all_authors]" value="true" <?php echo (!is_array($this_cat) || (isset($this_cat['authorid']) && $this_cat['authorid'] == '0')) ? 'checked="checked"' : ''; ?> /></td>
+        <td><label for="read_authors"><?php echo PERM_READ; ?></label></td>
+        <td>
+            <select size="6" id="read_authors" multiple="multiple" name="serendipity[cat][read_authors][]">
+                <option value="0" <?php echo (!is_array($this_cat) || (isset($this_cat['authorid']) && $this_cat['authorid'] == '0') || isset($read_groups[0])) ? 'selected="selected"' : ''; ?>><?php echo ALL_AUTHORS; ?></option>
+<?php
+        foreach($groups AS $group) {
+            echo '<option value="' . $group['confkey'] . '" ' . (isset($read_groups[$group['confkey']]) ? 'selected="selected"' : '') . '>' . htmlspecialchars($group['confvalue']) . '</option>' . "\n";
+        }
+?>
+            </select>
+        </td>
     </tr>
+
+    <tr>
+        <td><label for="write_authors"><?php echo PERM_WRITE; ?></label></td>
+        <td>
+            <select size="6" id="write_authors" multiple="multiple" name="serendipity[cat][write_authors][]">
+                <option value="0" <?php echo (!is_array($this_cat) || (isset($this_cat['authorid']) && $this_cat['authorid'] == '0') || isset($write_groups[0])) ? 'selected="selected"' : ''; ?>><?php echo ALL_AUTHORS; ?></option>
+<?php
+        foreach($groups AS $group) {
+            echo '<option value="' . $group['confkey'] . '" ' . (isset($write_groups[$group['confkey']]) ? 'selected="selected"' : '') . '>' . htmlspecialchars($group['confvalue']) . '</option>' . "\n";
+        }
+?>
+            </select>
+        </td>
+    </tr>
+
     <tr>
         <td><label for="parent_cat"><?php echo PARENT_CATEGORY; ?></label></td>
         <td>
@@ -207,7 +260,7 @@ if ( $serendipity['GET']['adminAction'] == 'view' ) {
     if (empty($admin_category)) {
         $cats = serendipity_fetchCategories('all');
     } else {
-        $cats = serendipity_fetchCategories();
+        $cats = serendipity_fetchCategories(null, null, null, 'write');
     }
 
     if ( is_array($cats) && sizeof($cats) > 0 ) {
@@ -239,7 +292,6 @@ if ( $serendipity['GET']['adminAction'] == 'view' ) {
                 </td>
             </tr>
 </table>
-<?php } ?>
-<?php
+<?php }
+
 /* vim: set sts=4 ts=4 expandtab : */
-?>
index 1e9f33aea84210213e2acdb1fb30d629b7cb3479..49b6f3780b9d03139559c833bbdb6b53fdabae89 100644 (file)
@@ -89,7 +89,7 @@ if (isset($_POST['SAVE_NEW'])) {
 /* Edit a user */
 if (isset($_POST['SAVE_EDIT'])) {
     $user = serendipity_fetchUsers($serendipity['POST']['user']);
-    if (!serendipity_checkPermission('adminUsersMaintainOthers') && $user[0]['userlevel'] >= $serendipity['serendipityUserlevel'] || !serendipity_checkPermission('adminUsersCreateNew')) {
+    if (!serendipity_checkPermission('adminUsersMaintainOthers') && $user[0]['userlevel'] >= $serendipity['serendipityUserlevel']) {
         echo '<div class="serendipityAdminMsgError">' . CREATE_NOT_AUTHORIZED . '</div>';
     } elseif ($_POST['userlevel'] > $serendipity['serendipityUserlevel']) {
         echo '<div class="serendipityAdminMsgError">' . CREATE_NOT_AUTHORIZED_USERLEVEL . '</div>';
index 62f90c5429f33a0e5bfcb89c2b96f6b4f62c0f08..3b307c9525cbd38b6d6a58cd8df7dee2063dffab 100644 (file)
@@ -670,10 +670,10 @@ function serendipity_checkPermission($permName, $authorid = null, $returnMyGroup
     return false;
 }
 
-function serendipity_updateGroups($groups, $authorid) {
+function serendipity_updateGroups($groups, $authorid, $apply_acl = true) {
     global $serendipity;
 
-    if (!serendipity_checkPermission('adminUsersMaintainOthers')) {
+    if ($apply_acl && !serendipity_checkPermission('adminUsersMaintainOthers')) {
         return false;
     }
 
@@ -952,5 +952,144 @@ function serendipity_addDefaultGroup($name, $level) {
     return true;
 }
 
+function serendipity_ACLGrant($artifact_id, $artifact_type, $artifact_mode, $groups) {
+    global $serendipity;
+
+    if (empty($groups) || !is_array($groups)) {
+        return false;
+    }
+    
+    // Delete all old existing relations.
+    serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}access
+                                WHERE artifact_id   = " . (int)$artifact_id . " 
+                                  AND artifact_type = '" . serendipity_db_escape_string($artifact_type) . "'
+                                  AND artifact_mode = '" . serendipity_db_escape_string($artifact_mode) . "'");
+
+    $data = array(
+        'artifact_id'    => (int)$artifact_id,
+        'artifact_type'  => $artifact_type,
+        'artifact_mode'  => $artifact_mode,
+        'artifact_index' => ''
+    );
+
+    if (count($data) < 1) {
+        return true;
+    }
+
+    foreach($groups AS $group) {
+        $data['groupid'] = $group;
+        serendipity_db_insert('access', $data);
+    }
+    
+    return true;
+}
+
+function serendipity_ACLGet($artifact_id, $artifact_type, $artifact_mode) {
+    global $serendipity;
+    
+    $sql = "SELECT groupid, artifact_index FROM {$serendipity['dbPrefix']}access
+                    WHERE artifact_type = '" . serendipity_db_escape_string($artifact_type) . "'
+                      AND artifact_id   = '" . (int)$artifact_id . "'
+                      AND artifact_mode = '" . serendipity_db_escape_string($artifact_mode) . "'";
+    $rows = serendipity_db_query($sql, false, 'assoc');
+    
+    if (!is_array($rows)) {
+        return false;
+    }
+
+    $acl = array();
+    foreach($rows AS $row) {
+        $acl[$row['groupid']] = $row['artifact_index'];
+    }
+    
+    return $acl;
+}
+
+function serendipity_ACLCheck($authorid, $artifact_id, $artifact_type, $artifact_mode) {
+    global $serendipity;
+    
+    $artifact_sql = array();
+    switch($artifact_type) {
+        default:
+        case 'category':
+            $artifact_sql['unique']= "atf.categoryid";
+            $artifact_sql['cond']  = "atf.categoryid = " . (int)$artifact_id;
+            $artifact_sql['where'] = "OR a.artifact_type IS NULL AND (atf.authorid = " . (int)$authorid . " OR atf.authorid = 0)";
+            $artifact_sql['table'] = 'category';
+    }
+    
+    $sql = "SELECT {$artifact_sql['unique']} AS result
+              FROM {$serendipity['dbPrefix']}{$artifact_sql['table']} AS atf
+   LEFT OUTER JOIN {$serendipity['dbPrefix']}authorgroups AS ag
+                ON ag.authorid = ". (int)$authorid . "
+   LEFT OUTER JOIN {$serendipity['dbPrefix']}access AS a 
+                ON (ag.groupid = a.groupid OR a.groupid = 0)
+
+             WHERE {$artifact_sql['cond']} 
+               AND ((
+                        a.artifact_id = " . (int)$artifact_id . "
+                    AND a.artifact_type = '" . serendipity_db_escape_string($artifact_type) . "'
+                    AND a.artifact_mode = '" . serendipity_db_escape_string($artifact_mode) . "'
+                   )
+                    {$artifact_sql['where']}
+                   )
+          GROUP BY result";
+
+    $res = serendipity_db_query($sql, true, 'assoc');
+    if (is_array($res) && !empty($res['result'])) {
+        return true;
+    }
+    
+    return false;
+}
+
+function serendipity_ACL_SQL(&$cond, $append_category = false) {
+    global $serendipity;
+
+    if (!isset($serendipity['enableACL']) || $serendipity['enableACL'] === true) {
+        if ($_SESSION['serendipityAuthedUser'] === true) {
+            $read_id = (int)$serendipity['authorid'];
+            $read_id_sql = 'acl_a.groupid';
+        } else {
+            // "0" as category property counts as "anonymous viewers" 
+            $read_id     = 0;
+            $read_id_sql = 0;
+        }
+
+        if ($append_category) {
+            if ($append_category !== 'limited') {
+                $cond['joins'] .= " LEFT JOIN {$serendipity['dbPrefix']}entrycat ec
+                                           ON e.id = ec.entryid";
+            }
+            
+            $cond['joins'] .= " LEFT JOIN {$serendipity['dbPrefix']}category c
+                                       ON ec.categoryid = c.categoryid";
+        }
+
+        $cond['joins'] .= " LEFT JOIN {$serendipity['dbPrefix']}authorgroups AS acl_a
+                                   ON acl_a.authorid = " . $read_id . "
+                            LEFT JOIN {$serendipity['dbPrefix']}access AS acl_acc
+                                   ON acl_acc.groupid = " . $read_id_sql;
+
+        if (empty($cond['and'])) {
+            $cond['and'] .= ' WHERE ';
+        } else {
+            $cond['and'] .= ' AND ';
+        }
+
+        $cond['and'] .= "    (
+                                 c.categoryid IS NULL 
+                                 OR (acl_acc.artifact_type = 'category'
+                                     AND acl_acc.artifact_mode = 'read' 
+                                     AND acl_acc.artifact_id   = c.categoryid)
+                                 OR (acl_acc.artifact_id IS NULL 
+                                     AND (c.authorid = 0 OR c.authorid = " . $read_id . ")
+                                    )
+                               )";
+        return true;
+    }    
+
+    return false;
+}
+
 /* vim: set sts=4 ts=4 expandtab : */
-?>
\ No newline at end of file
index f14e28e47b1d63f09e7f4a39f3404aae419c508c..836b098f942378fe3cfd005e5414480ad6450ce8 100644 (file)
@@ -231,6 +231,8 @@ function serendipity_fetchEntries($range = null, $full = true, $limit = '', $fet
         $group    = 'GROUP BY e.id';
         $distinct = '';
     }
+    
+    serendipity_ACL_SQL($cond);
 
     // Store the unique query condition for entries for later reference, like getting the total article count.
     $serendipity['fullCountQuery'] = "
@@ -334,6 +336,8 @@ function serendipity_fetchEntry($key, $val, $full = true, $fetchDrafts = 'false'
         $cond['and'] = " AND e.authorid = '" . $serendipity['authorid'] . "'";
     }
 
+    serendipity_ACL_SQL($cond, true);
+
     serendipity_plugin_api::hook_event('frontend_fetchentry', $cond, array('noSticky' => true));
 
     $querystring = "SELECT
@@ -381,9 +385,17 @@ function serendipity_fetchEntryProperties($id) {
 /**
 * Fetches a users categories
 **/
-function serendipity_fetchCategories($authorid = null, $name = '', $order = 'category_name ASC') {
+function serendipity_fetchCategories($authorid = null, $name = null, $order = null, $artifact_mode = 'write') {
     global $serendipity;
 
+    if ($name === null) {
+        $name = '';
+    }
+
+    if ($order === null) {
+        $order = 'category_name ASC';
+    }
+
     if (!isset($authorid) || $authorid === null) {
         $authorid = ((isset($serendipity['authorid']) && !empty($serendipity['GET']['adminModule'])) ? $serendipity['authorid'] : 1);
     }
@@ -393,7 +405,14 @@ function serendipity_fetchCategories($authorid = null, $name = '', $order = 'cat
     }
 
     if ($authorid != 'all' && is_numeric($authorid)) {
-        $where = " WHERE (c.authorid = $authorid OR c.authorid = 0)";
+        if (!serendipity_checkPermission('adminCategoriesMaintainOthers', $authorid)) {
+            $where = " WHERE (c.authorid = $authorid OR c.authorid = 0)";
+            $where .= "OR (
+                          acl.artifact_type = 'category'
+                          AND acl.artifact_mode = '" . serendipity_db_escape_string($artifact_mode) . "'
+                         )";
+
+        }
     } else {
         $where = '';
     }
@@ -414,7 +433,13 @@ function serendipity_fetchCategories($authorid = null, $name = '', $order = 'cat
                            a.realname
                       FROM {$serendipity['dbPrefix']}category AS c
            LEFT OUTER JOIN {$serendipity['dbPrefix']}authors AS a
-                        ON c.authorid = a.authorid $where";
+                        ON c.authorid = a.authorid 
+           LEFT OUTER JOIN {$serendipity['dbPrefix']}authorgroups AS ag
+                        ON ag.authorid = a.authorid
+           LEFT OUTER JOIN {$serendipity['dbPrefix']}access AS acl 
+                        ON (ag.groupid = acl.groupid AND acl.artifact_id = c.categoryid)
+                           $where
+                  GROUP BY c.categoryid";
 
     if (!empty($order)) {
         $querystring .= "\n ORDER BY $order";
@@ -484,6 +509,8 @@ function serendipity_searchEntries($term, $limit = '') {
     $cond['and'] = " AND isdraft = 'false' " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND timestamp <= " . time() : '');
     serendipity_plugin_api::hook_event('frontend_fetchentries', $cond, array('source' => 'search'));
 
+    serendipity_ACL_SQL($cond, 'limited');
+
     $serendipity['fullCountQuery'] = "
                       FROM
                             {$serendipity['dbPrefix']}entries e
index 02a0ba98331b6b7409bff28adb8192c7befd0879..e340102e06af7c1e1420e0ac586138d7d432dd37 100644 (file)
                                           'type'        => 'bool',
                                           'default'     => false,
                                           'permission'  => 'blogConfiguration'),
+
+                                    array('var'         => 'enableACL',
+                                          'title'       => INSTALL_ACL,
+                                          'description' => INSTALL_ACL_DESC,
+                                          'type'        => 'bool',
+                                          'default'     => true,
+                                          'permission'  => 'blogConfiguration'),
                             ));
 
     $res['imagehandling'] =
index 1b4a779b0af9e4f37b9db6a48b0948f5d781e585..742faee044d4613ad6e8f76034faadb79bbc3bb6 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 4fcce2d42e07285ad51d089a10b6ed30e9cbe052..dfdae15739cd81a02281ece7474a3a0957f9561f 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index e7a1b61d46e53a93eb11e59fc516787670e1448e..c1e9628a28b70d7ceca4d6615055104f9d9dd748 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index b231ae2c2bbabc704846a69cd8e7ed5206f745b0..32a54f4ccc6dab688950531ac4de096c88310861 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index d35501145685defc3a06393ba2f5b56ca52d2bcd..845362a368042b89c095d7a7c50af7b5389ce4f4 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 7ddccfe0e62cb312f2558f5a64d966b7b7dcd826..d6c4f408cb82f8fed10181c2eef3dbbcbe68f473 100644 (file)
@@ -1,4 +1,4 @@
-<?php # $Id: serendipity_lang_de.inc.php 446 2005-09-05 09:54:17Z garvinhicking $
+<?php # $Id: serendipity_lang_de.inc.php 454 2005-09-07 13:22:24Z garvinhicking $
 # Copyright (c) 2003-2005, Jannis Hermanns (on behalf the Serendipity Developer Team)
 # All rights reserved.  See LICENSE file for licensing details
 # Translation (c) Jannis Hermanns, Garvin Hicking and others
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index e7141aee324d869f9d5af9b2558794745e60ea5d..61718f6532b0a95471ed86b2c4083279ecc9822a 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 35de62746f09d2f33425448719966f63578c809a..bf98771e222224978c32d3b0b12d45cf91753980 100644 (file)
 @define('CALENDAR_EXTEVENT_DESC', 'Si está habilitada, esta opción permite que las extensiones se conecten con el calendario para mostrar sus eventos resaltados. Utilizalo sólo si has instalado extensiones que lo necesitan, de otra forma sólo disminuye el desempeño.');
 /*Translate*/
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 16261363bfd2e012c086e67ef40c6829e3511b2f..e0291b29ebab26e38321a17331bdc4ec248250bf 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'فعال کردن API افزونه چنگکی');
 @define('CALENDAR_EXTEVENT_DESC', 'در صورت فعال بودن، افزونه ها می توانند از تقویم برای نشان دادن وقایع استفاده کنند. این افزونه فقط در حالتی کار می کند که افزونه هایی که لازمش دارند، نصب شده باشند در غیر این صورت، فقط قدرت سیستم کمی پایین می آید.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'افزونه XML-RPC API برای Serendipity به دلیل مشکلات امنیتی، پشتیبانی نمی شود، ضمن اینکه کاربران کمی نیز از آن استفاده می کردند. به هر حال، برای استفاده از XML-RPC API باید افزونه XML-RPC را نصب کنید. آدرس استفاده شده در برنامه تغییر نخواهد کرد - تا زمانی که شما افزونه را نصب دارید، می توانید از API استفاده کنید.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index cb1d3ca73d98c58c0cae26d4bef54f2e1d6d1b46..93e7fe7c10eca9e5b3e9ba0a50a03a9381d972d0 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 9d765ce34f70557f8f187d2684add6e54d23e40b..1e216d7496e68fb31e61c8d080ced6f7f7a67d2c 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 691442c607330db39cbe5404cb98400e7cad883a..b02c8d23c0601c311eb2b1f7de510c433b450a18 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 3a07724ef05a6adff9d70f6d8ca4fceae85a116a..058587b1ca397cb07a3c82ac755a5fa0f0b2fca1 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index f71d46b038ebd36b3e9beec8df1cd98c7e65e93e..f4d759cb858b040f80399115b394f88f81533bb9 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 9b4cb9184a73f41e93f2e55f957ed4bce698cd10..e965f4e8440952e70880ef3d69a4abdf41ac870a 100644 (file)
@@ -777,3 +777,9 @@ Serendipity のアップグレードステージを無視しました。正し
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'プラグインの API フックを有効にする');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 8b780fe0dd316ba0467da8ffbc20334f49c10af3..6f5a4c09cfac945635714128711296cdc059facd 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index aedf22541897026f06b2a95564a05770820f5e34..5c7ac19ac66b603222db4002757a98cc1ce71623 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index ec3d7fc297f28876ea8cfeb9f2a06932f3a397d5..5ae7bec544862f2e25c7ef759e5808e5200af91d 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 86f5094cba5dbd4b358b4a70f4983a8349821071..e136c30b2683e8a12a331d255a10294ce0ac4c78 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index f5d43e34cd7ba0f77c495b32c441f2831ad81a7e..3b7b8b2bcaedd4ff5c6dcaea582f571a1d59b0c3 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index f4be3a9912339e7c1f4a2be6f3bafb60581a0535..d7c80e0411a55127afc1fed07747127b57846520 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index e3781a52b70a6a58ab8b98e98d1bde27a49bdb0a..a0f62857aafd220aecae5065d4fdb72b5ec3b0aa 100644 (file)
@@ -775,3 +775,9 @@ $i18n_filename_to   = array('_', 'a', 'A', 'b', 'B', 'v', 'V', 'g', 'G', 'd', 'D
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 9713916bdc081cd0496938f85ee9c6df9e523906..78955569730c23eeeb80c8a2036276590deff7bf 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 10623580d0efee561953d26c3c265d67259342a6..5f8e0f98cc89eb43dfcd9320b08bc3d3d6349492 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', '開啟外掛 API');
 @define('CALENDAR_EXTEVENT_DESC', '如果開啟,外掛可以在日曆內以顏色突顯它的事件。如果沒有使用這些特殊的外掛,建議不要使用。');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'XML-RPC API 功能已不加在 s9y 的安裝裡,因為漏洞和不多人使用的關係。所以您必須安裝 XML-RPC 的外掛如果要使用 XML-RPC API。所有的 URL 不會因此改變,安裝這個外掛後可以馬上使用。');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 91f6709bae64829028db4848670b5397d300f90d..20574cd562f34645675ede5d5ee92e708605fffb 100644 (file)
 @define('INSTALL_CHARSET_DESC', '這裡可以讓您轉換 UTF-8 或預設語系 (ISO, EUC, ...)。有些語言只有 UTF-8 語系檔,所以換成預設語系不會改變任何東西。新安裝的網誌建議使用 UTF-8 語系。記得不要改變這個設定如果您已經發佈了文章。詳情請看 http://www.s9y.org/index.php?node=46。');
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', '開啟外掛 API');
 @define('CALENDAR_EXTEVENT_DESC', '如果開啟,外掛可以在日曆內以顏色突顯它的事件。如果沒有使用這些特殊的外掛,建議不要使用。');
-@define('XMLRPC_NO_LONGER_BUNDLED', 'XML-RPC API 功能已不加在 s9y 的安裝裡,因為漏洞和不多人使用的關係。所以您必須安裝 XML-RPC 的外掛如果要使用 XML-RPC API。所有的 URL 不會因此改變,安裝這個外掛後可以馬上使用。');
\ No newline at end of file
+@define('XMLRPC_NO_LONGER_BUNDLED', 'XML-RPC API 功能已不加在 s9y 的安裝裡,因為漏洞和不多人使用的關係。所以您必須安裝 XML-RPC 的外掛如果要使用 XML-RPC API。所有的 URL 不會因此改變,安裝這個外掛後可以馬上使用。');@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 3cc7795a01798bda9396717cb472a39b86e33564..4872ecf89c91d04a375e76922f8bf7bc821176e9 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 1d01d0160a9b11747195eaafb70935bbd950c008..81ad1428f24662837c03758948d5f765e87d2d7e 100644 (file)
@@ -1 +1,2 @@
-@define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');\r
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 3ce26e4850bcc86ea1903f5c924c88639463d256..2d6e2fa6b4f1a3121a794a4e86bf65a0c1054938 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index fcb99a17c0cec1687138d417e3db1e96076d830c..dff02e1bf11221d3be524a6bfc70ce41371e3841 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 08411ef73620283a35e1b6629feb28bb202eda4e..19a23f6edaa43fe084313aff3f50cd1e0646c41b 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index a4f94e0d85d5d5a969f09f1a4df45f0cf2b3935e..de566de154800a34db80cdbb6a0ec68d94201d37 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 64324279157c3077af8541c6adbc4cd74435ed11..e23879072b0e9f9c957535e1c84928cad544086e 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 9b4c2b53deaaf9551378438a2d2746d498449a0e..3de2c711c85d7f8d8f0b9c72b2eeb6efc65a04d8 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 326e73a336c86d468b4223f81853cd062ce1b078..47cf58816d6036caa65d9345e0edfa40a80e3b9a 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 01a7e2867c0bb28687e283267ca480d2a5d1d200..7ca99e8642d0ea3871c527702be83ad76b24de78 100644 (file)
 @define('CALENDAR_EXTEVENT_DESC', 'Si está habilitada, esta opción permite que las extensiones se conecten con el calendario para mostrar sus eventos resaltados. Utilizalo sólo si has instalado extensiones que lo necesitan, de otra forma sólo disminuye el desempeño.');
 /*Translate*/
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 1ed5e6a9ffd8d99825c890f5e0f1102d93084784..c4e0042547c14a888d60cbae2a53df8ca0b95a37 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'فعال کردن API افزونه چنگکی');
 @define('CALENDAR_EXTEVENT_DESC', 'در صورت فعال بودن، افزونه ها می توانند از تقویم برای نشان دادن وقایع استفاده کنند. این افزونه فقط در حالتی کار می کند که افزونه هایی که لازمش دارند، نصب شده باشند در غیر این صورت، فقط قدرت سیستم کمی پایین می آید.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'افزونه XML-RPC API برای Serendipity به دلیل مشکلات امنیتی، پشتیبانی نمی شود، ضمن اینکه کاربران کمی نیز از آن استفاده می کردند. به هر حال، برای استفاده از XML-RPC API باید افزونه XML-RPC را نصب کنید. آدرس استفاده شده در برنامه تغییر نخواهد کرد - تا زمانی که شما افزونه را نصب دارید، می توانید از API استفاده کنید.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index ea6012b9486db967af16c8f4d6f534d2647a19b7..f57dee4b997a0e4b8b9e13e6e50bb00ef646c439 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index f29a4d47649e6c2d4bf7782ee8ab8cfb309289e4..898a1f2cf06cba6024a21e0a54f8fab09be9d6c2 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 1303d4642aa61605402ccb3e9a4e071794076252..e6a3b4752b6bf22b9ac38fc0c13935440ddca776 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 377fa5f85c58a6f8a2240955fc076e8b722f77e5..f007d05ae1dd21bafea23c74fb4dea4a7d391d72 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index e3ad802a70b71d3e320b686f6cd6694b5bdbd2c9..c03ee79910506b9bbc0ea70d3a828289bf94bc0f 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index fbc209b061f6a42a5c61c30e1f7ef0773e6d5788..f8fb0654ba7ccd92cf840092660dbbca9d9cdfc5 100644 (file)
@@ -777,3 +777,9 @@ Serendipity のアップグレードステージを無視しました。正し
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'プラグインの API フックを有効にする');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 81bc2dbe213c6dfd2019d44115c9425cad9df35d..c03ccf9532e1e6cda7bf043b56ae3ab2913da18f 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index d88c2f011ed2f31b67449343fe011a3c6832a1e0..a927a4f0233e0abd41255999684ea2e9e022b6a1 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 4e88a112df6598bbfc10d399ee780a4a8cd7c55c..1b6cc1730f95f1741a80256508b62b6119da97b2 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index e0741a445f365bb062a49429f0b48e37148100d8..bef404d06c41cd18e142c80591b82fe65c0f2de0 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index c71ec89e7582ef6a04fd484ee1713e649db6ca72..6006fc44de8559513ad1def916aa37e6965d4461 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index f4be3a9912339e7c1f4a2be6f3bafb60581a0535..d7c80e0411a55127afc1fed07747127b57846520 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 096f3f3e079709e51b695ea38909610bf1d56109..519c64100089fbd68a4c3b65fe795633901df240 100644 (file)
@@ -775,3 +775,9 @@ $i18n_filename_to   = array('_', 'a', 'A', 'b', 'B', 'v', 'V', 'g', 'G', 'd', 'D
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index d0d240bd8f37d5db9e449d06e6934d53819899e9..735b52b38432c6e42f1b2ca78cfd050ca00bf39e 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 17769d5c1a867bb823c1ad2383e5446a76acbc20..12710cc69fb3ee969b82680e44862c36688f13ea 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', '開啟外掛 API');
 @define('CALENDAR_EXTEVENT_DESC', '如果開啟,外掛可以在日曆內以顏色突顯它的事件。如果沒有使用這些特殊的外掛,建議不要使用。');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'XML-RPC API 功能已不加在 s9y 的安裝裡,因為漏洞和不多人使用的關係。所以您必須安裝 XML-RPC 的外掛如果要使用 XML-RPC API。所有的 URL 不會因此改變,安裝這個外掛後可以馬上使用。');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index e8f9f21c5c5951e20627b1ebce2acbf3eccc0a86..162c48cefbf90787cfbfd8dca8ad2e639d9649f5 100644 (file)
 @define('INSTALL_CHARSET_DESC', '³o¸Ì¥i¥HÅý±zÂà´« UTF-8 ©Î¹w³]»y¨t (ISO, EUC, ...)¡C¦³¨Ç»y¨¥¥u¦³ UTF-8 »y¨tÀÉ¡A©Ò¥H´«¦¨¹w³]»y¨t¤£·|§ïÅÜ¥ô¦óªF¦è¡C·s¦w¸Ëªººô»x«ØÄ³¨Ï¥Î UTF-8 »y¨t¡C°O±o¤£­n§ïÅܳo­Ó³]©w¦pªG±z¤w¸gµo§G¤F¤å³¹¡C¸Ô±¡½Ð¬Ý http://www.s9y.org/index.php?node=46¡C');
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', '¶}±Ò¥~±¾ API');
 @define('CALENDAR_EXTEVENT_DESC', '¦pªG¶}±Ò¡A¥~±¾¥i¥H¦b¤é¾ä¤º¥HÃC¦â¬ðÅ㥦ªº¨Æ¥ó¡C¦pªG¨S¦³¨Ï¥Î³o¨Ç¯S®íªº¥~±¾¡A«ØÄ³¤£­n¨Ï¥Î¡C');
-@define('XMLRPC_NO_LONGER_BUNDLED', 'XML-RPC API ¥\¯à¤w¤£¥[¦b s9y ªº¦w¸Ë¸Ì¡A¦]¬°º|¬}©M¤£¦h¤H¨Ï¥ÎªºÃö«Y¡C©Ò¥H±z¥²¶·¦w¸Ë XML-RPC ªº¥~±¾¦pªG­n¨Ï¥Î XML-RPC API¡C©Ò¦³ªº URL ¤£·|¦]¦¹§ïÅÜ¡A¦w¸Ë³o­Ó¥~±¾«á¥i¥H°¨¤W¨Ï¥Î¡C');
\ No newline at end of file
+@define('XMLRPC_NO_LONGER_BUNDLED', 'XML-RPC API ¥\¯à¤w¤£¥[¦b s9y ªº¦w¸Ë¸Ì¡A¦]¬°º|¬}©M¤£¦h¤H¨Ï¥ÎªºÃö«Y¡C©Ò¥H±z¥²¶·¦w¸Ë XML-RPC ªº¥~±¾¦pªG­n¨Ï¥Î XML-RPC API¡C©Ò¦³ªº URL ¤£·|¦]¦¹§ïÅÜ¡A¦w¸Ë³o­Ó¥~±¾«á¥i¥H°¨¤W¨Ï¥Î¡C');@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 28f0b2682e0a44575772ff496dbacf0894e46fb2..70e297bfb3bfa9bc42acab1e1358fd806ff9962c 100644 (file)
 @define('CALENDAR_ENABLE_EXTERNAL_EVENTS', 'Enable Plugin API hook');
 @define('CALENDAR_EXTEVENT_DESC', 'If enabled, plugins can hook into the calendar to display their own events highlighted. Only enable if you have installed plugins that need this, otherwise it just decreases performance.');
 @define('XMLRPC_NO_LONGER_BUNDLED', 'The XML-RPC API Interface to Serendipity is no longer bundled because of ongoing security issues with this API and not many people using it. Thus you need to install the XML-RPC Plugin to use the XML-RPC API. The URL to use in your applications will NOT change - as soon as you have installed the plugin, you will again be able to use the API.');
+@define('PERM_READ', 'Read permission');
+@define('PERM_WRITE', 'Write permission');
+
+@define('PERM_DENIED', 'Permission denied.');
+@define('INSTALL_ACL', 'Apply read-permissions for categories');
+@define('INSTALL_ACL_DESC', 'If enabled, the usergroup permission settings you setup for categories will be applied when logged-in users view your blog. If disabled, the read-permissions of the categories are NOT applied, but the positive effect is a little speedup on your blog. So if you don\'t need multi-user read permissions for your blog, disable this setting.');
index 2d35663935799d4869df48ab26e64bd02104092b..505bb702d05ee28be4f55ec9c80b72bca97b88cd 100644 (file)
@@ -504,8 +504,8 @@ class serendipity_event_entryproperties extends serendipity_event
 
                     if (!isset($serendipity['GET']['category']) && !isset($serendipity['GET']['adminModule']) && $event == 'frontend_fetchentries') {
                         $conds[] = " (ep_no_frontpage.property IS NULL OR ep_no_frontpage.value != 'true') ";
-                        $joins[] = "LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_no_frontpage
-                                                 ON (e.id = ep_no_frontpage.entryid AND ep_no_frontpage.property = 'ep_no_frontpage')";
+                        $joins[] = " LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_no_frontpage
+                                                  ON (e.id = ep_no_frontpage.entryid AND ep_no_frontpage.property = 'ep_no_frontpage')";
                     }
 
                     if (count($conds) > 0) {
@@ -553,26 +553,26 @@ class serendipity_event_entryproperties extends serendipity_event
                     }
 
                     if ($is_cache && (!isset($addData['noCache']) || !$addData['noCache'])) {
-                        $joins[] = "LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_cache_extended
-                                                 ON (e.id = ep_cache_extended.entryid AND ep_cache_extended.property = 'ep_cache_extended')";
-                        $joins[] = "LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_cache_body
-                                                 ON (e.id = ep_cache_body.entryid AND ep_cache_body.property = 'ep_cache_body')";
+                        $joins[] = " LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_cache_extended
+                                                  ON (e.id = ep_cache_extended.entryid AND ep_cache_extended.property = 'ep_cache_extended')";
+                        $joins[] = " LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_cache_body
+                                                  ON (e.id = ep_cache_body.entryid AND ep_cache_body.property = 'ep_cache_body')";
                     }
-                    $joins[] = "LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_access
-                                             ON (e.id = ep_access.entryid AND ep_access.property = 'ep_access')";
+                    $joins[] = " LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_access
+                                              ON (e.id = ep_access.entryid AND ep_access.property = 'ep_access')";
                     if ($use_groups) {
-                        $joins[] = "LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_access_groups
-                                                 ON (e.id = ep_access_groups.entryid AND ep_access_groups.property = 'ep_access_groups')";
+                        $joins[] = " LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_access_groups
+                                                  ON (e.id = ep_access_groups.entryid AND ep_access_groups.property = 'ep_access_groups')";
                     }
 
                     if ($use_users) {
-                        $joins[] = "LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_access_users
-                                                 ON (e.id = ep_access_users.entryid AND ep_access_users.property = 'ep_access_users')";
+                        $joins[] = " LEFT OUTER JOIN {$serendipity['dbPrefix']}entryproperties ep_access_users
+                                                  ON (e.id = ep_access_users.entryid AND ep_access_users.property = 'ep_access_users')";
                     }
 
                     if (!isset($addData['noSticky']) || $addData['noSticky'] !== true) {
-                        $joins[] = "LEFT JOIN {$serendipity['dbPrefix']}entryproperties ep_sticky
-                                                 ON (e.id = ep_sticky.entryid AND ep_sticky.property = 'ep_is_sticky')";
+                        $joins[] = " LEFT JOIN {$serendipity['dbPrefix']}entryproperties ep_sticky
+                                            ON (e.id = ep_sticky.entryid AND ep_sticky.property = 'ep_is_sticky')";
                     }
 
                     $cond = implode("\n", $joins);
index 34b04bd6359d9988f540fb2133e4ca9ae36b9508..cddd6804ffc042d8c18dcdef5f67a1c6e49f81a3 100644 (file)
@@ -21,7 +21,7 @@ if (IS_installed === true && !defined('IN_serendipity')) {
 include_once(S9Y_INCLUDE_PATH . 'include/compat.inc.php');
 
 // The version string
-$serendipity['version']         = '0.9-alpha4';
+$serendipity['version']         = '0.9-alpha5';
 
 // Name of folder for the default theme
 $serendipity['defaultTemplate'] = 'default';
index 4c9e4c8286320882e9bacb35534391fee8eea869..744a1ea8606a2335ad6a8a7f702feff5fd7b139e 100644 (file)
@@ -45,6 +45,19 @@ create table {PREFIX}authorgroups (
 CREATE INDEX authorgroup_idxA ON {PREFIX}authorgroups (groupid);
 CREATE INDEX authorgroup_idxB ON {PREFIX}authorgroups (authorid);
 
+create table {PREFIX}access (
+  groupid int(10) {UNSIGNED} not null default '0',
+  artifact_id int(10) {UNSIGNED} not null default '0',
+  artifact_type varchar(64) NOT NULL default '',
+  artifact_mode varchar(64) NOT NULL default '',
+  artifact_index varchar(64) NOT NULL default ''
+);
+
+CREATE INDEX accessgroup_idx ON {PREFIX}access(groupid);
+CREATE INDEX accessgroupT_idx ON {PREFIX}access(artifact_id,artifact_type,artifact_mode);
+CREATE INDEX accessforeign_idx ON {PREFIX}access(artifact_id);
+
+
 #
 # table structure for table '{PREFIX}comments'
 #
diff --git a/sql/db_update_0.9-alpha4_0.9-alpha5_mysql.sql b/sql/db_update_0.9-alpha4_0.9-alpha5_mysql.sql
new file mode 100644 (file)
index 0000000..f6a1ae2
--- /dev/null
@@ -0,0 +1,12 @@
+create table {PREFIX}access (
+  groupid int(10) {UNSIGNED} not null default '0',
+  artifact_id int(10) {UNSIGNED} not null default '0',
+  artifact_type varchar(64) NOT NULL default '',
+  artifact_mode varchar(64) NOT NULL default '',
+  artifact_index varchar(64) NOT NULL default ''
+);
+
+CREATE INDEX accessgroup_idx ON {PREFIX}access(groupid);
+CREATE INDEX accessgroupT_idx ON {PREFIX}access(artifact_id,artifact_type,artifact_mode);
+CREATE INDEX accessforeign_idx ON {PREFIX}access(artifact_id);
+