<?php
	// We check in which language we will work
	if (isset($_SESSION["DATAGLOBAL"][0]) && !empty($_SESSION["DATAGLOBAL"][0])) $C->LANGUAGE = $_SESSION["DATAGLOBAL"][0];

	$this->load_langfile('global/global.php');
	$this->load_langfile('outside/profile.php');
	
	$D->is_logged = 0;
	if ($this->user->is_logged) {
		$D->me = $this->user->info;
		$D->is_logged = 1;
		$D->id_wall = $D->me->code;
	}
	
	$D->isGroup = 1;
	
	$errored = 0;
	$txterror = '';

	$numitems = $iduser = 0;
	
	if (isset($_POST["ni"]) && !empty($_POST["ni"])) $numitems = $this->db1->e($_POST["ni"]);
	if (isset($_POST["idu"]) && !empty($_POST["idu"])) $iduser = $this->db1->e($_POST["idu"]);
	
	if (!is_numeric($numitems) || $numitems <= 0) { $errored = 1; $txterror .= 'Error. '; }
	if (!is_numeric($iduser) || $iduser <= 0) { $errored = 1; $txterror .= 'Error. '; }
	
	if ($errored == 1) {
		echo('0: '.$txterror);
	} else {

		$itemsperpage = $C->NUM_ACTIVITIES_PAGE;
		
		$sqlPostsHiddens = '';
		if ($D->is_logged == 1) {
			$sqlPostsHiddens = ' SELECT iditem FROM hiddens WHERE typeitem=1 AND iduser='.$this->user->id;
			$sqlPostsHiddens = ' posts.idpost NOT IN ('.$sqlPostsHiddens.') AND ';
		}
		
		$D->is_my_group = FALSE;
		$D->membership = 0;
		if ($this->user->is_logged) {
			
			$idgroup = $iduser;
			
			$D->is_my_group = ($this->network->idOwnerGroup($idgroup) == $this->user->id);
		
			$D->iammember = $this->user->if_iam_member_group($idgroup);
	
			$D->membership = $this->user->membership($idgroup);
		}
		
		if ($D->membership == 1 || $D->is_my_group) {
			$cadSee = ' (who_see=0 OR who_see=1) ';
		} else {
			$cadSee = ' who_see=0 ';
		}

		$totalitems = $this->db2->fetch_field('
		SELECT count(idpost) 
		FROM posts, users 
		WHERE '.$sqlPostsHiddens.'
		users.iduser=posts.iduser 
		AND posted_in=2 
		AND id_wall='.$iduser.' 
		AND '.$cadSee);
		
		
		$theposts = $this->db2->fetch_all('
		SELECT DISTINCT idpost, posts.code as pcode, whendate, posted_in, id_wall, typepost, valueattach, numlikes, numcomments, post, who_see, username, firstname, lastname, avatar, users.iduser as uiduser, users.code as ucode, verified 
		FROM posts, users 
		WHERE '.$sqlPostsHiddens.'
		users.iduser=posts.iduser 
		AND posted_in=2 
		AND id_wall='.$iduser.' 
		AND '.$cadSee.' 
		ORDER BY whendate DESC 
		LIMIT '.$numitems.','.$itemsperpage);

		$numitemsnow = count($theposts);
		
		$htmlResults = '';
		
		foreach($theposts as $onepost) {
			
			$D->isMyPost = FALSE;
			if ($D->is_logged == 1) {
				$D->isMyPost = $onepost->uiduser == $this->user->id ? TRUE : FALSE;
			}

			$D->isaPage = $D->isOnlyOne = $D->isaGroup = $D->isWithOther = 0;
			
			if ($onepost->posted_in == 0) {
				if ($onepost->uiduser == $onepost->id_wall) {
					$D->isOnlyOne = 1;
					$D->codeUser = $onepost->ucode;
					$D->userName = $onepost->username;
					$D->nameUser = (empty($onepost->firstname) || empty($onepost->lastname))?$onepost->username:($onepost->firstname.' '.$onepost->lastname);
					$D->userAvatar = $onepost->avatar;
				}
				
				if ($onepost->uiduser != $onepost->id_wall) {
					$D->isWithOther = 1;
					$D->codeUser = $onepost->ucode;
					$D->userName = $onepost->username;
					$D->nameUser = (empty($onepost->firstname) || empty($onepost->lastname))?$onepost->username:($onepost->firstname.' '.$onepost->lastname);
					$D->userAvatar = $onepost->avatar;
	
					$wallsec = $this->network->infoBasicWall($onepost->posted_in, $onepost->id_wall);
					$D->other_code = $wallsec->code;
					$D->other_userName = $wallsec->username;
					$D->other_nameUser = (empty($wallsec->firstname) || empty($wallsec->lastname))?$wallsec->username:($wallsec->firstname.' '.$wallsec->lastname);
				}
			}
			
			// is a post of a page
			if ($onepost->posted_in == 1) {
				$D->isaPage = 1;
				$D->idPage = $onepost->id_wall;
				$thePage = $this->db2->fetch('SELECT code, url, avatar_page, title FROM pages WHERE idpage='.$D->idPage.' LIMIT 1');
				$D->pUserName = $thePage->url;
				$D->pCode = $thePage->code;
				$D->pAvatar = $thePage->avatar_page;
				$D->pTitle = stripslashes($thePage->title);
			}
			
			if ($onepost->posted_in == 2) { 
				$D->isaGroup = 1; 
				$D->codeUser = $onepost->ucode;
				$D->userName = $onepost->username;
				$D->nameUser = (empty($onepost->firstname) || empty($onepost->lastname))?$onepost->username:($onepost->firstname.' '.$onepost->lastname);
				$D->userAvatar = $onepost->avatar;
	
				$wallsec = $this->network->infoBasicWall($onepost->posted_in, $onepost->id_wall);
				//is a group
				$D->other_code = $wallsec->code;
				$D->other_url = $wallsec->url;
				$D->other_name = stripslashes($wallsec->name_group);
			}
		
			$D->a_date = $onepost->whendate;
			$D->codeUser = $onepost->ucode;
					
			$D->valueattach = $onepost->valueattach;

			$D->typepost = $onepost->typepost;
			$D->idpost = $onepost->idpost;			
			$D->isShare=0;
			
			if ($D->typepost == 'share') {
				$infop = explode(':',$D->valueattach);
				$D->idpostShared = $infop[0];
				$D->idpost = $onepost->idpost;
				$D->isShare=1; 
			} else {
				$D->idpost = $onepost->idpost;
				$D->idpostShared = $onepost->idpost;
			}
					
			$D->codepost = $onepost->pcode;
			$D->idUser = $onepost->uiduser;
			$D->numlikes = $onepost->numlikes;
			$D->numcommentstotal = $onepost->numcomments;
			$D->post = stripslashes($onepost->post);
			$D->whosee = $onepost->who_see;

			// see if the favorite is for the observer
			$D->liketoUser = 0;
			if ($D->is_logged == 1) {
				if ($this->network->PostLiketoUser($this->user->id, $D->idpost) > 0) $D->liketoUser = 1;
			}
			
			$D->htmlcommentspost = '';
			$D->totalcomments = $onepost->numcomments;
			$allcommentspost = $this->network->getCommentsPost(0,$C->NUM_COMMENTS_PER_POST, $D->idpost);
			$D->numcomments = count($allcommentspost);
			
			$allcommentspost = array_reverse($allcommentspost);	
			
			foreach($allcommentspost as $onecomment){
				$D->o_comment = stripslashes($onecomment->comment);
				$D->o_username = stripslashes($onecomment->username);
				$D->o_firstname = stripslashes($onecomment->firstname);
				$D->o_lastname = stripslashes($onecomment->lastname);
				$D->o_ucode = $onecomment->ucode;
				$D->o_nameUser = (empty($D->o_firstname) || empty($D->o_lastname))?stripslashes($D->o_username):(stripslashes($D->o_firstname).' '.stripslashes($D->o_lastname));
				$D->o_whendate = $onecomment->whendate;
				$D->o_avatar =  empty($onecomment->avatar)?$C->AVATAR_DEFAULT:$onecomment->avatar;
				$D->o_idcomment = $onecomment->idcomment;
				$D->o_idUser = $onecomment->iduser;
				$D->o_idpost = $D->idpost;
				$D->o_idUserOwner = $D->idUser;
				$D->o_codepost = $D->codepost;
				$D->htmlcommentspost .= $this->load_template('__onecomment-post.php', FALSE);
			}
			unset($onecomment);
			
			$D->htmlpostshare = '';
			if ($D->isShare == 1) {

				$D->codepostSh = $this->network->getCodePost($D->idpostShared);
				$onePostSh = new post($D->codepostSh);
				if (!$onePostSh->error) {
					$D->a_dateSh = $onePostSh->whendate;
					$D->idUserSh = $onePostSh->iduser;
					$D->typepostSh = $onePostSh->typepost;
					$D->postSh = stripslashes($onePostSh->post);
					$D->valueattachSh = $onePostSh->valueattach;
					$D->whoseeSh = $onePostSh->whosee;

					$usSh = $this->network->get_user_by_id($D->idUserSh);

					$D->isaPageSh = $D->isOnlyOneSh = $D->isaGroupSh = $D->isWithOtherSh = 0;
					
					if ($onePostSh->posted_in == 0) {
						$D->codeUserSh = $usSh->code;
						$D->userNameSh = $usSh->username;
						$D->nameUserSh = (empty($usSh->firstname) || empty($usSh->lastname))?$usSh->username:($usSh->firstname.' '.$usSh->lastname);
						$D->userAvatarSh = $usSh->avatar;
		
						if ($onePostSh->iduser == $onePostSh->id_wall) {
							$D->isOnlyOneSh = 1;
						} else {
							$D->isWithOtherSh = 1;
							$wallsec = $this->network->infoBasicWall($onePostSh->posted_in, $onePostSh->id_wall);
							$D->other_codeSh = $wallsec->code;
							$D->other_userNameSh = $wallsec->username;
							$D->other_nameUserSh = (empty($wallsec->firstname) || empty($wallsec->lastname))?$wallsec->username:($wallsec->firstname.' '.$wallsec->lastname);
						}
					}
					
					// is a post of a page
					if ($onePostSh->posted_in == 1) {
						$D->isaPageSh = 1;
						$D->idPageSh = $onePostSh->id_wall;
						$thePage = $this->db2->fetch('SELECT code, url, avatar_page, title FROM pages WHERE idpage='.$D->idPageSh.' LIMIT 1');
						$D->pUserNameSh = $thePage->url;
						$D->pCodeSh = $thePage->code;
						$D->pAvatarSh = $thePage->avatar_page;
						$D->pTitleSh = stripslashes($thePage->title);
					}
					
					if ($onePostSh->posted_in == 2) { $D->isaGroupSh = 1; }

					

					$D->htmlpostshare .= $this->load_template('__one-share-post.php', FALSE);//'Share';
				} else {
					$D->idpostShared = $D->idpost;
					$D->htmlpostshare .= $this->load_template('__one-share-post-nofound.php', FALSE);
				}
				unset($onePostSh);
			}
			
			if ($D->typepost == 'album') {
				$infoalbum = $this->db1->fetch('SELECT * FROM albums WHERE idpost='.$D->idpost.' LIMIT 1');
				$D->codealbum = $infoalbum->code;
				$D->idalbum = $infoalbum->idalbum;
				
				$allPhotos = $this->db1->fetch_all('SELECT photo FROM albums_photos WHERE idalbum='.$D->idalbum.' ORDER BY whendate DESC');
				$totalPhotos = count($allPhotos);
				$D->valueattach = '';
				foreach ($allPhotos as $onePhoto) {
					$D->valueattach .= $onePhoto->photo.',';
				}
				$D->valueattach = trim($D->valueattach,',');
				$D->cadextra = $this->lang('global_txt_addphotos').' '.$totalPhotos.' '.($totalPhotos==1?$this->lang('global_txt_addphotos_photo'):$this->lang('global_txt_addphotos_photos'));
				
			}
			
			if ($D->isShare == 1) $htmlResults .= $this->load_template('__one-post-shared.php', FALSE);
			else $htmlResults .= $this->load_template('__one-post.php', FALSE);
		
		}
		unset($onepost);
		
		//show register day of user
		if ($totalitems <= $numitemsnow + $numitems) {
			$D->isUserVerified = $this->network->isUserVerified($iduser);
			$htmlResults .= $this->load_template('__group-info-register.php', FALSE);
		}
		///////////////////////////////////////
		
		if ($totalitems <= ($numitemsnow + $numitems) ) {
			echo("2: ".$htmlResults);
			return;
		} else {
			echo("1: ".$htmlResults);
			return;	
		}		
	}
?>