2010-09-09 03:14:17 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-17 18:42:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Friendica\Core\Addon ;  
						 
					
						
							
								
									
										
										
										
											2017-11-07 02:22:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Friendica\Core\Config ;  
						 
					
						
							
								
									
										
										
										
											2018-07-20 02:15:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Friendica\Core\L10n ;  
						 
					
						
							
								
									
										
										
										
											2017-11-07 02:22:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Friendica\Core\PConfig ;  
						 
					
						
							
								
									
										
										
										
											2017-11-05 12:15:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Friendica\Core\Worker ;  
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Friendica\Database\DBA ;  
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Friendica\Model\Contact ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								use  Friendica\Model\Item ;  
						 
					
						
							
								
									
										
										
										
											2018-01-21 03:37:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Friendica\Model\User ;  
						 
					
						
							
								
									
										
										
										
											2018-07-21 12:25:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  Friendica\Util\DateTimeFormat ;  
						 
					
						
							
								
									
										
										
										
											2017-11-05 12:15:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-23 23:57:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								require_once  'include/dba.php' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-12-10 04:41:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  update . php  -  automatic  system  update 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 14:48:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  This  function  is  responsible  for  doing  post  update  changes  to  the  data 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  ( not  the  structure )  in  the  database . 
							 
						 
					
						
							
								
									
										
										
										
											2014-06-03 22:44:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 14:48:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  Database  structure  changes  are  done  in  src / Database / DBStructure . php 
							 
						 
					
						
							
								
									
										
										
										
											2010-12-10 04:41:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 20:06:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  If  there  is  a  need  for  a  post  process  to  a  structure  change ,  update  this  file 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 21:31:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  by  adding  a  new  function  at  the  end  with  the  number  of  the  new  DB_UPDATE_VERSION . 
							 
						 
					
						
							
								
									
										
										
										
											2010-12-10 04:41:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 21:31:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  The  numbered  script  in  this  file  has  to  be  exactly  like  the  DB_UPDATE_VERSION 
							 
						 
					
						
							
								
									
										
										
										
											2010-12-10 04:41:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 14:48:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  Example : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  You  are  currently  on  version  4711  and  you  are  preparing  changes  that  demand  an  update  script . 
							 
						 
					
						
							
								
									
										
										
										
											2010-12-10 04:41:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 21:31:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  1.  Create  a  function  " update_4712() "  here  in  the  update . php 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  2.  Apply  the  needed  structural  changes  in  src / Database / DBStructure . php 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  3.  Set  DB_UPDATE_VERSION  in  boot . php  to  4712. 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 19:47:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  If  you  need  to  run  a  script  before  the  database  update ,  name  the  function  " pre_update_4712() " 
							 
						 
					
						
							
								
									
										
										
										
											2010-12-10 04:41:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 21:31:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  update_1178 ()  {  
						 
					
						
							
								
									
										
										
										
											2017-12-22 14:48:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									require_once  'mod/profiles.php' ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-26 00:07:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									$profiles  =  q ( " SELECT `uid`, `about`, `locality`, `pub_keywords`, `gender` FROM `profile` WHERE `is-default` " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									foreach  ( $profiles  AS  $profile )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $profile [ " about " ] . $profile [ " locality " ] . $profile [ " pub_keywords " ] . $profile [ " gender " ]  ==  " " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											continue ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$profile [ " pub_keywords " ]  =  profile_clean_keywords ( $profile [ " pub_keywords " ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$r  =  q ( " UPDATE `contact` SET `about` = '%s', `location` = '%s', `keywords` = '%s', `gender` = '%s' WHERE `self` AND `uid` = %d " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												dbesc ( $profile [ " about " ]), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												dbesc ( $profile [ " locality " ]), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												dbesc ( $profile [ " pub_keywords " ]), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												dbesc ( $profile [ " gender " ]), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												intval ( $profile [ " uid " ]) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2015-02-08 15:03:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 21:31:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  update_1179 ()  {  
						 
					
						
							
								
									
										
										
										
											2017-11-07 02:22:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( Config :: get ( 'system' , 'no_community_page' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Config :: set ( 'system' , 'community_page_style' ,  CP_NO_COMMUNITY_PAGE ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-08 19:35:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-02-08 15:03:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// Update the central item storage with uid=0
 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-05 12:15:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Worker :: add ( PRIORITY_LOW ,  " threadupdate " ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-02-08 15:03:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  UPDATE_SUCCESS ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2015-03-07 20:24:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 21:31:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  update_1181 ()  {  
						 
					
						
							
								
									
										
										
										
											2015-03-07 20:24:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Fill the new fields in the term table.
 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-15 21:12:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Worker :: add ( PRIORITY_LOW ,  " TagUpdate " ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-03-07 20:24:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  UPDATE_SUCCESS ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2015-10-17 13:26:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 21:31:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  update_1189 ()  {  
						 
					
						
							
								
									
										
										
										
											2015-10-17 13:26:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-07 02:22:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( strlen ( Config :: get ( 'system' , 'directory_submit_url' ))  && 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										! strlen ( Config :: get ( 'system' , 'directory' )))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Config :: set ( 'system' , 'directory' ,  dirname ( Config :: get ( 'system' , 'directory_submit_url' ))); 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-07 14:12:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Config :: delete ( 'system' , 'directory_submit_url' ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-17 13:26:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  UPDATE_SUCCESS ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 21:31:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  update_1191 ()  {  
						 
					
						
							
								
									
										
										
										
											2017-11-07 02:22:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Config :: set ( 'system' ,  'maintenance' ,  1 ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-17 18:42:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( Addon :: isEnabled ( 'forumlist' ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-17 19:22:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$addon  =  'forumlist' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$addons  =  Config :: get ( 'system' ,  'addon' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$addons_arr  =  []; 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-17 19:22:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if  ( $addons )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$addons_arr  =  explode ( " , " , str_replace ( "   " ,  " " ,  $addons )); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-17 19:22:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$idx  =  array_search ( $addon ,  $addons_arr ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if  ( $idx  !==  false ){ 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-17 19:22:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												unset ( $addons_arr [ $idx ]); 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-02 01:40:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												//delete forumlist manually from addon and hook table
 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-17 18:42:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												// since Addon::uninstall() don't work here
 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 23:16:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												q ( " DELETE FROM `addon` WHERE `name` = 'forumlist'  " ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												q ( " DELETE FROM `hook` WHERE `file` = 'addon/forumlist/forumlist.php'  " ); 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-17 19:22:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Config :: set ( 'system' , 'addon' ,  implode ( " ,  " ,  $addons_arr )); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// select old formlist addon entries
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									$r  =  q ( " SELECT `uid`, `cat`, `k`, `v` FROM `pconfig` WHERE `cat` = '%s'  " , 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										dbesc ( 'forumlist' ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:40:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									// convert old forumlist addon entries in new config entries
 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-21 12:40:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( DBA :: is_result ( $r ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										foreach  ( $r  as  $rr )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$uid  =  $rr [ 'uid' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$family  =  $rr [ 'cat' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$key  =  $rr [ 'k' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$value  =  $rr [ 'v' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-03-21 16:02:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if  ( $key  ===  'randomise' ) 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-07 14:12:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												PConfig :: delete ( $uid , $family , $key ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if  ( $key  ===  'show_on_profile' )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-03-21 16:02:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( $value ) 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-07 02:22:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													PConfig :: set ( $uid , feature , forumlist_profile , $value ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-07 14:12:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												PConfig :: delete ( $uid , $family , $key ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if  ( $key  ===  'show_on_network' )  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-03-21 16:02:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												if  ( $value ) 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-07 02:22:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													PConfig :: set ( $uid , feature , forumlist_widget , $value ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-07 14:12:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												PConfig :: delete ( $uid , $family , $key ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-07 02:22:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Config :: set ( 'system' ,  'maintenance' ,  0 ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-12 15:42:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  UPDATE_SUCCESS ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-11-11 22:39:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2016-09-26 19:35:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-12-22 21:31:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  update_1203 ()  {  
						 
					
						
							
								
									
										
										
										
											2016-09-26 19:35:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									$r  =  q ( " UPDATE `user` SET `account-type` = %d WHERE `page-flags` IN (%d, %d) " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										dbesc ( ACCOUNT_TYPE_COMMUNITY ),  dbesc ( PAGE_COMMUNITY ),  dbesc ( PAGE_PRVGROUP )); 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-09 07:01:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2018-01-21 03:37:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  update_1244 ()  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Sets legacy_password for all legacy hashes
 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									DBA :: update ( 'user' ,  [ 'legacy_password'  =>  true ],  [ 'SUBSTR(password, 1, 4) != "$2y$"' ]); 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-21 03:37:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// All legacy hashes are re-hashed using the new secure hashing function
 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									$stmt  =  DBA :: select ( 'user' ,  [ 'uid' ,  'password' ],  [ 'legacy_password'  =>  true ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									while ( $user  =  DBA :: fetch ( $stmt ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										DBA :: update ( 'user' ,  [ 'password'  =>  User :: hashPassword ( $user [ 'password' ])],  [ 'uid'  =>  $user [ 'uid' ]]); 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-21 03:37:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Logged in users are forcibly logged out
 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									DBA :: delete ( 'session' ,  [ '1 = 1' ]); 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-21 03:37:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  UPDATE_SUCCESS ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2018-01-22 22:58:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  update_1245 ()  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									$rino  =  Config :: get ( 'system' ,  'rino_encrypt' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( ! $rino )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  UPDATE_SUCCESS ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Config :: set ( 'system' ,  'rino_encrypt' ,  1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  UPDATE_SUCCESS ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2018-01-23 23:57:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  update_1247 ()  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Removing hooks with the old name
 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									DBA :: e ( " DELETE FROM `hook`
 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-23 23:57:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								WHERE  `hook`  LIKE  'plugin_%' " );
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Make sure we install the new renamed ones
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Addon :: reload (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  update_1260 ()  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Config :: set ( 'system' ,  'maintenance' ,  1 ); 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-21 12:25:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Config :: set ( 'system' ,  'maintenance_reason' ,  L10n :: t ( '%s: Updating author-id and owner-id in item and thread table. ' ,  DateTimeFormat :: utcNow () . ' ' . date ( 'e' ))); 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									$items  =  DBA :: p ( " SELECT `id`, `owner-link`, `owner-name`, `owner-avatar`, `network` FROM `item`
 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										WHERE  `owner-id`  =  0  AND  `owner-link`  !=  '' " );
 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									while  ( $item  =  DBA :: fetch ( $items ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$contact  =  [ 'url'  =>  $item [ 'owner-link' ],  'name'  =>  $item [ 'owner-name' ], 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-09 07:09:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'photo'  =>  $item [ 'owner-avatar' ],  'network'  =>  $item [ 'network' ]]; 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$cid  =  Contact :: getIdForURL ( $item [ 'owner-link' ],  0 ,  false ,  $contact ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( empty ( $cid ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											continue ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Item :: update ([ 'owner-id'  =>  $cid ],  [ 'id'  =>  $item [ 'id' ]]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									DBA :: close ( $items ); 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									DBA :: e ( " UPDATE `thread` INNER JOIN `item` ON `thread`.`iid` = `item`.`id`
 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										SET  `thread` . `owner-id`  =  `item` . `owner-id`  WHERE  `thread` . `owner-id`  =  0 " );
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									$items  =  DBA :: p ( " SELECT `id`, `author-link`, `author-name`, `author-avatar`, `network` FROM `item`
 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										WHERE  `author-id`  =  0  AND  `author-link`  !=  '' " );
 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									while  ( $item  =  DBA :: fetch ( $items ))  { 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$contact  =  [ 'url'  =>  $item [ 'author-link' ],  'name'  =>  $item [ 'author-name' ], 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-09 07:09:47 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											'photo'  =>  $item [ 'author-avatar' ],  'network'  =>  $item [ 'network' ]]; 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										$cid  =  Contact :: getIdForURL ( $item [ 'author-link' ],  0 ,  false ,  $contact ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( empty ( $cid ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											continue ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Item :: update ([ 'author-id'  =>  $cid ],  [ 'id'  =>  $item [ 'id' ]]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									DBA :: close ( $items ); 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									DBA :: e ( " UPDATE `thread` INNER JOIN `item` ON `thread`.`iid` = `item`.`id`
 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-08 17:50:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										SET  `thread` . `author-id`  =  `item` . `author-id`  WHERE  `thread` . `author-id`  =  0 " );
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Config :: set ( 'system' ,  'maintenance' ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  UPDATE_SUCCESS ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2018-05-10 10:41:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  update_1261 ()  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// This fixes the results of an issue in the develop branch of 2018-05.
 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-20 12:19:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									DBA :: update ( 'contact' ,  [ 'blocked'  =>  false ,  'pending'  =>  false ],  [ 'uid'  =>  0 ,  'blocked'  =>  true ,  'pending'  =>  true ]); 
							 
						 
					
						
							
								
									
										
										
										
											2018-05-10 10:41:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  UPDATE_SUCCESS ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2018-07-19 13:52:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  update_1278 ()  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Config :: set ( 'system' ,  'maintenance' ,  1 ); 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-21 12:25:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Config :: set ( 'system' ,  'maintenance_reason' ,  L10n :: t ( '%s: Updating post-type.' ,  DateTimeFormat :: utcNow () . ' ' . date ( 'e' ))); 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-19 13:52:05 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Item :: update ([ 'post-type'  =>  Item :: PT_PAGE ],  [ 'bookmark'  =>  true ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Item :: update ([ 'post-type'  =>  Item :: PT_PERSONAL_NOTE ],  [ 'type'  =>  'note' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Config :: set ( 'system' ,  'maintenance' ,  0 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  UPDATE_SUCCESS ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}