PSR-12 coding standards compliance
Add phpcs/phpcbf tooling (composer require-dev, scripts, .phpcs.xml). Auto-fix tabs to spaces across all PHP files (phpcbf). Add missing doc comments for classes and constructors. Add missing @param tags on public/private methods.
This commit is contained in:
47
.phpcs.xml
Normal file
47
.phpcs.xml
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<ruleset name="NextBridge">
|
||||||
|
<description>PSR-12 coding standard for NextBridge RoundCube plugin</description>
|
||||||
|
|
||||||
|
<!-- Use PSR-12 as base with RoundCube-specific exclusions -->
|
||||||
|
<rule ref="PSR12">
|
||||||
|
<!-- Allow longer lines for readability -->
|
||||||
|
<exclude name="Generic.Files.LineLength"/>
|
||||||
|
<!-- RoundCube plugins don't use namespaces -->
|
||||||
|
<exclude name="PSR1.Classes.ClassDeclaration.MissingNamespace"/>
|
||||||
|
<!-- RoundCube plugins use lowercase class names by convention -->
|
||||||
|
<exclude name="Squiz.Classes.ValidClassName.NotCamelCaps"/>
|
||||||
|
<!-- RoundCube plugins can have side effects (require_once) -->
|
||||||
|
<exclude name="PSR1.Files.SideEffects.FoundWithSymbols"/>
|
||||||
|
<!-- RoundCube hooks use snake_case method names by convention -->
|
||||||
|
<exclude name="PSR1.Methods.CamelCapsMethodName.NotCamelCaps"/>
|
||||||
|
</rule>
|
||||||
|
|
||||||
|
<!-- Allow @url/@link in class doc comments -->
|
||||||
|
<rule ref="Squiz.Commenting.ClassComment">
|
||||||
|
<exclude name="Squiz.Commenting.ClassComment.TagNotAllowed"/>
|
||||||
|
</rule>
|
||||||
|
<rule ref="Squiz.Commenting.FunctionComment">
|
||||||
|
<exclude name="Squiz.Commenting.FunctionComment.MissingReturn"/>
|
||||||
|
</rule>
|
||||||
|
|
||||||
|
<!-- Line length: warn at 120, no hard limit -->
|
||||||
|
<rule ref="Generic.Files.LineLength">
|
||||||
|
<properties>
|
||||||
|
<property name="lineLimit" value="120"/>
|
||||||
|
<property name="absoluteLineLimit" value="0"/>
|
||||||
|
</properties>
|
||||||
|
</rule>
|
||||||
|
|
||||||
|
<!-- Require class documentation -->
|
||||||
|
<rule ref="Squiz.Commenting.ClassComment"/>
|
||||||
|
|
||||||
|
<!-- Require function documentation with @param and @return -->
|
||||||
|
<rule ref="Squiz.Commenting.FunctionComment"/>
|
||||||
|
|
||||||
|
<!-- Files to check -->
|
||||||
|
<file>ident_switch.php</file>
|
||||||
|
<file>lib/</file>
|
||||||
|
|
||||||
|
<!-- Exclude vendor directories -->
|
||||||
|
<exclude-pattern>*/vendor/*</exclude-pattern>
|
||||||
|
</ruleset>
|
||||||
@@ -38,6 +38,9 @@
|
|||||||
"roundcube/plugin-installer": ">=0.3.0",
|
"roundcube/plugin-installer": ">=0.3.0",
|
||||||
"ext-ctype": "*"
|
"ext-ctype": "*"
|
||||||
},
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"squizlabs/php_codesniffer": "^3.0"
|
||||||
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"boressoft/ident_switch": "*",
|
"boressoft/ident_switch": "*",
|
||||||
"elm/identity_smtp": "*",
|
"elm/identity_smtp": "*",
|
||||||
@@ -51,5 +54,14 @@
|
|||||||
"min-version": "1.6",
|
"min-version": "1.6",
|
||||||
"sql-dir": "SQL"
|
"sql-dir": "SQL"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"phpcs": "phpcs",
|
||||||
|
"phpcbf": "phpcbf"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"allow-plugins": {
|
||||||
|
"roundcube/plugin-installer": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
158
composer.lock
generated
Normal file
158
composer.lock
generated
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
{
|
||||||
|
"_readme": [
|
||||||
|
"This file locks the dependencies of your project to a known state",
|
||||||
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
|
"This file is @generated automatically"
|
||||||
|
],
|
||||||
|
"content-hash": "46b2d3558cb304fde0539d1b85971382",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"name": "roundcube/plugin-installer",
|
||||||
|
"version": "0.3.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/roundcube/plugin-installer.git",
|
||||||
|
"reference": "c4335e20b86cfe3a184ccf24d675c6a0338a372a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/roundcube/plugin-installer/zipball/c4335e20b86cfe3a184ccf24d675c6a0338a372a",
|
||||||
|
"reference": "c4335e20b86cfe3a184ccf24d675c6a0338a372a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"composer-plugin-api": "^1.0 || ^2.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"composer/composer": "*"
|
||||||
|
},
|
||||||
|
"type": "composer-plugin",
|
||||||
|
"extra": {
|
||||||
|
"class": [
|
||||||
|
"Roundcube\\Composer\\RoundcubeInstaller"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Roundcube\\Composer": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"GPL-3.0+"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Thomas Bruederli",
|
||||||
|
"email": "thomas@roundcube.net"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Till Klampaeckel",
|
||||||
|
"email": "till@php.net"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Philip Weir",
|
||||||
|
"email": "roundcube@tehinterweb.co.uk"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A composer-installer for Roundcube plugins and skins.",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/roundcube/plugin-installer/issues",
|
||||||
|
"source": "https://github.com/roundcube/plugin-installer/tree/0.3.2"
|
||||||
|
},
|
||||||
|
"time": "2022-06-24T09:08:18+00:00"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"packages-dev": [
|
||||||
|
{
|
||||||
|
"name": "squizlabs/php_codesniffer",
|
||||||
|
"version": "3.13.5",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
|
||||||
|
"reference": "0ca86845ce43291e8f5692c7356fccf3bcf02bf4"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/0ca86845ce43291e8f5692c7356fccf3bcf02bf4",
|
||||||
|
"reference": "0ca86845ce43291e8f5692c7356fccf3bcf02bf4",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-simplexml": "*",
|
||||||
|
"ext-tokenizer": "*",
|
||||||
|
"ext-xmlwriter": "*",
|
||||||
|
"php": ">=5.4.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
|
||||||
|
},
|
||||||
|
"bin": [
|
||||||
|
"bin/phpcbf",
|
||||||
|
"bin/phpcs"
|
||||||
|
],
|
||||||
|
"type": "library",
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Greg Sherwood",
|
||||||
|
"role": "Former lead"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Juliette Reinders Folmer",
|
||||||
|
"role": "Current lead"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Contributors",
|
||||||
|
"homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
|
||||||
|
"homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
|
||||||
|
"keywords": [
|
||||||
|
"phpcs",
|
||||||
|
"standards",
|
||||||
|
"static analysis"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues",
|
||||||
|
"security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy",
|
||||||
|
"source": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
|
||||||
|
"wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/PHPCSStandards",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/jrfnl",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://opencollective.com/php_codesniffer",
|
||||||
|
"type": "open_collective"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://thanks.dev/u/gh/phpcsstandards",
|
||||||
|
"type": "thanks_dev"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2025-11-04T16:30:35+00:00"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"aliases": [],
|
||||||
|
"minimum-stability": "stable",
|
||||||
|
"stability-flags": {},
|
||||||
|
"prefer-stable": false,
|
||||||
|
"prefer-lowest": false,
|
||||||
|
"platform": {
|
||||||
|
"php": ">=8.2",
|
||||||
|
"ext-ctype": "*"
|
||||||
|
},
|
||||||
|
"platform-dev": {},
|
||||||
|
"plugin-api-version": "2.6.0"
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ident_switch - Roundcube plugin for fast switching between accounts.
|
* ident_switch - Roundcube plugin for fast switching between accounts.
|
||||||
*
|
*
|
||||||
@@ -19,6 +20,14 @@ require_once __DIR__ . '/lib/IdentSwitchForm.php';
|
|||||||
require_once __DIR__ . '/lib/IdentSwitchSwitcher.php';
|
require_once __DIR__ . '/lib/IdentSwitchSwitcher.php';
|
||||||
require_once __DIR__ . '/lib/IdentSwitchChecker.php';
|
require_once __DIR__ . '/lib/IdentSwitchChecker.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Roundcube plugin for fast switching between multiple IMAP accounts.
|
||||||
|
*
|
||||||
|
* Allows users to configure and switch between multiple mail accounts
|
||||||
|
* (including remote) within a single Roundcube session, with alias support.
|
||||||
|
*
|
||||||
|
* @url https://github.com/Gecka-apps/ident_switch
|
||||||
|
*/
|
||||||
class ident_switch extends rcube_plugin
|
class ident_switch extends rcube_plugin
|
||||||
{
|
{
|
||||||
/** @var string Task regex: active on all tasks except login/logout. */
|
/** @var string Task regex: active on all tasks except login/logout. */
|
||||||
@@ -479,7 +488,7 @@ class ident_switch extends rcube_plugin
|
|||||||
/**
|
/**
|
||||||
* Resolve username for an identity: use stored username or fall back to email.
|
* Resolve username for an identity: use stored username or fall back to email.
|
||||||
*
|
*
|
||||||
* @param int $iid Identity ID.
|
* @param integer $iid Identity ID.
|
||||||
* @param string|null $username Stored username (may be empty).
|
* @param string|null $username Stored username (may be empty).
|
||||||
* @return string Resolved username.
|
* @return string Resolved username.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ident_switch - Background mail checker.
|
* ident_switch - Background mail checker.
|
||||||
*
|
*
|
||||||
@@ -104,8 +105,8 @@ class IdentSwitchChecker
|
|||||||
*
|
*
|
||||||
* @param rcmail $rc Roundcube instance.
|
* @param rcmail $rc Roundcube instance.
|
||||||
* @param array $identity Identity DB record.
|
* @param array $identity Identity DB record.
|
||||||
* @param int $previousCount Previous unseen count (returned on error).
|
* @param integer $previousCount Previous unseen count (returned on error).
|
||||||
* @return int Unseen message count.
|
* @return integer Unseen message count.
|
||||||
*/
|
*/
|
||||||
private function check_unseen(rcmail $rc, array $identity, int $previousCount): int
|
private function check_unseen(rcmail $rc, array $identity, int $previousCount): int
|
||||||
{
|
{
|
||||||
@@ -241,7 +242,7 @@ class IdentSwitchChecker
|
|||||||
*
|
*
|
||||||
* @param rcmail $rc Roundcube instance.
|
* @param rcmail $rc Roundcube instance.
|
||||||
* @param array $identity Identity record.
|
* @param array $identity Identity record.
|
||||||
* @param int $count New unseen count.
|
* @param integer $count New unseen count.
|
||||||
*/
|
*/
|
||||||
private function send_notification(rcmail $rc, array $identity, int $count): void
|
private function send_notification(rcmail $rc, array $identity, int $count): void
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ident_switch - Identity form handling.
|
* ident_switch - Identity form handling.
|
||||||
*
|
*
|
||||||
@@ -21,6 +22,11 @@ class IdentSwitchForm
|
|||||||
|
|
||||||
private ident_switch $plugin;
|
private ident_switch $plugin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
*
|
||||||
|
* @param ident_switch $plugin Parent plugin instance.
|
||||||
|
*/
|
||||||
public function __construct(ident_switch $plugin)
|
public function __construct(ident_switch $plugin)
|
||||||
{
|
{
|
||||||
$this->plugin = $plugin;
|
$this->plugin = $plugin;
|
||||||
@@ -30,6 +36,8 @@ class IdentSwitchForm
|
|||||||
* Build the common form fields for identity settings.
|
* Build the common form fields for identity settings.
|
||||||
*
|
*
|
||||||
* @param array $record Identity record data used for placeholders.
|
* @param array $record Identity record data used for placeholders.
|
||||||
|
* @param boolean $domainAllowed Whether the identity domain has a matching preconfig.
|
||||||
|
* @param string $warningHtml HTML warning message when domain is not allowed.
|
||||||
* @return array Form field definitions for mode select, label, and readonly.
|
* @return array Form field definitions for mode select, label, and readonly.
|
||||||
*/
|
*/
|
||||||
public function get_common_fields(array &$record, bool $domainAllowed = true, string $warningHtml = ''): array
|
public function get_common_fields(array &$record, bool $domainAllowed = true, string $warningHtml = ''): array
|
||||||
@@ -74,7 +82,7 @@ class IdentSwitchForm
|
|||||||
* Get all separate accounts available as alias targets.
|
* Get all separate accounts available as alias targets.
|
||||||
*
|
*
|
||||||
* @param rcmail $rc Roundcube instance.
|
* @param rcmail $rc Roundcube instance.
|
||||||
* @param int|null $excludeIid Identity ID to exclude (the identity being edited).
|
* @param integer|null $excludeIid Identity ID to exclude (the identity being edited).
|
||||||
* @return array List of account records with id, label, username, email.
|
* @return array List of account records with id, label, username, email.
|
||||||
*/
|
*/
|
||||||
private function get_available_accounts(rcmail $rc, ?int $excludeIid): array
|
private function get_available_accounts(rcmail $rc, ?int $excludeIid): array
|
||||||
@@ -301,7 +309,7 @@ class IdentSwitchForm
|
|||||||
* a matching preconfig entry are allowed.
|
* a matching preconfig entry are allowed.
|
||||||
*
|
*
|
||||||
* @param string $email Email address to check.
|
* @param string $email Email address to check.
|
||||||
* @return bool True if allowed, false if blocked by preconfig_only.
|
* @return boolean True if allowed, false if blocked by preconfig_only.
|
||||||
*/
|
*/
|
||||||
private function is_domain_allowed(string $email): bool
|
private function is_domain_allowed(string $email): bool
|
||||||
{
|
{
|
||||||
@@ -365,6 +373,8 @@ class IdentSwitchForm
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Delegate to ident_switch::parse_host_scheme().
|
* Delegate to ident_switch::parse_host_scheme().
|
||||||
|
*
|
||||||
|
* @param string $host Hostname possibly prefixed with ssl:// or tls://.
|
||||||
*/
|
*/
|
||||||
private static function parse_host_scheme(string $host): array
|
private static function parse_host_scheme(string $host): array
|
||||||
{
|
{
|
||||||
@@ -968,7 +978,7 @@ class IdentSwitchForm
|
|||||||
* Otherwise return the raw password as-is.
|
* Otherwise return the raw password as-is.
|
||||||
*
|
*
|
||||||
* @param rcmail $rc Roundcube instance.
|
* @param rcmail $rc Roundcube instance.
|
||||||
* @param int $iid Identity ID.
|
* @param integer $iid Identity ID.
|
||||||
* @param string|null $pass Raw password from POST.
|
* @param string|null $pass Raw password from POST.
|
||||||
* @return string Decrypted or raw password for testing.
|
* @return string Decrypted or raw password for testing.
|
||||||
*/
|
*/
|
||||||
@@ -1146,8 +1156,8 @@ class IdentSwitchForm
|
|||||||
*
|
*
|
||||||
* @param string $section Form section name (common, imap, smtp).
|
* @param string $section Form section name (common, imap, smtp).
|
||||||
* @param string $field Field name within the section.
|
* @param string $field Field name within the section.
|
||||||
* @param bool $trim Whether to trim and nullify empty values.
|
* @param boolean $trim Whether to trim and nullify empty values.
|
||||||
* @param bool $html Whether to allow HTML in the value.
|
* @param boolean $html Whether to allow HTML in the value.
|
||||||
* @return string|null The field value, or null if empty and trimmed.
|
* @return string|null The field value, or null if empty and trimmed.
|
||||||
*/
|
*/
|
||||||
public static function get_field_value(string $section, string $field, bool $trim = true, bool $html = false): ?string
|
public static function get_field_value(string $section, string $field, bool $trim = true, bool $html = false): ?string
|
||||||
@@ -1172,7 +1182,7 @@ class IdentSwitchForm
|
|||||||
*
|
*
|
||||||
* @param rcmail $rc Roundcube instance for DB access and encryption.
|
* @param rcmail $rc Roundcube instance for DB access and encryption.
|
||||||
* @param array $data Validated field data including 'id' (identity_id).
|
* @param array $data Validated field data including 'id' (identity_id).
|
||||||
* @return bool True if a query was executed, false otherwise.
|
* @return boolean True if a query was executed, false otherwise.
|
||||||
*/
|
*/
|
||||||
public function save(rcmail $rc, array $data): bool
|
public function save(rcmail $rc, array $data): bool
|
||||||
{
|
{
|
||||||
@@ -1261,8 +1271,8 @@ class IdentSwitchForm
|
|||||||
* Creates or updates an ident_switch record with parent_id set and
|
* Creates or updates an ident_switch record with parent_id set and
|
||||||
* all server fields cleared (alias uses parent's config).
|
* all server fields cleared (alias uses parent's config).
|
||||||
*
|
*
|
||||||
* @param int $iid Identity ID of the alias.
|
* @param integer $iid Identity ID of the alias.
|
||||||
* @param int $parentId ident_switch.id of the parent account.
|
* @param integer $parentId Ident_switch.id of the parent account.
|
||||||
*/
|
*/
|
||||||
private function save_alias(int $iid, int $parentId): void
|
private function save_alias(int $iid, int $parentId): void
|
||||||
{
|
{
|
||||||
@@ -1306,7 +1316,7 @@ class IdentSwitchForm
|
|||||||
/**
|
/**
|
||||||
* Disable the ident_switch flag for a given identity.
|
* Disable the ident_switch flag for a given identity.
|
||||||
*
|
*
|
||||||
* @param int $iid Identity ID to disable.
|
* @param integer $iid Identity ID to disable.
|
||||||
*/
|
*/
|
||||||
public function disable(int $iid): void
|
public function disable(int $iid): void
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ident_switch - Preconfiguration handler.
|
* ident_switch - Preconfiguration handler.
|
||||||
*
|
*
|
||||||
@@ -17,6 +18,11 @@ class IdentSwitchPreconfig
|
|||||||
{
|
{
|
||||||
private ident_switch $plugin;
|
private ident_switch $plugin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
*
|
||||||
|
* @param ident_switch $plugin Parent plugin instance.
|
||||||
|
*/
|
||||||
public function __construct(ident_switch $plugin)
|
public function __construct(ident_switch $plugin)
|
||||||
{
|
{
|
||||||
$this->plugin = $plugin;
|
$this->plugin = $plugin;
|
||||||
@@ -55,7 +61,7 @@ class IdentSwitchPreconfig
|
|||||||
* and port, then sets the username and delimiter based on config values.
|
* and port, then sets the username and delimiter based on config values.
|
||||||
*
|
*
|
||||||
* @param array $record Identity record to modify (passed by reference).
|
* @param array $record Identity record to modify (passed by reference).
|
||||||
* @return bool True if the preconfig is readonly, false otherwise.
|
* @return boolean True if the preconfig is readonly, false otherwise.
|
||||||
*/
|
*/
|
||||||
public function apply(array &$record): bool
|
public function apply(array &$record): bool
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ident_switch - Account switching handler.
|
* ident_switch - Account switching handler.
|
||||||
*
|
*
|
||||||
@@ -281,7 +282,8 @@ class IdentSwitchSwitcher
|
|||||||
{
|
{
|
||||||
$rc = rcmail::get_instance();
|
$rc = rcmail::get_instance();
|
||||||
|
|
||||||
if ($args['section'] === 'folders'
|
if (
|
||||||
|
$args['section'] === 'folders'
|
||||||
&& strcasecmp($rc->user->data['username'], $_SESSION['username']) !== 0
|
&& strcasecmp($rc->user->data['username'], $_SESSION['username']) !== 0
|
||||||
) {
|
) {
|
||||||
$no_override = array_flip((array)$rc->config->get('dont_override'));
|
$no_override = array_flip((array)$rc->config->get('dont_override'));
|
||||||
@@ -328,7 +330,8 @@ class IdentSwitchSwitcher
|
|||||||
{
|
{
|
||||||
$rc = rcmail::get_instance();
|
$rc = rcmail::get_instance();
|
||||||
|
|
||||||
if ($args['section'] === 'folders'
|
if (
|
||||||
|
$args['section'] === 'folders'
|
||||||
&& strcasecmp($rc->user->data['username'], $_SESSION['username']) !== 0
|
&& strcasecmp($rc->user->data['username'], $_SESSION['username']) !== 0
|
||||||
) {
|
) {
|
||||||
$sql = 'SELECT id FROM ' . $rc->db->table_name(ident_switch::TABLE) . ' WHERE iid = ? AND user_id = ?';
|
$sql = 'SELECT id FROM ' . $rc->db->table_name(ident_switch::TABLE) . ' WHERE iid = ? AND user_id = ?';
|
||||||
@@ -382,7 +385,7 @@ class IdentSwitchSwitcher
|
|||||||
* For primary account (identId=-1), iid is 0.
|
* For primary account (identId=-1), iid is 0.
|
||||||
* For secondary accounts, look up iid from the ident_switch table.
|
* For secondary accounts, look up iid from the ident_switch table.
|
||||||
*
|
*
|
||||||
* @param int|null $iid Known iid (0 for primary), or null to look up.
|
* @param integer|null $iid Known iid (0 for primary), or null to look up.
|
||||||
* @param rcmail $rc Roundcube instance.
|
* @param rcmail $rc Roundcube instance.
|
||||||
* @param mixed $identId The ident_switch.id value for secondary accounts.
|
* @param mixed $identId The ident_switch.id value for secondary accounts.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user