viewgit/inc/functions.php:22 Function utf8_encode() is deprecated [8192]

Fixes a resource token issue in group feeds, a=chris

Chris Pollett [2016-11-17 06:Nov:th]
Fixes a resource token issue in group feeds, a=chris
Filename
src/controllers/components/SocialComponent.php
src/models/SourceModel.php
diff --git a/src/controllers/components/SocialComponent.php b/src/controllers/components/SocialComponent.php
index 905a252e9..2bed3e268 100644
--- a/src/controllers/components/SocialComponent.php
+++ b/src/controllers/components/SocialComponent.php
@@ -1521,6 +1521,8 @@ class SocialComponent extends Component implements CrawlConstants
         $page = false;
         $pages = [];
         $math = false;
+        $csrf_token = $this->parent->generateCSRFToken(
+            $user_id);
         foreach ($group_items as $item) {
             $page = $item;
             $page['USER_ICON'] = $user_model->getUserIconUrl($page['USER_ID']);
@@ -1549,6 +1551,9 @@ class SocialComponent extends Component implements CrawlConstants
                 $group_model->insertResourcesParsePage($item['GROUP_ID'],
                  "post".$item['ID'],
                 $locale_tag, $page[self::DESCRIPTION]);
+
+            $page[self::DESCRIPTION] = preg_replace('/\[{token}\]/',
+                $csrf_token, $page[self::DESCRIPTION]);
             if (!$math && strpos($page[self::DESCRIPTION], "`") !== false) {
                 $math = true;
                 if (!isset($data["INCLUDE_SCRIPTS"])) {
diff --git a/src/models/SourceModel.php b/src/models/SourceModel.php
index 2f531e476..e1a002e41 100644
--- a/src/models/SourceModel.php
+++ b/src/models/SourceModel.php
@@ -83,12 +83,12 @@ class SourceModel extends ParallelModel
         $sources = [];
         $params = [];
         $sql = "SELECT M.* FROM MEDIA_SOURCE M";
-        if ($source_type !="") {
+        if (!empty($source_type)) {
             $sql .= " WHERE TYPE=:type";
             $params = [":type" => $source_type];
         }
         if ($has_no_feed_items) {
-            if ($source_type == "") {
+            if (empty($source_type)) {
                 $sql .= " WHERE ";
             } else {
                 $sql .= " AND ";
@@ -97,12 +97,10 @@ class SourceModel extends ParallelModel
                 (SELECT * FROM FEED_ITEM F
                 WHERE F.SOURCE_NAME = M.NAME)";
         }
-        $i = 0;
         $result = $db->execute($sql, $params);
-        while ($sources[$i] = $db->fetchArray($result)) {
-            $i++;
+        while ($row = $db->fetchArray($result)) {
+            $sources[] = $row;
         }
-        unset($sources[$i]); //last one will be null
         return $sources;
     }
     /**
@@ -287,8 +285,7 @@ class SourceModel extends ParallelModel
     {
         $subsearch = $this->getSubsearch($folder_name);
         if(isset($subsearch['LOCALE_STRING'])) {
-            return $this->translateDb(
-                    $subsearch['LOCALE_STRING'], $locale_tag);
+            return $this->translateDb($subsearch['LOCALE_STRING'], $locale_tag);
         }
         return $folder_name;
     }
ViewGit