Exemple #1
0
function add_message()
{
	global $CONF;
	$user = $_SESSION['user'];

	if ($user->getBanned()>0){
		return array('ok'=>false, 'error'=>'banned '.$user->getBanned());
	}

	if (isset($_SESSION['message_last_flood_time'])){

		if ((time() - $_SESSION['message_last_flood_time']) < $CONF['message_time_to_wait_flood']){
			$time_to_wait = $CONF['message_time_to_wait_flood'] - (time() - $_SESSION['message_last_flood_time']);
			return array('ok'=>false, 'error'=>'flood '.$time_to_wait);
		}

	}

	$_SESSION['message_last_flood_time']=time();

	$user = $_SESSION['user'];
	$userto=new RegUser();
	if (isset($_POST['user_to_id'])) $userto->setId($_POST['user_to_id']);
	elseif (isset($_POST['user_to_email'])) $userto->setEmail($_POST['user_to_email']);
	elseif (isset($_POST['user_to_nickname'])) $userto->setNickname($_POST['user_to_nickname']);
	else return array('ok'=>false, 'error'=>'undefined user to send');

	$message = new Message();

	$message->setUserFrom($user);
	$message->setUserTo($userto);

	$subject = strip_tags($_POST['subject']);
	if (strlen(str_replace(' ', '', $subject)) < $CONF['min_msg_chars'])
		return array('ok'=>false, 'error'=>'too short subject');
	$message->setSubject($subject);

	$msg = unescape_ampersand($_POST['msg']);
	if (strlen(str_replace(' ', '', strip_tags($msg))) < $CONF['min_msg_chars'])
		return array('ok'=>false, 'error'=>'too short message');

	$msg = strip_tags($msg, $CONF['permitted_tags_msg']);
	//$msg = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]","<a target=\"_BLANK\" href=\"\\0\">\\0</a>", $msg); //detectando URLs
	$msg = text_linkify($msg);
	$msg = str_replace('&nbsp;',' ',$msg);
	$message->setMsg($msg);

	$result = $message->save();
	if ($result=='ok'){
		return array('ok'=>true, 'error'=>'');
	}
	else
		return array('ok'=>false, 'error'=>'problems with this message: '.$result);
}
function create_account()
{
	global $CONF;
	$user = new RegUser();

	if (!preg_match("/^[".$CONF['nickname_chars']."]+$/i", $_POST['nickname_create_account']))
		return array('ok'=>false, 'error'=>'invalid nickname');

	if (trim($_POST['password_create_account'])=='')
		return array('ok'=>false, 'error'=>'no password');

	$user->setEmail($_POST['email_create_account']);
	$user->setNickname($_POST['nickname_create_account']);
	$user->setPassword($_POST['password_create_account']);
	if (isset($_POST['signature_create_account']))
		$user->setSignature($_POST['signature_create_account']);

	if (isset($_POST['camefrom_create_account']))
		$user->setCameFrom($_POST['camefrom_create_account']);

	$r = $user->save();
	if ($r=='ok')
	{
		$channel=new Channel();
		$channel->setId(1);
		$channel->forceFollow($user);
		$r = $user->sendEmail();
		if (!$r)
			return array('ok'=>false, 'error'=>'we could not send the e-mail.');
		else{
			$GLOBALS['user'] = $user;
			$rc = new RegUser();
			$rc->setNickname("RapidCoffee");
			$rc->load();
			$topic = new Topic();
			$topic->setChannel($channel);
			$topic->setUser($rc);
			$topic->setSubject("Dêem boas vindas ao usuário " . $user->getNickname() . "!");
			$msg = "Seja bem-vindo(a), <b>" . $user->getNickname() . "</b>. Criamos este tópico para que você possa se apresentar e conhecer um pouco dos usuários do site. Boa estadia =)<br /><br />Equipe Rapid Coffee.";
			$msg = str_replace('&nbsp;',' ',$msg);
			$topic->setMsg($msg);
			$topic->save();
			$topic->follow();
			return array('ok'=>true, 'error'=>'');
		}
	}
	return array('ok'=>false, 'error'=>$r);
}
Exemple #3
0
	function getJsonTags(){
		//if ($this->listType=='cloneLastCameFrom')		
			$query = RegUser::cloneLastCameFrom($this->comefrom, $this->qtd);

		$result = array();
		if ($query!=null){
			foreach ($query as $user){
				$tmp = $user->getJsonTags();
				if (!$this->with_email)
						unset($tmp['email']);
				array_push($result, $tmp);
			}
		}
		return $result;
	}
