То, что я сделал до сих пор, - написать функцию, которую я вызываю на другой странице:
<div style="<?php echo groupColor($_SESSION['username']);?>"><?php echo $_SESSION['username'];?></div>
Что он делает, что извлекает стиль username_css
из xf_user_group
и таким образом я могу покрасить имя пользователя пользователя по цвету, который у них есть на форуме форума xenforo (все username_css содержат color: #somecolorcode;
)
function groupColor($username) {
global $xenforo;
$xf_getuser = $xenforo->query("SELECT * FROM xf_user WHERE username = '".$username."'");
if($xf_getuser->num_rows >= 1) {
$fetch_xf_getuser = $xf_getuser->fetch_array();
$fetch_xf_getuser_group = $fetch_xf_getuser["display_style_group_id"];
$xf_getgroupstyle = $xenforo->query("SELECT * FROM xf_user_group WHERE user_group_id = '".$fetch_xf_getuser_group."'");
if($xf_getgroupstyle->num_rows >= 1) {
$fetch_xf_getgroupstyle = $xf_getgroupstyle->fetch_array();
$result_forum_css = $fetch_xf_getgroupstyle["username_css"];
return $result_forum_css;
} else {
die(mysqli_error($xenforo));
}
} else {
die(mysqli_error($xenforo));
}
}
То, что я хочу сделать сейчас, - это только извлечение color: #somecolorcode;
от username_css
поэтому я могу использовать его для цвет фона вместо этого, например: background-color: #somecolorcode;
Любая идея, как я должен продолжать? Вся помощь приветствуется, и извините за плохой титул, я не уверен, что называется методом.
EDIT 1: строка username_css
содержит не только color: #colorcode;
но и такие вещи, как: font-weight: bold; font-style: italic; color: red;
font-weight: bold; font-style: italic; color: red;
Вместо строки ниже.
return $result_forum_css;
замените его на это.
$total_prop = count($result_forum_css);
$explode_result = explode(";",$result_forum_css);
return $explode_result[$total_prop-2];
Здесь, основываясь на вашем комментарии, мы будем считать итоговый результат, и последний результат всегда будет пустым, поэтому мы получаем второй последний элемент и чтобы мы отрицали общий счет с помощью 2.
echo $result_forum_css;
и дайте мне знать, что он будет выводить?
Вы можете попробовать получить все данные после цвета: с помощью strpos и substr:
$css = "color:#000000;";
$color = substr($css, strpos($css, ':')+1, 7);
// Color is #000000
echo $color;