diff --git a/CHANGELOG b/CHANGELOG
index 6016c0f..832973f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,5 @@
+Add option to make your own font small
+
Version 1.22.1 - Nov. 13, 2016
Performance optimizations
Fix initialization on first setup
diff --git a/chat.php b/chat.php
index bbeb6fc..bb87e9c 100644
--- a/chat.php
+++ b/chat.php
@@ -1882,7 +1882,11 @@ function send_profile($arg=''){
if(strpos($U['style'], 'font-style:italic;')!==false){
echo ' checked';
}
- echo ">$I[italic]";
+ echo ">$I[italic]
| | ";
thr();
}
echo ''.style_this(htmlspecialchars($U['nickname'])." : $I[fontexample]", $U['style']).' |
';
@@ -2682,27 +2686,29 @@ function amend_profile(){
$U['refresh']=150;
}
if(preg_match('/^#([a-f0-9]{6})$/i', $_REQUEST['colour'], $match)){
- $U['colour']=$match[1];
+ $colour=$match[1];
}else{
preg_match('/#([0-9a-f]{6})/i', $U['style'], $matches);
- $U['colour']=$matches[1];
+ $colour=$matches[1];
}
if(preg_match('/^#([a-f0-9]{6})$/i', $_REQUEST['bgcolour'], $match)){
$U['bgcolour']=$match[1];
}
- $fonttags='';
- if($U['status']>=3 && isSet($_REQUEST['bold'])){
- $fonttags.='b';
+ $U['style']="color:#$colour;";
+ if($U['status']>=3){
+ if(isSet($F[$_REQUEST['font']])){
+ $U['style'].=$F[$_REQUEST['font']];
+ }
+ if(isSet($_REQUEST['small'])){
+ $U['style'].='font-size:smaller;';
+ }
+ if(isSet($_REQUEST['italic'])){
+ $U['style'].='font-style:italic;';
+ }
+ if(isSet($_REQUEST['bold'])){
+ $U['style'].='font-weight:bold;';
+ }
}
- if($U['status']>=3 && isSet($_REQUEST['italic'])){
- $fonttags.='i';
- }
- if($U['status']>=3 && isSet($F[$_REQUEST['font']])){
- $fontface=$F[$_REQUEST['font']];
- }else{
- $fontface='';
- }
- $U['style']=get_style("#$U[colour] $fontface <$fonttags>");
if($_REQUEST['boxwidth']>0 && $_REQUEST['boxwidth']<1000){
$U['boxwidth']=$_REQUEST['boxwidth'];
}
@@ -2835,12 +2841,12 @@ function add_user_defaults($password){
$U['bgcolour']=get_setting('colbg');
if(!isSet($_REQUEST['colour']) || !preg_match('/^[a-f0-9]{6}$/i', $_REQUEST['colour']) || abs(greyval($_REQUEST['colour'])-greyval(get_setting('colbg')))<75){
do{
- $U['colour']=sprintf('%02X', mt_rand(0, 256)).sprintf('%02X', mt_rand(0, 256)).sprintf('%02X', mt_rand(0, 256));
- }while(abs(greyval($U['colour'])-greyval(get_setting('colbg')))<75);
+ $colour=sprintf('%02X', mt_rand(0, 256)).sprintf('%02X', mt_rand(0, 256)).sprintf('%02X', mt_rand(0, 256));
+ }while(abs(greyval($colour)-greyval(get_setting('colbg')))<75);
}else{
- $U['colour']=$_REQUEST['colour'];
+ $colour=$_REQUEST['colour'];
}
- $U['style']=get_style("#$U[colour]");
+ $U['style']="color:#$colour;";
$U['boxwidth']=40;
$U['boxheight']=3;
$U['timestamps']=get_setting('timestamps');
@@ -3454,37 +3460,6 @@ function greyval($colour){
return hexdec(substr($colour, 0, 2))*.3+hexdec(substr($colour, 2, 2))*.59+hexdec(substr($colour, 4, 2))*.11;
}
-function get_style($styleinfo){
- $fbold=preg_match('/(|:bold)/', $styleinfo);
- $fitalic=preg_match('/(|:italic)/', $styleinfo);
- $fsmall=strpos($styleinfo, ':smaller');
- preg_match('/(#[a-f0-9]{6})/i', $styleinfo, $match);
- if(isSet($match[0])){
- $fcolour=$match[0];
- }
- preg_match('/font-family:([^;]+);/', $styleinfo, $match);
- if(isSet($match[1])){
- $sface=$match[1];
- }
- $fstyle='';
- if(isSet($fcolour)){
- $fstyle.="color:$fcolour;";
- }
- if(isSet($sface)){
- $fstyle.="font-family:$sface;";
- }
- if($fsmall){
- $fstyle.='font-size:smaller;';
- }
- if($fitalic){
- $fstyle.='font-style:italic;';
- }
- if($fbold){
- $fstyle.='font-weight:bold;';
- }
- return $fstyle;
-}
-
function style_this($text, $styleinfo){
return "$text";
}
@@ -3694,12 +3669,16 @@ function update_db(){
$result=$db->query('SELECT * FROM ' . PREFIX . 'members;');
$stmt=$db->prepare('UPDATE ' . PREFIX . 'members SET style=? WHERE id=?;');
while($temp=$result->fetch(PDO::FETCH_ASSOC)){
+ $style="color:#$temp[colour];";
if(isSet($F[$temp['fontface']])){
- $fontface=$F[$temp['fontface']];
- }else{
- $fontface='';
+ $style.=$F[$temp['fontface']];
+ }
+ if(strpos($temp['fonttags'], 'i')!==false){
+ $style.='font-style:italic;';
+ }
+ if(strpos($temp['fonttags'], 'b')!==false){
+ $style.='font-weight:bold;';
}
- $style=get_style("#$temp[colour] $fontface <$temp[fonttags]>");
$stmt->execute([$style, $temp['id']]);
}
$db->exec('ALTER TABLE ' . PREFIX . 'members DROP colour, DROP fontface, DROP fonttags;');
@@ -4020,7 +3999,6 @@ function load_fonts(){
'Arial' =>"font-family:'Arial','Helvetica','sans-serif';",
'Book Antiqua' =>"font-family:'Book Antiqua','MS Gothic';",
'Comic' =>"font-family:'Comic Sans MS','Papyrus';",
- 'Comic small' =>"font-family:'Comic Sans MS','Papyrus';font-size:smaller;",
'Courier' =>"font-family:'Courier New','Courier','monospace';",
'Cursive' =>"font-family:'Cursive','Papyrus';",
'Fantasy' =>"font-family:'Fantasy','Futura','Papyrus';",
@@ -4030,7 +4008,6 @@ function load_fonts(){
'System' =>"font-family:'System','Chicago','sans-serif';",
'Times New Roman' =>"font-family:'Times New Roman','Times','serif';",
'Verdana' =>"font-family:'Verdana','Geneva','Arial','Helvetica','sans-serif';",
- 'Verdana small' =>"font-family:'Verdana','Geneva','Arial','Helvetica','sans-serif';font-size:smaller;"
];
}
diff --git a/lang_de.php b/lang_de.php
index 44a84a5..d813a5f 100644
--- a/lang_de.php
+++ b/lang_de.php
@@ -151,6 +151,7 @@ $T=[
'roomdefault' => 'Raumstandard',
'bold' => 'Fett',
'italic' => 'Kursiv',
+ 'small' => 'Klein',
'fontexample' => 'Beispiel für Ihre gewählte Schrift',
'timestamps' => 'Zeitstempel anzeigen',
'embed' => 'Bilder einbetten',
diff --git a/lang_en.php b/lang_en.php
index 2cd3bb9..a952908 100644
--- a/lang_en.php
+++ b/lang_en.php
@@ -151,6 +151,7 @@ $I=[
'roomdefault' => 'Room Default',
'bold' => 'Bold',
'italic' => 'Italic',
+ 'small' => 'Small',
'fontexample' => 'Example for your chosen font',
'timestamps' => 'Show Timestamps',
'embed' => 'Embed images',