function request_restore_password(){

	require_once('conf/location.php');

	global $LANG;
	global $CONF;

	$db = clone $GLOBALS['maindb'];

	if (!isset($_GET['user_request_restore_password']))
		return array("ok"=>false, error=>"no email");

	$user = new RegUser();
	$user->setEmail($_GET['user_request_restore_password']); $user->load();
	$user_id=$user->getId();
	if (empty($user_id))
		return array("ok"=>false, "error"=>"no email");

	$check=hash('sha512',$user->getEmail().$user->getEncPassword()."Θ");

	eval($LANG['requestrestoreemail_body']);
	//	system("echo \"".$body."\" > email.html");

		/*$headers  = "MIME-Version: 1.0\r\n";
		$headers .= "Content-type: text/html; charset=UTF-8\r\n";

		$headers .= "From: {$CONF['email_from']}\r\n";
		$headers .= "To: {$user->getNickname()} <{$user->getEmail()}>\r\n";
		*/
		
	//print_r($body);
	require_once('class/Mail.php');
	$a=new Mail();
	$a->setEmailTo($user->getEmail());
	$a->setNicknameTo($user->getNickname());
	$a->setSubject("Pedido de recuperação de senha");
	$a->setSubjectMsg("");
	$a->setMsg($body);
 	if ($a->send())
		return array("ok"=>true,"error"=>"");
	else
		return array("ok"=>false,"error"=>"could not send email");

}
Exemple #5
0
function signin($nickname, $password, $encrypted, $staysignedin)
{
	global $user, $CONF;

	$u = new RegUser();
	if (strpos($nickname,'@')===false)
		$u->setNickname($nickname);
	else
		$u->setEmail($nickname);
	
	if ($u->mustValidateEmailFirst()){
		$u->sendEmail();
		return array('nickname'=>$u->getNickname(), 'ok'=>false, 'error'=>'must validate email first');
	}

	if ($encrypted)
		$valid = $u->validateEncPassword($password);
	else
		$valid = $u->validatePassword($password);

	if ($valid){
		$user = $u;
		$user->load();
		if ($user->getFirstTime())
		{
			$user->setFirstTime(false);
			$la=$user->save();
		}
		$_SESSION['user'] = $user;
		if ($staysignedin=='true')
		{
			setcookie('nickname', $user->getNickname(), $CONF['cookie_rememberme_lifetime']);
			setcookie('password', $user->getEncPassword(), $CONF['cookie_rememberme_lifetime']);
		}
		$result = array('user'=> array('nickname'=>$user->getNickname(),'anon'=>false),
		                          'ok'=>true, 'error'=>'');
	} else {
		$result = array('nickname'=>'', 'ok'=>false, 'error'=>'invalid password');
	}

	return $result;
}
Exemple #6
0
	static function cloneLastCameFrom($camefrom=0, $qtd=-1){	//Retorna um array com os ultimos usuarios que vieram de camefrom
		global $CONF;

		if ($qtd<=0) $qtd=$CONF['user_list_qt'];

		$addwhere='';
		if ($camefrom>=0)
			$addwhere.=" AND camefrom in ($camefrom)";

		$db = clone $GLOBALS['maindb'];
		$db->query("SELECT *,ceil( (2^(bancounter-1)*${CONF['ban_time']} + extract (epoch from lastban_time) - extract (epoch from now()))/60 ) as banned FROM vw_user WHERE 1=1 {$addwhere} ORDER BY date desc LIMIT $qtd;");

		if ($db->number_rows()<=0) return null;

		$stArr = array($db->number_rows());

		$i = 0;
		while ($row = $db->fetch())
		{
			$tmp = new RegUser();
			$tmp->constructFromRow($row);
			$stArr[$i]=$tmp;
			$i++;
		}
		return $stArr;
	}
?>

<?php

	require_once('conf/config.php');
	require_once("class/User.php");
	require_once('conf/location.php');

	global $LANG;

	if (!isset($_GET['b']) || !isset($_GET['c'])){
		$msg=$LANG['error'].": ".$LANG['error_intrusion'];
		$msgclass="error";
	} else {
	
		$user = new RegUser();
		$user->setEmail(urldecode($_GET['b']));

		$check=substr(hash('sha512',"i want".$user->getEmail()."Θ never 咖啡 receive email食物"),0,8);

		if ($check==urldecode($_GET['c'])) {
			$user->stopReceiveEmail();
			$msg=$LANG['user_stopmail'];
			$msgclass="success";
		} else {
			$msg=$LANG['error']."<br/>".$LANG['error_intrusion'];
			$msgclass="error";
		}
	}

	$header='Location: '.$CONF['url_path'].'home.php?msg='.urlencode($msg).'&msgclass='.urlencode($msgclass);
	along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
