]> git.mxchange.org Git - friendica.git/commitdiff
Merge remote-tracking branch 'origin/Issue-#3878' into Issue-#3878
authorAdam Magness <adam.magness@gmail.com>
Wed, 8 Nov 2017 13:38:04 +0000 (08:38 -0500)
committerAdam Magness <adam.magness@gmail.com>
Wed, 8 Nov 2017 13:38:04 +0000 (08:38 -0500)
15 files changed:
boot.php
doc/Developer-How-To-Move-Classes-to-src.md
doc/FAQ.md
doc/autoloader.md
doc/de/FAQ.md
include/api.php
include/auth_ejabberd.php
include/items.php
mod/admin.php
mod/cal.php
mod/group.php
mod/profperm.php
mod/settings.php
src/ParseUrl.php
view/theme/quattro/style.php

index 902454382a25371f397187e8760cf9da95a7fe6a..95d1b52fd17ae7b09bbd0945e23762c6d1802c8a 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -24,6 +24,7 @@ use Friendica\App;
 use Friendica\Core\System;
 use Friendica\Core\Config;
 use Friendica\Core\PConfig;
+use Friendica\Core\Worker;
 use Friendica\Database\DBM;
 use Friendica\Util\Lock;
 
index 90f99ec380e04c5e11816f95c89e1ddf4709271c..134c2a1f5ecaaaffa0dd7f6e530eda523816f22f 100644 (file)
@@ -80,7 +80,7 @@ if (\DBM::is_result($r)) {
 ````php
 namespace Friendica\Core;
 
-use \dbm;
+use Friendica\Database\DBM;
 
 if (DBM::is_result($r)) {
     ...
index be95ea3648fb1529af2cbd3d84dd85de5af7132b..22adba54b1133d195955ad53306f59202dc39eed 100644 (file)
@@ -27,7 +27,7 @@ User
 *****
 <a name="ssl"></a>
 
-###Why do I get warnings about SSL certificates?
+### Why do I get warnings about SSL certificates?
 
 SSL (Secure Socket Layer) is a technology to encrypt data transfer between computers.
 Sometimes your browser warns you about a missing or invalid certificate.
@@ -41,7 +41,7 @@ We recommend to talk to the admin(s) of the affected friendica server. (Admins,
 
 <a name="upload"></a>
 
-###How can I upload images, files, links, videos and sound files to posts?
+### How can I upload images, files, links, videos and sound files to posts?
 
 You can upload images from your computer using the [editor](help/Text_editor).
 An overview of all uploaded images is listed at *yourpage.com/photos/profilename*.
@@ -71,7 +71,7 @@ See Wikipedia for more of them ([video](http://en.wikipedia.org/wiki/HTML5_video
 
 <a name="avatars"></a>
 
-###Is it possible to have different avatars per profile?
+### Is it possible to have different avatars per profile?
 
 Yes. On your Edit/Manage Profiles page, you will find a "change profile photo" link.
 Clicking this will take you to a page where you can upload a photograph and select which profile it will be associated with.
@@ -79,7 +79,7 @@ To avoid privacy leakage, we only display the photograph associated with your de
 
 <a name="contacts"></a>
 
-###What is the difference between blocked|ignored|archived|hidden contacts?
+### What is the difference between blocked|ignored|archived|hidden contacts?
 
 We prevent direct communication with **blocked contacts**.
 They are not included in delivery, and their own posts to you are not imported.
@@ -102,7 +102,7 @@ However a hidden contact will appear normally in conversations and this may expo
 
 <a name="removed"></a>
 
-###What happens when an account is removed? Is it truly deleted?
+### What happens when an account is removed? Is it truly deleted?
 
 If you delete your account, we will immediately remove all your content on **your** server.
 
@@ -115,7 +115,7 @@ After that, your account is deleted.
 
 <a name="hashtag"></a>
 
-###Can I follow a hashtag?
+### Can I follow a hashtag?
 
 No. The act of 'following' a hashtags is an interesting technology, but presents a few issues.
 
@@ -129,7 +129,7 @@ Instead, we offer other mechanisms for wide-area conversations while retaining a
 
 <a name="rss"></a>
 
-###How to create a RSS feed of the stream?
+### How to create a RSS feed of the stream?
 
 If you want to share your public page via rss you can use one of the following links:
 
@@ -151,29 +151,32 @@ RSS feed of the conversations at your site
 
 <a name="clients"></a>
 
-###Are there any clients for friendica I can use?
+### Are there any clients for friendica I can use?
 
 Friendica is using a [Twitter/GNU Social compatible API](help/api), which means you can use any Twitter/GNU Social client for your plattform as long as you can change the API path in its settings.
 Here is a list of known working clients:
 
 * Android
-  * Friendica Client for Android
+  * [Friendiqa](https://github.com/lubuwest/friendiqa) (you can find the APK file in the listed files in the repository)
   * AndStatus
   * Twidere
   * Mustard and Mustard-Mod
+* SailfishOS
+  * [Friendly](https://openrepos.net/content/fabrixxm/friendly#comment-form)
 * Linux
   * Hotot
   * Choqok
 * MacOS X
   * Hotot
 * Windows
+  * [Friendica Mobile](https://www.microsoft.com/de-DE/store/p/friendica-mobile/9nblggh0fhmn?rtc=1) for Windows 10
   * Hotot
 
 Depending on the features of the client you might encounter some glitches in usability, like being limited in the length of your postings to 140 characters and having no access to the [permission settings](help/Groups-and-Privacy).
 
 <a name="help"></a>
 
-###Where I can find help?
+### Where I can find help?
 
 If you have problems with your Friendica page, you can ask the community at the [Friendica Support Group](https://forum.friendi.ca/profile/helpers).
 If you can't use your default profile you can use an account at a public site [list](https://dir.friendica.social/servers) or you can use the Librelist mailing list.
@@ -186,13 +189,13 @@ Admin
 *****
 <a name="multiple"></a>
 
-###Can I configure multiple domains with the same code instance?
+### Can I configure multiple domains with the same code instance?
 
 No, this function is no longer supported as of Friendica 3.3 onwards.
 
 <a name="sources"></a>
 
-###Where can I find the source code of friendica, addons and themes?
+### Where can I find the source code of friendica, addons and themes?
 
 You can find the main respository [here](https://github.com/friendica/friendica).
 There you will always find the current stable version of friendica.
@@ -202,12 +205,12 @@ Addons are listed at [this page](https://github.com/friendica/friendica-addons).
 If you are searching for new themes, you can find them at [Friendica-Themes.com](http://friendica-themes.com/) 
 
 <a name="adminaccount1"></a>
-###I've changed my email address now the admin panel is gone?
+### I've changed my email address now the admin panel is gone?
 
 Have a look into your <tt>.htconfig.php</tt> and fix your email address there.
 
 <a name="adminaccount2"></a>
-###Can there be more then one admin for a node?
+### Can there be more then one admin for a node?
 
 Yes. You just have to list more then one email address in the
 <tt>.htconfig.php</tt> file. The listed emails need to be separated by a comma.
index e9ceb1aaf50a1682a86ff3cf2a8a12f1ff85c23b..29d3a005fdb0c1fc9f2aa9cf678353e2098d68cb 100644 (file)
@@ -104,7 +104,7 @@ class Dfrn {
 
 mail_post($a){
        ...
-       Friendica\DFRN::mail($item, $owner);
+       Friendica\Protocol\DFRN::mail($item, $owner);
        ...
 }
 ```
index 9feaaec09b8b640a323e5353c9d4bb2b108e4b2b..3507efc5a1b651dcd76064077f24af92ea4f9848 100644 (file)
@@ -12,6 +12,7 @@ Nutzer
 * **[Was passiert, wenn ein Account gelöscht ist? Ist dieser richtig gelöscht?](help/FAQ#removed)**
 * **[Kann ich einem hashtag folgen?](help/FAQ#hashtag)**
 * **[Wie kann ich einen RSS-Feed meiner Netzwerkseite (Stream) erstellen?](help/FAQ#rss)**
+* **[Gibt es Clients für Friendica?](help/FAQ#clients)**
 * **[Wo finde ich Hilfe?](help/FAQ#help)**
 
 Admins
@@ -160,6 +161,31 @@ RSS-Feed aller Unterhaltungen auf Deiner Seite
        
        https://forum.friendi.ca/dfrn_poll/helpers/converse
 
+<a name="clients">
+
+### Gibt es Clients für Friendica?
+
+Friendica verwendet eine [Twitter/GNU Social](help/api) kompatible API.
+Das bedeutet, dass du jeden Twitter/GNU Social Client verwenden kannst in dem du den API Pfad entsprechend änderst.
+
+Hier ist eine Liste von Clients bei denen dies möglich ist, bzw. die speziell für Friendica entwickelt werden:
+
+* Android
+  * [Friendiqa](https://github.com/lubuwest/friendiqa) (ydie APK Datei findest du in den gelisteten Dateien im Repository)
+  * AndStatus
+  * Twidere
+  * Mustard and Mustard-Mod
+* SailfishOS
+  * [Friendly](https://openrepos.net/content/fabrixxm/friendly#comment-form)
+* Linux
+  * Hotot
+  * Choqok
+* MacOS X
+  * Hotot
+* Windows
+  * [Friendica Mobile](https://www.microsoft.com/de-DE/store/p/friendica-mobile/9nblggh0fhmn?rtc=1) für Windows 10
+  * Hotot
+
 <a name="help"></a>
 
 **Wo finde ich Hilfe?**
index c304538af7fd335fe03408f517337c88d2458534..594e68d519ef841c9a803007a0b000502eee445c 100644 (file)
@@ -12,6 +12,7 @@ use Friendica\Core\Config;
 use Friendica\Core\NotificationsManager;
 use Friendica\Core\Worker;
 use Friendica\Database\DBM;
+use Friendica\Protocol\Diaspora;
 
 require_once 'include/HTTPExceptions.php';
 require_once 'include/bbcode.php';
index 6eefd4e9479b120e5c7e87fa73e8619fe195c205..fff2bab32747aed1d3c3d3c4e372bcf15381b264 100755 (executable)
@@ -80,7 +80,7 @@ class exAuth {
                $this->writeLog(LOG_NOTICE, "start");
 
                // We are connected to the SQL server.
-               do {
+               while (!feof(STDIN)) {
                        // Quit if the database connection went down
                        if (!dba::connected()) {
                                $this->writeLog(LOG_ERR, "the database connection went down");
@@ -126,7 +126,7 @@ class exAuth {
                                $this->writeLog(LOG_NOTICE, "invalid command string ".$sData);
                                fwrite(STDOUT, pack("nn", 2, 0));
                        }
-               } while (true);
+               }
        }
 
        /**
index 3ced21cdf35ba87f994f9839e57dd7c2b25f02b8..64aeabceab13206b1754cf4e4650084a2bd91716 100644 (file)
@@ -2022,22 +2022,16 @@ function item_expire($uid, $days, $network = "", $force = false) {
                return;
        }
 
-       $expire_items = PConfig::get($uid, 'expire', 'items');
-       $expire_items = (($expire_items === false) ? 1 : intval($expire_items)); // default if not set: 1
+       $expire_items = PConfig::get($uid, 'expire', 'items', 1);
 
        // Forcing expiring of items - but not notes and marked items
        if ($force) {
                $expire_items = true;
        }
 
-       $expire_notes = PConfig::get($uid, 'expire', 'notes');
-       $expire_notes = (($expire_notes === false) ? 1 : intval($expire_notes)); // default if not set: 1
-
-       $expire_starred = PConfig::get($uid, 'expire', 'starred');
-       $expire_starred = (($expire_starred === false) ? 1 : intval($expire_starred)); // default if not set: 1
-
-       $expire_photos = PConfig::get($uid, 'expire', 'photos');
-       $expire_photos = (($expire_photos === false) ? 0 : intval($expire_photos)); // default if not set: 0
+       $expire_notes = PConfig::get($uid, 'expire', 'notes', 1);
+       $expire_starred = PConfig::get($uid, 'expire', 'starred', 1);
+       $expire_photos = PConfig::get($uid, 'expire', 'photos', 0);
 
        logger('User '.$uid.': expire: # items=' . count($r). "; expire items: $expire_items, expire notes: $expire_notes, expire starred: $expire_starred, expire photos: $expire_photos");
 
index 222001ac57b5c9bb53718b884b32a58b3adf77cc..78e37afef6ff119c762017a4301dfd1f2d8f09d2 100644 (file)
@@ -2235,7 +2235,7 @@ function admin_page_features_post(App $a) {
                        } else {
                                $val = 0;
                        }
-                       Config::set('feature',$feature,$val);
+                       Config::set('feature', $feature, $val);
 
                        if (x($_POST, $featurelock)) {
                                Config::set('feature_lock', $feature, $val);
@@ -2274,10 +2274,7 @@ function admin_page_features(App $a) {
                        $arr[$fname][0] = $fdata[0];
                        foreach (array_slice($fdata,1) as $f) {
 
-                               $set = Config::get('feature',$f[0]);
-                               if ($set === false) {
-                                       $set = $f[3];
-                               }
+                               $set = Config::get('feature', $f[0], $f[3]);
                                $arr[$fname][1][] = array(
                                        array('feature_' .$f[0],$f[1],$set,$f[2],array(t('Off'), t('On'))),
                                        array('featurelock_' .$f[0],sprintf(t('Lock feature %s'),$f[1]),(($f[4] !== false) ? "1" : ''),'',array(t('Off'), t('On')))
index 6add893ddabced80cf5800868f5f1b1cd2b22741..1bfc8d95d9560ddd4c7f321f14026ca14bcbea89 100644 (file)
@@ -74,8 +74,7 @@ function cal_content(App $a) {
        nav_set_selected('events');
 
        // First day of the week (0 = Sunday)
-       $firstDay = PConfig::get(local_user(),'system','first_day_of_week');
-       if ($firstDay === false) $firstDay=0;
+       $firstDay = PConfig::get(local_user(),'system','first_day_of_week', 0);
 
        // get the translation strings for the callendar
        $i18n = get_event_strings();
index fcde392d7c06b878ecfccd02a383650aa390965d..4b64964cc63a9bb9345d8e45f3bb711b60482c2a 100644 (file)
@@ -85,11 +85,8 @@ function group_content(App $a) {
        // Switch to text mode interface if we have more than 'n' contacts or group members
 
        $switchtotext = PConfig::get(local_user(), 'system', 'groupedit_image_limit');
-       if ($switchtotext === false) {
-               $switchtotext = Config::get('system', 'groupedit_image_limit');
-       }
-       if ($switchtotext === false) {
-               $switchtotext = 400;
+       if (is_null($switchtotext)) {
+               $switchtotext = Config::get('system', 'groupedit_image_limit', 400);
        }
 
        $tpl = get_markup_template('group_edit.tpl');
index d46e15fbf67dcec3a19913b0408818b5d65504bc..99b58516d3e420b4e1dda7402d8f179d8a979948 100644 (file)
@@ -35,11 +35,9 @@ function profperm_content(App $a) {
        // Switch to text mod interface if we have more than 'n' contacts or group members
 
        $switchtotext = PConfig::get(local_user(),'system','groupedit_image_limit');
-       if($switchtotext === false)
-               $switchtotext = Config::get('system','groupedit_image_limit');
-       if($switchtotext === false)
-               $switchtotext = 400;
-
+       if (is_null($switchtotext)) {
+               $switchtotext = Config::get('system','groupedit_image_limit', 400);
+       }
 
        if(($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) {
                $r = q("SELECT `id` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `self` = 0
index 3f5abb4a0872a676428e7aba57878a1cecec2549..ff846688e7b538dc8a1fef01a5770925ddc5857d 100644 (file)
@@ -954,7 +954,7 @@ function settings_content(App $a) {
                                $is_experimental = file_exists('view/theme/' . $th . '/experimental');
                                $unsupported = file_exists('view/theme/' . $th . '/unsupported');
                                $is_mobile = file_exists('view/theme/' . $th . '/mobile');
-                               if (!$is_experimental || ($is_experimental && (Config::get('experimentals', 'exp_themes')==1 || Config::get('experimentals', 'exp_themes')===false))) {
+                               if (!$is_experimental || ($is_experimental && (Config::get('experimentals', 'exp_themes')==1 || is_null(Config::get('experimentals', 'exp_themes'))))) {
                                        $theme_name = (($is_experimental) ?  sprintf("%s - \x28Experimental\x29", $f) : $f);
                                        if ($is_mobile) {
                                                $mobile_themes[$f]=$theme_name;
@@ -979,24 +979,14 @@ function settings_content(App $a) {
                $itemspage_mobile_network = intval(PConfig::get(local_user(), 'system', 'itemspage_mobile_network'));
                $itemspage_mobile_network = (($itemspage_mobile_network > 0 && $itemspage_mobile_network < 101) ? $itemspage_mobile_network : 20); // default if not set: 20 items
 
-               $nosmile = PConfig::get(local_user(), 'system', 'no_smilies');
-               $nosmile = (($nosmile===false)? '0': $nosmile); // default if not set: 0
-
-               $first_day_of_week = PConfig::get(local_user(), 'system', 'first_day_of_week');
-               $first_day_of_week = (($first_day_of_week===false)? '0': $first_day_of_week); // default if not set: 0
+               $nosmile = PConfig::get(local_user(), 'system', 'no_smilies', 0);
+               $first_day_of_week = PConfig::get(local_user(), 'system', 'first_day_of_week', 0);
                $weekdays = array(0 => t("Sunday"), 1 => t("Monday"));
 
-               $noinfo = PConfig::get(local_user(), 'system', 'ignore_info');
-               $noinfo = (($noinfo===false)? '0': $noinfo); // default if not set: 0
-
-               $infinite_scroll = PConfig::get(local_user(), 'system', 'infinite_scroll');
-               $infinite_scroll = (($infinite_scroll===false)? '0': $infinite_scroll); // default if not set: 0
-
-               $no_auto_update = PConfig::get(local_user(), 'system', 'no_auto_update');
-               $no_auto_update = (($no_auto_update===false)? '0': $no_auto_update); // default if not set: 0
-
-               $bandwidth_saver = PConfig::get(local_user(), 'system', 'bandwidth_saver');
-               $bandwidth_saver = (($bandwidth_saver === false) ? '0' : $bandwidth_saver); // default if not set: 0
+               $noinfo = PConfig::get(local_user(), 'system', 'ignore_info', 0);
+               $infinite_scroll = PConfig::get(local_user(), 'system', 'infinite_scroll', 0);
+               $no_auto_update = PConfig::get(local_user(), 'system', 'no_auto_update', 0);
+               $bandwidth_saver = PConfig::get(local_user(), 'system', 'bandwidth_saver', 0);
 
                $theme_config = "";
                if (($themeconfigfile = get_theme_config_file($theme_selected)) != null) {
index 81c5671c90c5cac48bdb8c54187604c996b561aa..d6b6b60272ddd43603ee2beed183160c65094859 100644 (file)
@@ -161,13 +161,13 @@ class ParseUrl {
 
                        $oembed_data = oembed_fetch_url($url);
 
-                       if (!in_array($oembed_data->type, array("error", "rich"))) {
+                       if (!in_array($oembed_data->type, array("error", "rich", ""))) {
                                $siteinfo["type"] = $oembed_data->type;
                        }
 
                        if (($oembed_data->type == "link") && ($siteinfo["type"] != "photo")) {
                                if (isset($oembed_data->title)) {
-                                       $siteinfo["title"] = $oembed_data->title;
+                                       $siteinfo["title"] = trim($oembed_data->title);
                                }
                                if (isset($oembed_data->description)) {
                                        $siteinfo["text"] = trim($oembed_data->description);
@@ -240,7 +240,7 @@ class ParseUrl {
 
                $list = $xpath->query("//title");
                if ($list->length > 0) {
-                       $siteinfo["title"] = $list->item(0)->nodeValue;
+                       $siteinfo["title"] = trim($list->item(0)->nodeValue);
                }
 
                //$list = $xpath->query("head/meta[@name]");
@@ -258,10 +258,10 @@ class ParseUrl {
                        if ($attr["content"] != "") {
                                switch (strtolower($attr["name"])) {
                                        case "fulltitle":
-                                               $siteinfo["title"] = $attr["content"];
+                                               $siteinfo["title"] = trim($attr["content"]);
                                                break;
                                        case "description":
-                                               $siteinfo["text"] = $attr["content"];
+                                               $siteinfo["text"] = trim($attr["content"]);
                                                break;
                                        case "thumbnail":
                                                $siteinfo["image"] = $attr["content"];
@@ -278,16 +278,16 @@ class ParseUrl {
                                                }
                                                break;
                                        case "twitter:description":
-                                               $siteinfo["text"] = $attr["content"];
+                                               $siteinfo["text"] = trim($attr["content"]);
                                                break;
                                        case "twitter:title":
-                                               $siteinfo["title"] = $attr["content"];
+                                               $siteinfo["title"] = trim($attr["content"]);
                                                break;
                                        case "dc.title":
-                                               $siteinfo["title"] = $attr["content"];
+                                               $siteinfo["title"] = trim($attr["content"]);
                                                break;
                                        case "dc.description":
-                                               $siteinfo["text"] = $attr["content"];
+                                               $siteinfo["text"] = trim($attr["content"]);
                                                break;
                                        case "keywords":
                                                $keywords = explode(",", $attr["content"]);
@@ -329,10 +329,10 @@ class ParseUrl {
                                                $siteinfo["image"] = $attr["content"];
                                                break;
                                        case "og:title":
-                                               $siteinfo["title"] = $attr["content"];
+                                               $siteinfo["title"] = trim($attr["content"]);
                                                break;
                                        case "og:description":
-                                               $siteinfo["text"] = $attr["content"];
+                                               $siteinfo["text"] = trim($attr["content"]);
                                                break;
                                }
                        }
index 4d89c4a3ff703aa4ca8fa4517b847e7d004ca33a..2aaf3af50894b74103e44d25340ac293caf27e81 100644 (file)
@@ -5,27 +5,30 @@
 
        $uid = get_theme_uid();
 
-       $color=false;
-       $quattro_align=false;
-       $site_color = Config::get("quattro","color");
-       $site_quattro_align = Config::get("quattro", "align" );
-       
+       $color = false;
+       $quattro_align = false;
+       $site_color = Config::get("quattro", "color", "dark");
+       $site_quattro_align = Config::get("quattro", "align", false);
+
        if ($uid) {
-               $color = PConfig::get( $uid, "quattro","color");
-               $quattro_align = PConfig::get( $uid, 'quattro', 'align' );
-       }
-       
-       if ($color===false) $color=$site_color;
-       if ($color===false) $color="dark";
-       if ($quattro_align===false) $quattro_align=$site_quattro_align;
-       
-               
+               $color = PConfig::get($uid, "quattro", "color", false);
+               $quattro_align = PConfig::get($uid, 'quattro', 'align', false);
+       }
+
+       if ($color === false) {
+               $color = $site_color;
+       }
+
+       if ($quattro_align === false) {
+               $quattro_align = $site_quattro_align;
+       }
+
        if (file_exists("$THEMEPATH/$color/style.css")){
                echo file_get_contents("$THEMEPATH/$color/style.css");
        }
 
 
-       if($quattro_align=="center"){
+       if ($quattro_align == "center"){
                echo "
                        html { width: 100%; margin:0px; padding:0px; }
                        body {
                ";
        }
 
-    
-
-    $textarea_font_size = false;
-    $post_font_size = false;
-    
-    $site_textarea_font_size = Config::get("quattro","tfs");
-    $site_post_font_size = Config::get("quattro","pfs");
-    if ($site_textarea_font_size===false) $site_textarea_font_size="20";
-    if ($site_post_font_size===false) $site_post_font_size="12";
-    
-       if ($uid) {
-        $textarea_font_size = PConfig::get( $uid, "quattro","tfs");
-        $post_font_size = PConfig::get( $uid, "quattro","pfs");    
-       } 
-    
-    if ($textarea_font_size===false) $textarea_font_size = $site_textarea_font_size;
-    if ($post_font_size===false) $post_font_size = $site_post_font_size;
-
-    echo "
-        textarea { font-size: ${textarea_font_size}px; }
-        .wall-item-comment-wrapper .comment-edit-text-full { font-size: ${textarea_font_size}px; }
-        #jot .profile-jot-text:focus { font-size: ${textarea_font_size}px; }
-        .wall-item-container .wall-item-content  { font-size: ${post_font_size}px; }
-    ";
\ No newline at end of file
+
+       $textarea_font_size = false;
+       $post_font_size = false;
+
+       $site_textarea_font_size = Config::get("quattro", "tfs", "20");
+       $site_post_font_size = Config::get("quattro", "pfs", "12");
+
+       if ($uid) {
+               $textarea_font_size = PConfig::get($uid, "quattro", "tfs", false);
+               $post_font_size = PConfig::get($uid, "quattro", "pfs", false);
+       }
+
+       if ($textarea_font_size === false) {
+               $textarea_font_size = $site_textarea_font_size;
+       }
+       if ($post_font_size === false) {
+               $post_font_size = $site_post_font_size;
+       }
+
+       echo "
+               textarea { font-size: ${textarea_font_size}px; }
+               .wall-item-comment-wrapper .comment-edit-text-full { font-size: ${textarea_font_size}px; }
+               #jot .profile-jot-text:focus { font-size: ${textarea_font_size}px; }
+               .wall-item-container .wall-item-content  { font-size: ${post_font_size}px; }
+       ";