Permalink
Browse files

Merge branch 'release-2.2' into develop

* release-2.2:
  Update changelog for [#7798]
  [#7797] Avoid E_NOTICE from array_diff_assoc change in 5.4
  [#7796] Fix issue with phpthumb calling non-static methods statically
  [#7764] Compress and default to open Resource Group access wizard in window
  [#7762] Fix issue with add/decr output filter not adding 0 if 0 is passed
  [#7793] Fix issue with saving a new media source access on user group edit screen
  Prefix indexes with table name for sqlite
  Fix xPDOTest::testGetFields for sqlite/sqlsrv
  Bump version for 2.2.3-dev
  [#7712] Fix update resource showing two published checkbox.
  Update of Czech translation

Conflicts:
	_build/build.sample.properties
	_build/build.xml
	core/docs/changelog.txt
	core/docs/version.inc.php
  • Loading branch information...
2 parents aad3073 + c0d9300 commit 9138e01fa6e890a6cff6d7d333d66d6c495cf974 @opengeek opengeek committed May 11, 2012
View
@@ -5,6 +5,13 @@ development release, and is only shown to give an idea of what's currently in th
- Allow Namespace-based loading of custom TV files
- Deprecate usage of modAction objects in favor of modNamespace base controller path
+- [#7798] Avoid E_NOTICE in PHP 5.4 from array_diff_assoc in xPDO::loadClass()
+- [#7796] Fix issue with phpthumb calling non-static methods statically
+- [#7764] Compress and default to open Resource Group access wizard in window
+- [#7762] Fix issue with add/decr output filter not adding 0 if 0 is passed
+- [#7793] Fix issue with saving a new media source access on user group edit screen
+- [#7712] Fix Resource quick update showing 2 checkboxes
+
MODX Revolution 2.2.2-pl (May 2, 2012)
====================================
- Preserve GET parameters for container_suffix redirects
@@ -7,7 +7,7 @@
* @subpackage lexicon
*
* @author modxcms.cz
- * @updated 2011-12-29
+ * @updated 2012-05-01
*/
// $_lang['access_category_management_msg'] = 'Manage User Group member access to Elements via Categories and optionally apply access policies.';
$_lang['access_category_management_msg'] = 'Správa přístupu členů uživatelské skupiny k elementům v kategoriích a možnost nastavení přístupových práv.';
@@ -273,12 +273,88 @@
// $_lang['resource_group_update'] = 'Update Resource Group';
$_lang['resource_group_update'] = 'Aktualizovat skupinu dokumentů';
+// $_lang['resource_group_access_contexts'] = 'A comma-separated list of Contexts that the Resource Group should pertain to for the following options.';
+$_lang['resource_group_access_contexts'] = 'Čárkou oddělený seznam kontextů, ke kterým by měla skupina dokumentů náležet a mají pro ni platit následující možnosti.';
+
+// $_lang['resource_group_automatic_access'] = 'Access Wizard';
+$_lang['resource_group_automatic_access'] = 'Rozšířené možnosti';
+
+// $_lang['resource_group_automatic_access_desc'] = 'Note: You may have to flush sessions after adding the Resource Group if you check any of the options below.';
+$_lang['resource_group_automatic_access_desc'] = 'Poznámka: Pokud zaškrtnete některou z voleb níže resetujte následně všechny přístupy.';
+
+// $_lang['resource_group_access_admin'] = 'Automatically Give Adminstrator Group Access';
+$_lang['resource_group_access_admin'] = 'Automaticky zpřístupnit administrátorům';
+
+// $_lang['resource_group_access_admin_desc'] = 'If checked, will give the Administrator Group view and editing access to this Resource Group for the above contexts.';
+$_lang['resource_group_access_admin_desc'] = 'Zaškrtnutím dojde ke zpřístupnění skupiny dokumentů všem administrátorům, kteří mají práva pro některý z výše uvedených kontextů.';
+
+// $_lang['resource_group_access_anon'] = 'Automatically Give Anonymous Access';
+$_lang['resource_group_access_anon'] = 'Automaticky zpřístupnit nepřihlášeným uživatelům';
+
+// $_lang['resource_group_access_anon_desc'] = 'If checked, will give non-logged-in users view access to this Resource Group for the above contexts.';
+$_lang['resource_group_access_anon_desc'] = 'Zaškrtnutím dostanou nepřihlášení uživatelé právo pro zobrazení této skupiny dokumentů v některém z výše uvedených kontextů.';
+
+// $_lang['resource_group_access_parallel'] = 'Create Parallel User Group';
+$_lang['resource_group_access_parallel'] = 'Současně založit uživatelskou skupinu';
+
+// $_lang['resource_group_access_parallel_desc'] = 'If checked, will automatically create a User Group with the same name, and give it view access to this Resource Group for the above contexts.';
+$_lang['resource_group_access_parallel_desc'] = 'Zaškrtnutím se po uložení automaticky vytvoří uživatelská skupina stejného názvu a budou ji nastavena práva pro zobrazení této skupiny dokumentů v rámci výše uvedených kontextů.';
+
+// $_lang['resource_group_access_ugs'] = 'Automatically Give Other User Groups Access';
+$_lang['resource_group_access_ugs'] = 'Automaticky zpřístupnit dalším uživatelským skupinám';
+
+// $_lang['resource_group_access_ugs_desc'] = 'A comma-separated list of User Group names. If non-blank, will give the User Groups specified here view access to this Resource Group for the above contexts.';
+$_lang['resource_group_access_ugs_desc'] = 'Čárkou oddělený seznam uživatelských skupin, které mají také získat právo pro zobrazení této skupiny dokumentů v rámci výše uvedených kontextů.';
+
// $_lang['roles_msg'] = 'A role is, by definition, a position or status one holds within a certain situation. They can be used to group Users into a position or status within a User Group. Roles in MODX also have what is called "Authority". This is a number value that can be any valid integer. Authority levels are "inheritable downward", in the sense that a Role with Authority 1 will inherit any and all Group Policies assigned to itself, and to any Roles with higher Authority level than 1.';
$_lang['roles_msg'] = 'Role je postavení nebo stav, kterou má uživatel v určité situaci. Může být použita pro uživatele nebo uživatelskou skupinu. Role v MODX jsou také nazývány "Autority". Číslo, které může být jakékoliv celé číslo. Úrovně autorit jsou dědičné dolů, v tom smyslu, že roli s úrovní 1 zdědí veškeré skupiny práv. A ke každé roli s vyšší úrovní než 1.';
// $_lang['source_add'] = 'Add Media Source';
$_lang['source_add'] = 'Přidat zdroj médií';
+// $_lang['user_group_aw'] = 'Access Wizard';
+$_lang['user_group_aw'] = 'Rozšířené možnosti';
+
+// $_lang['user_group_aw_desc'] = 'Note: You may have to flush sessions after adding the User Group if you check any of the options below.';
+$_lang['user_group_aw_desc'] = 'Poznámka: Pokud zaškrtnete některou z voleb níže resetujte následně všechny přístupy.';
+
+// $_lang['user_group_aw_contexts'] = 'Contexts';
+$_lang['user_group_aw_contexts'] = 'Kontexty';
+
+// $_lang['user_group_aw_contexts_desc'] = 'A comma-separated list of Contexts that this User Group should be able to view.';
+$_lang['user_group_aw_contexts_desc'] = 'Čárkou oddělený seznam kontextů, které má tato uživatelská skupina vidět.';
+
+// $_lang['user_group_aw_manager_policy'] = 'Manager Policy';
+$_lang['user_group_aw_manager_policy'] = 'Přístupové právo pro správce obsahu';
+
+// $_lang['user_group_aw_manager_policy_desc'] = 'The Policy to give the User Group for editing in the manager. Select (no policy) if you do not want to grant manager access.';
+$_lang['user_group_aw_manager_policy_desc'] = 'Přístupové právo při úpravách v rámci správce obsahu. Pokud nechcete uživatelské skupině povolit přístup do správce obsahu vyberte (žádné oprávnění).';
+
+// $_lang['user_group_aw_users'] = 'Users';
+$_lang['user_group_aw_users'] = 'Uživatelé';
+
+// $_lang['user_group_aw_users_desc'] = 'A comma-separated list of usernames to add to this User Group. You can use the format username:role to set the role; otherwise, Member will be assumed.';
+$_lang['user_group_aw_users_desc'] = 'Čárkou oddělený seznam uživatelů, které chcete přiřadit do této uživatelské skupiny. Lze také použít zápis ve tvaru uzivatel:role pro nastavení definované role, pokud není role definována bude uživateli přiřazena role Member.';
+
+// $_lang['user_group_aw_resource_groups'] = 'Resource Groups';
+$_lang['user_group_aw_resource_groups'] = 'Skupiny dokumentů';
+
+// $_lang['user_group_aw_resource_groups_desc'] = 'A comma-separated list of Resource Groups to give access to in the Contexts specified above.';
+$_lang['user_group_aw_resource_groups_desc'] = 'Čárkou oddělený seznam skupin dokumentů v rámci výše uvedených kontextů, ke kterým má mít uživatelská skupina přístup.';
+
+// $_lang['user_group_aw_categories'] = 'Element Categories';
+$_lang['user_group_aw_categories'] = 'Kategorie elementů';
+
+// $_lang['user_group_aw_categories_desc'] = 'A comma-separated list of Element Categories to give access to in the Contexts specified above.';
+$_lang['user_group_aw_categories_desc'] = 'Čárkou oddělený seznam kategorií elementů v rámci výše uvedených kontextů, ke kterým má mít uživatelská skupina přístup.';
+
+// $_lang['user_group_aw_parallel'] = 'Create Parallel Resource Group';
+$_lang['user_group_aw_parallel'] = 'Současně založit skupinu dokumentů';
+
+// $_lang['user_group_aw_parallel_desc'] = 'If checked, will automatically create a Resource Group with the same name, and give this User Group view access to it in the Contexts specified above.';
+$_lang['user_group_aw_parallel_desc'] = 'Zaškrtnutím se po uložení automaticky vytvoří skupina dokumentů stejného názvu a budou ji nastavena práva pro zobrazení touto uživatelskou skupinou v rámci výše uvedených kontextů.';
+
+
// $_lang['user_group_category_access'] = 'Element Category Access';
$_lang['user_group_category_access'] = 'Přístup uživatelské skupiny ke kategoriím';
@@ -7,7 +7,7 @@
* @subpackage lexicon
*
* @author modxcms.cz
- * @updated 2012-04-01
+ * @updated 2012-05-01
*/
// $_lang['access'] = 'Access';
$_lang['access'] = 'Přístup';
@@ -1260,6 +1260,12 @@
// $_lang['service_url'] = 'Service URL';
$_lang['service_url'] = 'Servisní URL';
+// $_lang['session_extended'] = 'Session extended!';
+$_lang['session_extended'] = 'Session prodloužena!';
+
+// $_lang['session_logging_out'] = 'Your session has expired. Please proceed to login again.';
+$_lang['session_logging_out'] = 'Vaše session vypršela. Přihlašte se znovu.';
+
// $_lang['set'] = 'Set';
$_lang['set'] = 'Nastavit';
@@ -1476,6 +1482,9 @@
// $_lang['upload'] = 'Upload';
$_lang['upload'] = 'Nahrát';
+// $_lang['username'] = 'Username';
+$_lang['username'] = 'Uživatelské jméno';
+
// $_lang['value'] = 'Value';
$_lang['value'] = 'Hodnota';
@@ -7,7 +7,7 @@
* @subpackage lexicon
*
* @author modxcms.cz
- * @updated 2012-04-01
+ * @updated 2012-05-01
*/
// $_lang['area'] = 'Area';
$_lang['area'] = 'Oblast';
@@ -916,6 +916,12 @@
// $_lang['setting_manager_use_tabs_desc'] = 'If true, the manager will use tabs for rendering the content panes. Otherwise, it will use portals.';
$_lang['setting_manager_use_tabs_desc'] = 'Je-li aktivní, správce obsahu použije pro vykreslení obsahu záložky, jinak budou panely vykresleny pod sebou.';
+// $_lang['setting_manager_week_start'] = 'Week start';
+$_lang['setting_manager_week_start'] = 'Začátek týdne';
+
+// $_lang['setting_manager_week_start_desc'] = 'Define the day starting the week. Use 0 (or leave empty) for sunday, 1 for monday and so on...';
+$_lang['setting_manager_week_start_desc'] = 'Určuje den, kterým začíná týden. 0 nebo prázdné pole je neděle, 1 pondělí, atd. ';
+
// $_lang['setting_modRequest.class'] = 'Request Handler Class';
$_lang['setting_modRequest.class'] = 'Třída obsluhy dotazu';
@@ -7,7 +7,7 @@
* @subpackage lexicon
*
* @author modxcms.cz
- * @updated 2012-04-01
+ * @updated 2012-05-01
*/
// $_lang['active'] = 'Active';
$_lang['active'] = 'Aktivní';
@@ -213,6 +213,9 @@
// $_lang['user_doesnt_exist'] = 'User does not exist';
$_lang['user_doesnt_exist'] = 'Uživatel neexistuje';
+// $_lang['user_duplicate'] = 'Duplicate User';
+$_lang['user_duplicate'] = 'Zkopírovat uživatele';
+
// $_lang['user_edit_self_msg'] = 'You may need to log out and log in again after saving to fully update your information.</strong><br>Also, should you choose to generate a new password for yourself, it will be sent to you through e-mail.';
$_lang['user_edit_self_msg'] = 'Nejspíše se budete muset odhlásit a poté znovu přihlásit, pro úplné aktualizování profilu.</strong><br>Také je doporučeno nechat si vygenerovat nové heslo, bude Vám posláno e-mailem.';
@@ -367,33 +367,37 @@ public function filter(&$element) {
case 'increment':
case 'incr':
/* Returns input incremented by option (default: +1) */
- if (empty($m_val))
+ if (empty($m_val) && $m_val !== 0 && $m_val !== '0') {
$m_val = 1;
+ }
$output = (float)$output + (float)$m_val;
break;
case 'subtract':
case 'decrement':
case 'decr':
/* Returns input decremented by option (default: -1) */
- if (empty($m_val))
+ if (empty($m_val) && $m_val !== 0 && $m_val !== '0') {
$m_val = 1;
+ }
$output = (float)$output - (float)$m_val;
break;
case 'multiply':
case 'mpy':
/* Returns input multiplied by option (default: *2) */
- if (empty($m_val))
+ if (empty($m_val) && $m_val !== 0 && $m_val !== '0') {
$m_val = 1;
+ }
$output = (float)$output * (float)$m_val;
break;
case 'divide':
case 'div':
/* Returns input divided by option (default: /2) */
- if (empty($m_val))
+ if (empty($m_val)) {
$m_val = 2;
+ }
if (!empty($output)) {
$output = (float)$output / (float)$m_val;
} else {
@@ -0,0 +1,54 @@
+<?php
+/**
+ * @package modx
+ * @subpackage processors.security.group.category
+ */
+class modSecurityAccessUserGroupSourceCreateProcessor extends modObjectCreateProcessor {
+ public $classKey = 'sources.modAccessMediaSource';
+ public $languageTopics = array('source','access','user');
+ public $permission = 'access_permissions';
+ public $elementType = 'source';
+
+ public function beforeSet() {
+ $policyId = $this->getProperty('policy');
+ $principalId = $this->getProperty('principal');
+ $target = $this->getProperty('target');
+
+ if ($principalId == null) {
+ $this->addFieldError('principal',$this->modx->lexicon('usergroup_err_ns'));
+ }
+ if (empty($policyId)) {
+ $this->addFieldError('policy',$this->modx->lexicon('access_policy_err_ns'));
+ }
+
+ /* validate for invalid data */
+ if (!empty($target)) {
+ /** @var modMediaSource $mediaSource */
+ $mediaSource = $this->modx->getObject('sources.modMediaSource',$target);
+ if (empty($mediaSource)) $this->addFieldError('target',$this->modx->lexicon('source_err_nf'));
+ if (!$mediaSource->checkPolicy('view')) $this->addFieldError('target',$this->modx->lexicon('access_denied'));
+ }
+
+ $policy = $this->modx->getObject('modAccessPolicy',$policyId);
+ if (empty($policy)) $this->addFieldError('policy',$this->modx->lexicon('access_policy_err_nf'));
+
+ return parent::beforeSave();
+ }
+
+ public function beforeSave() {
+ if ($this->doesAlreadyExist(array(
+ 'principal' => $this->getProperty('principal'),
+ 'principal_class' => 'modUserGroup',
+ 'target' => $this->getProperty('target'),
+ 'policy' => $this->getProperty('policy'),
+ 'context_key' => $this->getProperty('context_key'),
+ ))) {
+ $this->addFieldError('target',$this->modx->lexicon('access_source_err_ae'));
+ }
+
+ $this->object->set('principal_class','modUserGroup');
+ return parent::beforeSave();
+ }
+
+}
+return 'modSecurityAccessUserGroupSourceCreateProcessor';
@@ -1,46 +0,0 @@
-<?php
-/**
- * @package modx
- * @subpackage processors.security.group.category
- */
-if (!$modx->hasPermission('access_permissions')) return $modx->error->failure($modx->lexicon('permission_denied'));
-$modx->lexicon->load('access','user','source');
-
-/* validate for empty fields */
-if (!isset($scriptProperties['principal'])) $modx->error->addField('principal',$modx->lexicon('usergroup_err_ns'));
-if (empty($scriptProperties['policy'])) $modx->error->addField('policy',$modx->lexicon('access_policy_err_ns'));
-if (!isset($scriptProperties['authority'])) $modx->error->addField('authority',$modx->lexicon('authority_err_ns'));
-
-if ($modx->error->hasError()) return $modx->error->failure();
-
-/* validate for invalid data */
-if (!empty($scriptProperties['target'])) {
- /** @var modMediaSource $source */
- $source = $modx->getObject('sources.modMediaSource',$scriptProperties['target']);
- if (empty($source)) $modx->error->addField('target',$modx->lexicon('source_err_nf'));
- if (!$source->checkPolicy('view')) $modx->error->addField('target',$modx->lexicon('access_denied'));
-}
-
-$policy = $modx->getObject('modAccessPolicy',$scriptProperties['policy']);
-if (empty($policy)) $modx->error->addField('policy',$modx->lexicon('access_policy_err_nf'));
-
-$alreadyExists = $modx->getObject('modAccessCategory',array(
- 'principal' => $scriptProperties['principal'],
- 'principal_class' => 'modUserGroup',
- 'target' => $scriptProperties['target'],
- 'policy' => $scriptProperties['policy'],
- 'context_key' => $scriptProperties['context_key'],
-));
-if ($alreadyExists) $modx->error->addField('target',$modx->lexicon('access_source_err_ae'));
-
-if ($modx->error->hasError()) return $modx->error->failure();
-
-/* create object */
-$acl = $modx->newObject('source.modAccessMediaSource');
-$acl->fromArray($scriptProperties);
-$acl->set('principal_class','modUserGroup');
-if ($acl->save() == false) {
- return $modx->error->failure($modx->lexicon('access_source_err_save'));
-}
-
-return $modx->error->success('',$acl);
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Remove a Media Source ACL for a usergroup
+ *
+ * @param integer $id The ID of the ACL
+ *
+ * @package modx
+ * @subpackage processors.security.access.source
+ */
+class modSecurityAccessUserGroupSourceRemoveProcessor extends modObjectRemoveProcessor {
+ public $classKey = 'sources.modAccessMediaSource';
+ public $languageTopics = array('source','access','user');
+ public $permission = 'access_permissions';
+ public $elementType = 'access_source';
+}
+return 'modSecurityAccessUserGroupSourceRemoveProcessor';
@@ -1,23 +0,0 @@
-<?php
-/**
- * Remove a Media Source ACL for a usergroup
- *
- * @param integer $id The ID of the ACL
- *
- * @package modx
- * @subpackage processors.security.access.source
- */
-if (!$modx->hasPermission('access_permissions')) return $modx->error->failure($modx->lexicon('permission_denied'));
-$modx->lexicon->load('access');
-
-/* get usergroup acl */
-if (empty($scriptProperties['id'])) return $modx->error->failure($modx->lexicon('access_source_err_ns'));
-$acl = $modx->getObject('sources.modAccessMediaSource',$scriptProperties['id']);
-if (empty($acl)) return $modx->error->failure($modx->lexicon('access_source_err_nf').print_r($scriptProperties,true));
-
-/* remove acl */
-if ($acl->remove() == false) {
- return $modx->error->failure($modx->lexicon('access_source_err_remove'));
-}
-
-return $modx->error->success();
Oops, something went wrong.

0 comments on commit 9138e01

Please sign in to comment.