?>
<?php

	require_once('conf/location.php');

	global $LANG;
	global $CONF;

	$db = clone $GLOBALS['maindb'];

	if (!isset($_GET['b']))
		return array("ok"=>false, error=>"no email");

	$user = new RegUser();
	$user->setEmail($_GET['b']); $user->load();
	$user_id=$user->getId();
	if (empty($user_id))
		return array("ok"=>false, "error"=>"no email");

	$check=hash('sha512',$user->getEmail().$user->getEncPassword()."Θ");

	if ($check==$_GET['c']){

		require_once('tool/utility.php');
		$newpassword=generateRandomPassword();
		$user->setPassword($newpassword);
		eval($LANG['restoreemail_body']);
		//system("echo \"".$body."\" > email.html");
Exemple #9
0
    if (iconv_strlen($email) < 4 || iconv_strlen($email) > 20) {
        $error_email = "E-mail должен быть от 4-х символов";
        $is_error = true;
    }
    $check_pass = checkPasswords($password, $password_r);
    if (!$check_pass) {
        $error_password = "******";
        $is_error = true;
    }
    if ($is_error == false) {
        $ip = $_SERVER["REMOTE_ADDR"];
        $date = date('Y-m-d H:i:s');
        $group = "Пользователь";
        $salt = rand(324546, 679861);
        $password = md5(md5($password) . md5($salt));
        $new_user = new RegUser($login, $password, $salt, $group, $name, $last_name, $email, $ip, $date);
        if ($new_user->checkLoginReg() == ERROR_CONNECT_DB || $new_user->checkLoginReg($login) == LOGIN_BUSY) {
            $error_reg = $new_user->checkLoginReg();
        } else {
            if ($new_user->addUser()) {
                $success_reg = "Вы успешно зарегистрировались под логином " . $login;
            } else {
                $error_reg = "При регистрации возникла ошибка. Попробуйте снова";
            }
        }
    }
}
?>
<!DOCTYPE html>
<html>
<head>
Exemple #10
0
function engine_doit(){
	global $CONF;
	$whats = explode(',', $_GET['what']);
	$result = null;

	if (isset($_GET['SYSTEM_redirect'])){
		unset($_GET['SYSTEM_redirect']);
		switch($_GET['what']){
			case 'topic':
				include('basichtml/viewtopic.php');
				break;
			case 'datetopics':
				include('basichtml/topic_list.php');
				break;
			case 'confirm_user':
				include('controller/confirm_user.php');
				break;
			case 'user_stopmail':
				include('controller/user_stopmail.php');
				break;
			case 'add_email':
				include('controller/add_email.php');
				break;
			case 'remove_email':
				include('controller/remove_email.php');
				break;
			case 'restore_password':
				include('controller/restore_password.php');
				break;
			case 'followchannel_acceptreject':
				include('controller/followchannel_acceptreject.php');
				break;
			case 'autoopenchannel':
				include('controller/autoopenchannel.php');
				break;
			case 'autoopentopic':
				include('controller/autoopentopic.php');
				break;
/*			case 'ETUEngine':
				include('tool/ETUEngine.php');
				$etu=new ETUEngine();
				$etu->start(1);
				break;
*/

		}
		return;
	} 
	foreach ($whats as $what)
	{
		switch($what)
		{
			case 'fromname':
				require_once("controller/fromname.php");
				$result['fromname'] = fromname($_GET['id_fromname']);
				break;
			case 'setuserfrom':
				require_once("class/User.php");
				$tuser = new RegUser();
				$tuser->setNickname($_GET['nick_setuserfrom']);
				$valid = $tuser->validatePassword($_GET['pass_setuserfrom']);
				if ($valid)
				{
					$tuser->load();
					$tuser->setCameFrom($_GET['fromid_setuserfrom']);
					$tuser->save();
				}
				break;
			case 'message':
				require_once('template/TMessage.php');
				require_once('class/Message.php');
				$message = new Message(); 
				if (isset($_GET['id_message']) && !empty($_GET['id_message']))
					$message->setId($_GET['id_message']);
				else { $result['message']=array(); break; }
				$tmessage = new TMessage(); $tmessage->setMessage($message);
				$result['message']=$tmessage->getJsonTags();
				break;
			case 'mymessages':
				require_once('template/TListMessage.php');
				$tlist = new TListMessage();	$tlist->setListType("cloneMy"); $tlist->setOnlySubsumed(true);
				if (isset($_GET['sorting_mymessages'])) $tlist->setSorting($_GET['sorting_mymessages']);
				if (isset($_GET['lastid_mymessages'])) $tlist->setLastId($_GET['lastid_mymessages']);
				$result['mymessages']=$tlist->getJsonTags();
				break;
			case 'regchannel':
				require_once("template/TChannel.php");
				require_once("class/Channel.php");
				$t = new TChannel();
				$o=new Channel();
				$prettyUrl='';
				if (isset($_GET['id_regchannel'])) {
					$o->setId($_GET['id_regchannel']);
				} elseif (isset($_GET['name_regchannel'])) {
					if (substr($_GET['name_regchannel'],-1,1)=='-'){
						$result['regchannel']=array("ok"=>false,"error"=>"invalid name","exist"=>true,'prettyUrl'=>'');
						break;
					} else {
						$o->setName($_GET['name_regchannel']);
						$prettyUrl=Channel::prettyUrlAvailable($_GET['name_regchannel']);
					}
				} elseif (isset($_GET['urlname_regchannel'])) {
					if ($_GET['urlname_regchannel'] != Channel::prettyUrl($_GET['urlname_regchannel'])){
						$result['regchannel']=array("ok"=>false,"error"=>"invalid url","exist"=>true, 'prettyUrl'=>'');
						break;
					}
					$o->setUrlname($_GET['urlname_regchannel']);
					$prettyUrl=$_GET['urlname_regchannel'];
				} else {
					$result['regchannel']=array("ok"=>false,"error"=>"no param", "exist"=>true, 'prettyUrl'=>'');
					break;
				}
				$t->setChannel($o);
				$r=$t->getJsonTags();
				if ($r['id']==null || $r['name']==null || $r['lang']==null)
					$result['regchannel']=array("ok"=>true,"error"=>"","exist"=>false,'prettyUrl'=>$prettyUrl);
				else
					$result['regchannel']=array("ok"=>true,"error"=>"","exist"=>true,'prettyUrl'=>$r['urlname']);
				break;
			case 'channels':
				require_once('template/TListChannel.php');
				$tlist = new TListChannel();	$tlist->setListType("cloneAll"); $tlist->setOnlySubsumed(true);
				if (isset($_GET['sorting_channels'])) $tlist->setSorting($_GET['sorting_channels']);
				$result['channels']=$tlist->getJsonTags();
				break;
			case 'followedchannels':
				require_once('template/TListChannel.php');
				$tlist = new TListChannel();
				if ($_SESSION['user']->isAnon())
					$tlist->setListType("cloneAll");
				else
					$tlist->setListType("cloneFollowed"); 
				$tlist->setOnlySubsumed(true);
				if (isset($_GET['sorting_followedchannels'])) $tlist->setSorting($_GET['sorting_followedchannels']);
				$result['followedchannels']=$tlist->getJsonTags();
				break;
			case 'mychannels':
				require_once('template/TListChannel.php');
				$tlist = new TListChannel();	$tlist->setListType("cloneMy"); $tlist->setOnlySubsumed(false);
				if (isset($_GET['sorting_mychannels'])) $tlist->setSorting($_GET['sorting_mychannels']);
				$result['mychannels']=$tlist->getJsonTags();
				break;
			case 'mostvisitedchannels':
				require_once('template/TListChannel.php');
				$tlist = new TListChannel();	$tlist->setListType("cloneMostVisited"); $tlist->setOnlySubsumed(false);
				if (isset($_GET['qtd_mostvisitedchannels'])) $tlist->setQtd($_GET['qtd_mostvisitedchannels']);
				if (isset($_GET['signed_mostvisitedchannels'])) $tlist->setSigned($_GET['signed_mostvisitedchannels']);
				$result['mostvisitedchannels']=$tlist->getJsonTags();
				break;
			case 'recommendedchannels':
				require_once('template/TListChannel.php');
				$tlist = new TListChannel();	$tlist->setListType("cloneRecommended"); $tlist->setOnlySubsumed(false);
				if (isset($_GET['qtd_recommendedchannels'])) $tlist->setQtd($_GET['qtd_recommendedchannels']);
				$result['recommendedchannels']=$tlist->getJsonTags();
				break;
			case 'channel':
				require_once('template/TChannel.php');
				require_once('class/Channel.php');
				$channel = new Channel(); 
				if (isset($_GET['id_channel']) && !empty($_GET['id_channel']))
					$channel->setId($_GET['id_channel']);
				elseif (isset($_GET['name_channel']) && !empty($_GET['name_channel'])) 
					$channel->setName($_GET['name_channel']);
				else { $result['channel']=array(); break; }
				$tchannel = new TChannel(); $tchannel->setChannel($channel);
				$result['channel']=(array('channel'=>$tchannel->getJsonTags(), "topics"=>array() ));
				break;
			case 'followedchanneltopics':
				require_once('template/TListTopic.php');
				$tlisttopic = new TListTopic();	$tlisttopic->setListType("cloneChannelFollowed"); $tlisttopic->setOnlySubsumed(true);
				if (isset($_GET['orderid_followedchanneltopics'])) $tlisttopic->setOrderId($_GET['orderid_followedchanneltopics']);
				if (isset($_GET['lastorderid_followedchanneltopics'])) $tlisttopic->setLastOrderId($_GET['lastorderid_followedchanneltopics']);
				if (isset($_GET['sorting_followedchanneltopics'])) $tlisttopic->setSorting($_GET['sorting_followedchanneltopics']);
				if (isset($_GET['qtd_followedchanneltopics'])) $tlisttopic->setQtd($_GET['qtd_followedchanneltopics']);
				$result['followedchanneltopics']=$tlisttopic->getJsonTags();
				break;
			case 'recenttopics':
				require_once('getter/recenttopics.php');
				$result['recenttopics']=recenttopics();
				break;
			case 'datetopics':
				require_once('template/TListTopic.php');
				if (!isset($_GET['year_datetopics'])) {
					$result['datetopics']=array();
					break;
				}
				$tlisttopic = new TListTopic();	$tlisttopic->setListType("cloneByDate"); $tlisttopic->setOnlySubsumed(true);
				$tlisttopic->setYear($_GET['year_datetopics']);
				if (isset($_GET['month_datetopics'])) $tlisttopic->setMonth($_GET['month_datetopics']);
				if (isset($_GET['day_datetopics'])) $tlisttopic->setDay($_GET['day_datetopics']);
				$result['datetopics']=$tlisttopic->getJsonTags();
				break;
			case 'searchtopics':
				require_once('template/TListTopic.php');
				require_once('tool/SearchTopic.php');
				if (isset($_GET['words_searchtopics'])){
					$tlisttopic = new TListTopic();	$tlisttopic->setListType("cloneSearch"); $tlisttopic->setOnlySubsumed(true);
					$tlisttopic->setSearch(SearchTopic::getQuery($_GET['words_searchtopics']));
					if (isset($_GET['orderid_searchtopics'])) $tlisttopic->setOrderId($_GET['orderid_searchtopics']);
					$result['searchtopics']=$tlisttopic->getJsonTags();
				} else $result['searchtopics']=array("ok"=>false,"error"=>"no words");
				break;
			case 'searchmain':
				require_once('template/TListChannel.php');
				require_once('tool/SearchEngine.php');
				if (isset($_GET['words_searchmain'])){
					$tlisttopic = new TListChannel(); $tlisttopic->setListType("cloneSearch"); $tlisttopic->setOnlySubsumed(true);
					$tlisttopic->setSearch(SearchEngine::getQueryChannels(unescape_ampersand($_GET['words_searchmain'])));
					//if (isset($_GET['orderid_searchtopics'])) $tlisttopic->setOrderId($_GET['orderid_searchtopics']);
					$result['searchmain']['channels']=$tlisttopic->getJsonTags();
				} else $result['searchmain']=array("ok"=>false,"error"=>"no words");
				break;
			case 'usertopics':
				require_once('template/TListTopic.php');
				require_once('class/User.php');
				if (isset($_GET['nickname_usertopics'])){
					$tlisttopic = new TListTopic();	$tlisttopic->setListType("cloneByUser"); $tlisttopic->setOnlySubsumed(true);
					if (isset($_GET['sorting_usertopics'])) $tlisttopic->setSorting($_GET['sorting_usertopics']);
					$u=new RegUser();
					$u->setNickname($_GET['nickname_usertopics']); $u->load();
					$tlisttopic->setUser($u);
					if (isset($_GET['orderid_usertopics'])) $tlisttopic->setOrderId($_GET['orderid_usertopics']);
					if (isset($_GET['idchannel_usertopics'])) $tlisttopic->setIdChannel($_GET['idchannel_usertopics']);
					$result['usertopics']=$tlisttopic->getJsonTags();
				} else $result['usertopics']=array();
				break;
			case 'userposttopics':
				require_once('template/TListTopic.php');
				require_once('class/User.php');
				if (isset($_GET['nickname_userposttopics'])){
					$tlisttopic = new TListTopic();	$tlisttopic->setListType("cloneByUserPost"); $tlisttopic->setOnlySubsumed(true);
					if (isset($_GET['sorting_userposttopics'])) $tlisttopic->setSorting($_GET['sorting_userposttopics']);
					$u=new RegUser();
					$u->setNickname($_GET['nickname_userposttopics']); $u->load();
					$tlisttopic->setUser($u);
					if (isset($_GET['orderid_userposttopics'])) $tlisttopic->setOrderId($_GET['orderid_userposttopics']);
					if (isset($_GET['idchannel_userposttopics'])) $tlisttopic->setIdChannel($_GET['idchannel_userposttopics']);
					$result['userposttopics']=$tlisttopic->getJsonTags();
				} else $result['userposttopics']=array();
				break;
			case 'uft':
				require_once('getter/uft.php');
				$result['uft']=uft();
				break;
			case 'followedtopics':
				require_once('conf/session.php');
				require_once('template/TListTopic.php');
				$tlisttopic = new TListTopic();	$tlisttopic->setListType("cloneFollowed"); $tlisttopic->setOnlySubsumed(true);
				if (isset($_GET['orderid_followedtopics'])) $tlisttopic->setOrderId($_GET['orderid_followedtopics']);
				if (isset($_GET['idchannel_followedtopics'])) $tlisttopic->setIdChannel($_GET['idchannel_followedtopics']);
				$result['followedtopics']=$tlisttopic->getJsonTags() ;
				break;
		
			case 'topic':
				if (!isset($_GET['id_topic']) || empty($_GET['id_topic'])) { $result['topic']=array(); break; }
				require_once('template/TTopic.php');
				require_once('template/TListPost.php');
				require_once('class/Topic.php');
				require_once('class/Channel.php');
				$topic = new Topic(); $topic->setId($_GET['id_topic']);
				if (!$topic->getChannel()->canIRead()){ $result['topic']=array("error"=>'you cant see this topic'); break; }
				$ttopic = new TTopic(); $ttopic->setTopic($topic);
				$tlistpost = new TListPost(); $tlistpost->setTopic($topic);
				$tlistpostbest = new TListPost(); $tlistpostbest->setTopic($topic); $tlistpostbest->setQtd($CONF['post_best_qt']); $tlistpostbest->setSorting("likes desc,date desc");
				$result['topic']=(array('topic'=>$ttopic->getJsonTags(), "posts"=>$tlistpost->getJsonTags(), "bestposts"=>$tlistpostbest->getJsonTags()) );
				break;

			case 'refresh_topic_previews':
				if (!isset($_GET['ids_refresh_topic_previews']) || empty($_GET['ids_refresh_topic_previews'])) { $result['refresh_topic_previews']=array(); break;}
				if (!isset($_GET['versions_refresh_topic_previews']) || empty($_GET['versions_refresh_topic_previews'])) { $result['refresh_topic_previews']=array(); break;}
				require_once("template/TListTopic.php");
				$tlisttopic = new TListTopic();	$tlisttopic->setListType("cloneUpdated"); $tlisttopic->setOnlySubsumed(true);
				$tlisttopic->setIds(explode(",",$_GET['ids_refresh_topic_previews']));
				$tlisttopic->setCounters(explode(",",$_GET['versions_refresh_topic_previews']));
				$result['refresh_topic_previews']=$tlisttopic->getJsonTags();
				break;
			case 'refresh_topics':
				if (!isset($_GET['ids_refresh_topics']) || empty($_GET['ids_refresh_topics'])) { $result['refresh_topics']=array(); break;}
				if (!isset($_GET['versions_refresh_topics']) || empty($_GET['versions_refresh_topics'])){ $result['refresh_topics']=array(); break;}
				require_once("template/TListTopic.php");
				$tlisttopic = new TListTopic();	$tlisttopic->setListType("cloneUpdated"); $tlisttopic->setWithPosts(true);
				if (isset($_GET['idchannel_refresh_topics'])) $tlisttopic->setIdChannel($_GET['idchannel_refresh_topics']);
				$tlisttopic->setIds(explode(",",$_GET['ids_refresh_topics']));
				$tlisttopic->setCounters(explode(",",$_GET['versions_refresh_topics']));
				$result['refresh_topics']=$tlisttopic->getJsonTags();
				break;
			case 'new_topic_previews':
				require_once("getter/new_topic_previews.php");
				$result['new_topic_previews']=new_topic_previews();
				break;
			case 'reguser':
				require_once("template/TUser.php");
				require_once("class/User.php");
				$tuser = new TUser();
				$u=new RegUser();
				if (isset($_GET['id_reguser'])) $u->setId($_GET['id_reguser']);
				elseif (isset($_GET['email_reguser'])) $u->setEmail($_GET['email_reguser']);
				elseif (isset($_GET['nickname_reguser'])) {
					if (substr($_GET['nickname_reguser'],-1,1)=='-'){
						$result['reguser']=array("ok"=>true,"error"=>"","exist"=>true);
						break;
					} else {
						$u->setNickname($_GET['nickname_reguser']);
					}
				} else {
					$result['reguser']=array("ok"=>false,"error"=>"no param");
					break;
				}
				$tuser->setUser($u);
				$r=$tuser->getJsonTags();
				if ($r['id']==null || $r['nickname']==null || $r['lang']==null)
					$result['reguser']=array("ok"=>true,"error"=>"","exist"=>false);
				else
					$result['reguser']=array("ok"=>true,"error"=>"","exist"=>true);
				break;
			case 'userscamefrom':
				require_once('template/TListUser.php');
				$tlist = new TListUser(); $tlist->setListType("cloneLastCameFrom");
				if (isset($_GET['camefrom_userscamefrom']))
					$tlist->setCameFrom($_GET['camefrom_userscamefrom']);
				if (isset($_GET['qtd_userscamefrom']))
					$tlist->setQtd($_GET['qtd_userscamefrom']);
				$result['userscamefrom']=$tlist->getJsonTags();
				break;
			case 'user':
				require_once("template/TUser.php");
				require_once("class/User.php");
				global $user;
				$tuser = new TUser(); 
				if (!isset($_GET['id_user']) || !isset($_GET['anon_user'])){
					$tuser->setUser($user);
					$tuser->setWithEmail(true);
				} else{
					if ($_GET['anon_user']){
						$u = new AnonUser(); $u->setId($_GET['id_user']);
					} else {
						$u = new RegUser(); $u->setId($_GET['id_user']); 
					}
					$tuser->setUser($u);
				}
				$result['user']=$tuser->getJsonTags();	
				break;
			case 'add_topic':
				require_once('controller/add_topic.php');
				$result['add_topic']=add_topic();
				break;
			case 'add_message':
				require_once('controller/add_message.php');
				$result['add_message']=add_message();
				break;
			case 'read_message':
				require_once('controller/read_message.php');
				$result['read_message']=read_message();
				break;
			case 'add_channel':
				require_once('controller/add_channel.php');
				$result['add_channel']=add_channel();
				break;
			case 'add_post':
				require_once('controller/add_post.php');
				$result['add_post']=add_post();
				break;
			case 'update_channel':
				require_once('controller/update_channel.php');
				$result['update_channel']=update_channel();
				break;
			case 'update_topic':
				require_once('controller/update_topic.php');
				$result['update_topic']=update_topic();
				break;
			case 'update_post':
				require_once('controller/update_post.php');
				$result['update_post']=update_post();
				break;
			case 'followtopic':
				require_once('controller/followtopic.php');
				$result['followtopic']=followtopic();
				break;
			case 'unfollowtopic':
				require_once('controller/unfollowtopic.php');
				$result['unfollowtopic']=unfollowtopic();
				break;
			case 'followchannel':
				require_once('controller/followchannel.php');
				$result['followchannel']=followchannel($_GET['channelid_followchannel']);
				break;
			case 'followchannels':
				require_once('controller/followchannel.php');
				$chids=explode(",",$_GET['channelids_followchannels']);
				for ($i=0;$i<count($chids);$i++)
					$result['followchannels'][$i]=followchannel($chids[$i]);
				break;
			case 'unfollowchannel':
				require_once('controller/unfollowchannel.php');
				$result['unfollowchannel']=unfollowchannel();
				break;
			case 'create_account':
				require_once('controller/create_account.php');
				$result['create_account']=create_account();
				break;
			case 'update_user_avatar':
				require_once('controller/update_user_avatar.php');
				$result['update_user_avatar'] = update_user_avatar($_GET['file'],$_GET['x1'],$_GET['y1'],$_GET['x2'],$_GET['y2']);
				break;
			case 'upload_temp_avatar':
				require_once('controller/upload_temp_avatar.php');
				$result['upload_temp_avatar'] = upload_temp_avatar();
				break;
			case 'update_channel_logo':
				require_once('controller/update_channel_logo.php');
				$result['update_channel_logo'] = update_channel_logo($_GET['file'],$_GET['x1'],$_GET['y1'],$_GET['x2'],$_GET['y2']);
				break;
			case 'upload_temp_logo':
				require_once('controller/upload_temp_logo.php');
				$result['upload_temp_logo'] = upload_temp_logo();
				break;
			case 'update_user':
				require_once('controller/update_user.php');
				$result['update_user'] = update_user();
				break;
			case 'change_user_lang':
				require_once('controller/change_user_lang.php');
				$result['change_user_lang']=change_user_lang();
				break;
			case 'like_dislike_this':
				require_once("controller/like_dislike_this.php");
				$result['like_dislike_this'] = like_dislike_this();
				break;
			case 'signin':
				$result['signin'] = signin($_POST['nickname_signin'], $_POST['password_signin'], false, $_POST['staysignedin_signin']);
				break;
			case 'signout':
				require_once("controller/signout.php");
				$result['signout'] = signout();
				break;
			case 'request_restore_password':
				require_once('controller/request_restore_password.php');
				$result['request_restore_password']=request_restore_password();
				break;
			case 'visittopic':
				require_once('class/Topic.php');
				if (!isset($_GET['topicid_visittopic'])) 
					$result['visittopic']=array("ok"=>false,"error"=>"error no id");
				else {
					$topic = new Topic();
					$topic->setId($_GET['topicid_visittopic']);
					if ($topic->visit())
						$result['visittopic']=array("ok"=>true,"error"=>"");
					else
						$result['visittopic']=array("ok"=>false,"error"=>"error db");
				}
				break;
			case 'deletetopic':
				require_once('controller/deletetopic.php');
				$result['deletetopic']=deletetopic();
				break;
			case 'lang':
				require_once('conf/location.php');
				global $LANG;
				$result['lang']=$LANG['JSON'];
				break;
			default:
				break;
		}
	}
	
	return $result;
}
Exemple #11
0
	require_once('conf/config.php');
	require_once("class/User.php");
	require_once("class/Channel.php");
	require_once('conf/location.php');

	global $LANG;

	if (!isset($_GET['b']) || !isset($_GET['c'])){
		$msg=$LANG['error'].": ".$LANG['error_intrusion'];
	} else {
	
		$user = new RegUser();
		$user->setId($_GET['b']);
		$result=$user->confirm($_GET['c']);
		if ($result=='ok') {
			$Ruser=new RegUser();
			$Ruser->setEmail($user->getEmail());
//			$channel=new Channel();
//			$channel->setId(1);
//			$channel->forceFollow($Ruser);
			$msg=$LANG['confirm_user_added']."<br/>".$LANG['confirm_user_message'];
			$msgclass="success";
		} elseif ($result=='error user already exists') {
			$msg=$LANG['confirmuser_alreadyexists'];
			$msgclass="info";
		} else {
			$msg=$LANG['error']."<br/>".$LANG['error_intrusion'];
			$msgclass="error";
		}
	}
	global $LANGALL;
	global $LANG;
	global $CONF;

	$db = clone $GLOBALS['maindb'];

	if (!isset($_GET['b']))
		return array("ok"=>false, error=>"no following");

	$check=hash('sha512',"00`Θ^*' ♣  hk".chr(11)."1".$_GET['b']);

	if ($check==$_GET['c']){
		
		$ufc_=Channel::confirmFollow($_GET['b'],$_GET['a']=='accept');
		if (count($ufc_)>0){
			$userto=new RegUser();
			$userto->setId($ufc_['userid']);$userto->load();
			$channel=new Channel();
			$channel->setId($ufc_['channelid']);
			$message = new Message();
			$message->setUserFrom($_SESSION['user']);
			$message->setUserTo($userto);
			if ($_GET['a']=='accept'){
				$msg=$LANG['channel_confirmfollow_accepted'];
				if ($userto->getLang()=='pt_br'){
					$message->setSubject($LANGALL['pt_br']['channel_asktofollow_subject']);
					$message->setMsg('#'.$channel->getName().'\n<br/>'.$LANGALL['pt_br']['channel_confirmfollow_accepted']);
				} else {
					$message->setSubject($LANGALL['en_us']['channel_asktofollow_subject']);
					$message->setMsg('#'.$channel->getName().'\n<br/>'.$LANGALL['en_us']['channel_confirmfollow_accepted']);
				}