Rework Profile::getThemeUid to ignore query parameter and include $a->profile_uid
- Use new version in frio default.php file - Use new version in Theme::getStylesheetPath
This commit is contained in:
parent
1bdb3c916a
commit
abf20368b0
|
@ -9,6 +9,7 @@ namespace Friendica\Core;
|
||||||
use Friendica\BaseObject;
|
use Friendica\BaseObject;
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
use Friendica\Core\System;
|
use Friendica\Core\System;
|
||||||
|
use Friendica\Model\Profile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Some functions to handle themes
|
* Some functions to handle themes
|
||||||
|
@ -196,16 +197,11 @@ class Theme
|
||||||
|
|
||||||
$query_params = [];
|
$query_params = [];
|
||||||
|
|
||||||
// Workaround for iOS Safari not initially sending the cookie for static files
|
$puid = Profile::getThemeUid($a);
|
||||||
if ($a->mobileDetect->isIos() && $a->mobileDetect->isSafari()) {
|
if ($puid) {
|
||||||
$query_params['t'] = time();
|
$query_params['puid'] = $puid;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($a->profile_uid) {
|
|
||||||
$query_params['puid'] = $a->profile_uid;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (file_exists('view/theme/' . $theme . '/style.php')) {
|
if (file_exists('view/theme/' . $theme . '/style.php')) {
|
||||||
return 'view/theme/' . $theme . '/style.pcss' . (!empty($query_params) ? '?' . http_build_query($query_params) : '');
|
return 'view/theme/' . $theme . '/style.pcss' . (!empty($query_params) ? '?' . http_build_query($query_params) : '');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1176,7 +1176,7 @@ class Profile
|
||||||
* Get the user ID of the page owner.
|
* Get the user ID of the page owner.
|
||||||
*
|
*
|
||||||
* Used from within PCSS themes to set theme parameters. If there's a
|
* Used from within PCSS themes to set theme parameters. If there's a
|
||||||
* puid request variable, that is the "page owner" and normally their theme
|
* profile_uid variable set in App, that is the "page owner" and normally their theme
|
||||||
* settings take precedence; unless a local user sets the "always_my_theme"
|
* settings take precedence; unless a local user sets the "always_my_theme"
|
||||||
* system pconfig, which means they don't want to see anybody else's theme
|
* system pconfig, which means they don't want to see anybody else's theme
|
||||||
* settings except their own while on this site.
|
* settings except their own while on this site.
|
||||||
|
@ -1184,13 +1184,12 @@ class Profile
|
||||||
* @brief Get the user ID of the page owner
|
* @brief Get the user ID of the page owner
|
||||||
* @return int user ID
|
* @return int user ID
|
||||||
*
|
*
|
||||||
* @note Returns local_user instead of user ID if "always_my_theme"
|
* @note Returns local_user instead of user ID if "always_my_theme" is set to true
|
||||||
* is set to true
|
|
||||||
*/
|
*/
|
||||||
public static function getThemeUid()
|
public static function getThemeUid(App $a)
|
||||||
{
|
{
|
||||||
$uid = (!empty($_REQUEST['puid']) ? intval($_REQUEST['puid']) : 0);
|
$uid = !empty($a->profile_uid) ? intval($a->profile_uid) : 0;
|
||||||
if ((local_user()) && ((PConfig::get(local_user(), 'system', 'always_my_theme')) || (!$uid))) {
|
if (local_user() && (PConfig::get(local_user(), 'system', 'always_my_theme') || !$uid)) {
|
||||||
return local_user();
|
return local_user();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1198,7 +1197,7 @@ class Profile
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stip zrl parameter from a string.
|
* Strip zrl parameter from a string.
|
||||||
*
|
*
|
||||||
* @param string $s The input string.
|
* @param string $s The input string.
|
||||||
* @return string The zrl.
|
* @return string The zrl.
|
||||||
|
|
|
@ -42,10 +42,7 @@ $is_singleuser_class = $is_singleuser ? "is-singleuser" : "is-not-singleuser";
|
||||||
|
|
||||||
// Add the theme color meta
|
// Add the theme color meta
|
||||||
// It makes mobile Chrome UI match Frio's top bar color.
|
// It makes mobile Chrome UI match Frio's top bar color.
|
||||||
$uid = $a->profile_uid;
|
$uid = Profile::getThemeUid($a);
|
||||||
if (is_null($uid)) {
|
|
||||||
$uid = Profile::getThemeUid();
|
|
||||||
}
|
|
||||||
$scheme = PConfig::get($uid, 'frio', 'scheme', PConfig::get($uid, 'frio', 'schema'));
|
$scheme = PConfig::get($uid, 'frio', 'scheme', PConfig::get($uid, 'frio', 'schema'));
|
||||||
if ($scheme && ($scheme != '---')) {
|
if ($scheme && ($scheme != '---')) {
|
||||||
if (file_exists('view/theme/frio/scheme/' . $scheme . '.php')) {
|
if (file_exists('view/theme/frio/scheme/' . $scheme . '.php')) {
|
||||||
|
|
Loading…
Reference in a new issue