]> git.mxchange.org Git - friendica.git/commitdiff
track whether contact is a community page or not
authorfriendica <info@friendica.com>
Thu, 15 Mar 2012 23:38:26 +0000 (16:38 -0700)
committerfriendica <info@friendica.com>
Thu, 15 Mar 2012 23:38:26 +0000 (16:38 -0700)
boot.php
database.sql
include/items.php
mod/dfrn_confirm.php
mod/dfrn_notify.php
update.php

index 04f36093bfffb38359a9a780999aef30e24c1eba..86da3cd2eb02ed14510228e92a78c34c82c870d0 100755 (executable)
--- a/boot.php
+++ b/boot.php
@@ -9,9 +9,9 @@ require_once('include/nav.php');
 require_once('include/cache.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
-define ( 'FRIENDICA_VERSION',      '2.3.1281' );
+define ( 'FRIENDICA_VERSION',      '2.3.1282' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.23'    );
-define ( 'DB_UPDATE_VERSION',      1131      );
+define ( 'DB_UPDATE_VERSION',      1132      );
 
 define ( 'EOL',                    "<br />\r\n"     );
 define ( 'ATOM_TIME',              'Y-m-d\TH:i:s\Z' );
index 35c257f021b97fd9a3e52873452bbecb29522602..5f69a1d0081915ccc9359be2bc9b1d574fa2f7db 100755 (executable)
@@ -92,6 +92,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
   `blocked` tinyint(1) NOT NULL DEFAULT '1',
   `readonly` tinyint(1) NOT NULL DEFAULT '0',
   `writable` tinyint(1) NOT NULL DEFAULT '0',
+  `forum` tinyint(1) NOT NULL DEFAULT '0',
   `hidden` tinyint(1) NOT NULL DEFAULT '0',
   `pending` tinyint(1) NOT NULL DEFAULT '1',
   `rating` tinyint(1) NOT NULL DEFAULT '0',
@@ -116,6 +117,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
   KEY `dfrn-id` (`dfrn-id`),
   KEY `blocked` (`blocked`),
   KEY `readonly` (`readonly`),
+  KEY `forum` (`forum`),
   KEY `hidden` (`hidden`),
   KEY `pending` (`pending`),
   KEY `closeness` (`closeness`)  
index 4b1523ff65397c4ac84330002708ea10484716b9..68acb45f9b6fc7bbf86183316421dd3587b2bf3d 100755 (executable)
@@ -1048,6 +1048,7 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
 
        $ssl_val = intval(get_config('system','ssl_policy'));
        $ssl_policy = '';
+
        switch($ssl_val){
                case SSL_POLICY_FULL:
                        $ssl_policy = 'full';
@@ -1092,6 +1093,7 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
        $challenge    = hex2bin((string) $res->challenge);
        $dfrn_version = (float) (($res->dfrn_version) ? $res->dfrn_version : 2.0);
        $rino_allowed = ((intval($res->rino) === 1) ? 1 : 0);
+       $page         = (($owner['page-flags'] == PAGE_COMMUNITY) ? 1 : 0);
 
        $final_dfrn_id = '';
 
@@ -1135,6 +1137,9 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
 
        $postvars['ssl_policy'] = $ssl_policy;
 
+       if($page)
+               $postvars['page'] = '1';
+       
        if($rino && $rino_allowed && (! $dissolve)) {
                $key = substr(random_string(),0,16);
                $data = bin2hex(aes_encrypt($postvars['data'],$key));
index 0bc3ea7df597550f96286b8210fc6925da788876..2f4fb70452b51b8515b9b80ade073aae9a953a4e 100644 (file)
@@ -207,6 +207,9 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        if($duplex == 1)
                                $params['duplex'] = 1;
 
+                       if($user['page-flags'] == PAGE_COMMUNITY)
+                               $params['page'] = 1;
+
                        logger('dfrn_confirm: Confirm: posting data to ' . $dfrn_confirm . ': ' . print_r($params,true), LOGGER_DATA);
 
                        /**
@@ -522,6 +525,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                $source_url = ((x($_POST,'source_url'))   ? hex2bin($_POST['source_url'])  : '');
                $aes_key    = ((x($_POST,'aes_key'))      ? $_POST['aes_key']              : '');
                $duplex     = ((x($_POST,'duplex'))       ? intval($_POST['duplex'])       : 0 );
+               $page       = ((x($_POST,'page'))         ? intval($_POST['page'])         : 0 );
                $version_id = ((x($_POST,'dfrn_version')) ? (float) $_POST['dfrn_version'] : 2.0);
        
                logger('dfrn_confirm: requestee contacted: ' . $node);
@@ -677,6 +681,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        `blocked` = 0, 
                        `pending` = 0,
                        `duplex` = %d, 
+                       `forum` = %d,
                        `network` = '%s' WHERE `id` = %d LIMIT 1
                ",
                        dbesc($photos[0]),
@@ -687,6 +692,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                        dbesc(datetime_convert()),
                        dbesc(datetime_convert()),
                        intval($duplex),
+                       intval($page),
                        dbesc(NETWORK_DFRN),
                        intval($dfrn_record)
                );
index 3dbdc5b328953a55c142340bd00956c96c44b669..71860ac3b13e50d8eccdba825248758df4a6f2bc 100755 (executable)
@@ -15,6 +15,7 @@ function dfrn_notify_post(&$a) {
        $dissolve     = ((x($_POST,'dissolve'))     ? intval($_POST['dissolve'])        :  0);
        $perm         = ((x($_POST,'perm'))         ? notags(trim($_POST['perm']))      : 'r');
        $ssl_policy   = ((x($_POST,'ssl_policy'))   ? notags(trim($_POST['ssl_policy'])): 'none');
+       $page         = ((x($_POST,'page'))         ? intval($_POST['page'])            :  0);
 
        $writable = (-1);
        if($dfrn_version >= 2.21) {
@@ -87,12 +88,15 @@ function dfrn_notify_post(&$a) {
 
        $importer = $r[0];
 
-       if(($writable != (-1)) && ($writable != $importer['writable'])) {
-               q("UPDATE `contact` SET `writable` = %d WHERE `id` = %d LIMIT 1",
-                       intval($writable),
+       if((($writable != (-1)) && ($writable != $importer['writable'])) || ($importer['forum'] != $page)) {
+               q("UPDATE `contact` SET `writable` = %d, forum = %d WHERE `id` = %d LIMIT 1",
+                       intval(($writable == (-1)) ? $importer['writable'] : $writable),
+                       intval($page),
                        intval($importer['id'])
                );
-               $importer['writable'] = $writable;
+               if($writable != (-1))
+                       $importer['writable'] = $writable;
+               $importer['forum'] = $page;
        }
 
        // if contact's ssl policy changed, update our links
index c29394b480968d4e161fb4cb8114a9f20f5261d0..6a685a6ff0fe191f53c6e9ac40b113bee151c72d 100755 (executable)
@@ -1,6 +1,6 @@
 <?php
 
-define( 'UPDATE_VERSION' , 1131 );
+define( 'UPDATE_VERSION' , 1132 );
 
 /**
  *
@@ -1122,3 +1122,8 @@ function update_1130() {
        q("ALTER TABLE `item` ADD `file` MEDIUMTEXT NOT NULL AFTER `inform`, ADD FULLTEXT KEY (`file`) ");
 }
 
+function update_1131() {
+       q("ALTER TABLE `contact` ADD `forum` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `writable` , ADD INDEX ( `forum` ) ");
+}
+
+