<?php

/************************************************************************/
/* DOCEBO CORE - Framework												*/
/* ============================================							*/
/*																		*/
/* Copyright (c) 2006													*/
/* http://www.docebo.com												*/
/*																		*/
/* This program is free software. You can redistribute it and/or modify	*/
/* it under the terms of the GNU General Public License as published by	*/
/* the Free Software Foundation; either version 2 of the License.		*/
/************************************************************************/

/**
 * @package admin-core
 * @subpackage user
 * @category ajax server
 * @version $Id:$
 */

if(isset($_REQUEST['GLOBALS'])) die('GLOBALS overwrite attempt detected');

define("IN_DOCEBO", true);

$path_to_root = '..';

// prepare refer ------------------------------------------------------------------

require_once(dirname(__FILE__).'/'.$path_to_root.'/config.php');
require_once($GLOBALS['where_config'].'/config.php');
/*
if ($GLOBALS["where_cms_relative"] != false)
	$GLOBALS["where_cms_relative"]=$path_to_root.'/'.$GLOBALS["where_cms_relative"];

if ($GLOBALS["where_kms_relative"] != false)
	$GLOBALS["where_kms_relative"]=$path_to_root.'/'.$GLOBALS["where_kms_relative"];

if ($GLOBALS["where_lms_relative"] != false)
	$GLOBALS["where_lms_relative"]=$path_to_root.'/'.$GLOBALS["where_lms_relative"];

if ($GLOBALS["where_framework_relative"] != false)
	$GLOBALS["where_framework_relative"]=$path_to_root.'/'.$GLOBALS["where_framework_relative"];

*/
if ($GLOBALS["where_files_relative"] != false) {
	$GLOBALS["where_files_relative"]=$path_to_root.'/'.$GLOBALS["where_files_relative"];
}
ob_start();

// connect to database -------------------------------------------------------------------

$GLOBALS['dbConn'] = mysql_connect($GLOBALS['dbhost'], $GLOBALS['dbuname'], $GLOBALS['dbpass']);
if( !$GLOBALS['dbConn'] )
	die( "Can't connect to db. Check configurations" );

if( !mysql_select_db($dbname, $GLOBALS['dbConn']) )
	die( "Database not found. Check configurations" );

@mysql_query("SET NAMES '".$GLOBALS['db_conn_names']."'", $GLOBALS['dbConn']);
@mysql_query("SET CHARACTER SET '".$GLOBALS['db_conn_char_set']."'", $GLOBALS['dbConn']);

// load lms setting ------------------------------------------------------------------
require_once($GLOBALS['where_framework'].'/setting.php');
require_once($GLOBALS['where_lms'].'/setting.php');

session_name("docebo_session");
session_start();

// load regional setting --------------------------------------------------------------
require_once($GLOBALS['where_framework']."/lib/lib.regset.php");
$GLOBALS['regset'] = new RegionalSettings();

// load current user from session -----------------------------------------------------
require_once($GLOBALS['where_framework'].'/lib/lib.user.php');
$GLOBALS['current_user'] =& DoceboUser::createDoceboUserFromSession('public_area');

require_once($GLOBALS['where_framework'].'/lib/lib.lang.php');
require_once($GLOBALS['where_framework'].'/lib/lib.template.php');
require_once($GLOBALS['where_framework'].'/lib/lib.utils.php');

// security check --------------------------------------------------------------------

chkInput($_GET);
chkInput($_POST);
chkInput($_COOKIE);

$GLOBALS['operation_result'] = '';
function docebo_cout($string) { $GLOBALS['operation_result'] .= $string; }

// here all the specific code ==========================================================

$op = importVar('op');

switch($op) {
	
	case "get_lang" : {
		
		$module_name 	= importVar('module_name');
		$platform 		= importVar('platform');
		
		$lang =& DoceboLanguage::createInstance( 'standard', 'framework');
		$lang->setGlobal();
		$lang =& DoceboLanguage::createInstance( $module_name, $platform);
		
		$value = array(
			'_TITLE_ASK_A_FRIEND' 	=> $lang->def('_TITLE_ASK_A_FRIEND'), 
			'_WRITE_ASK_A_FRIEND' 	=> $lang->def('_WRITE_ASK_A_FRIEND'), 
			'_SEND_MESSAGE' 		=> $lang->def('_SEND_MESSAGE'), 
			'_UNDO' 				=> $lang->def('_UNDO'),
			'_ASK_FRIEND_SEND' 		=> $lang->def('_ASK_FRIEND_SEND'), 
			'_ASK_FRIEND_FAIL' 		=> $lang->def('_ASK_FRIEND_FAIL'), 
			
			'_MESSAGE_SUBJECT' 		=> $lang->def('_MESSAGE_SUBJECT'), 
			'_MESSAGE_TEXT' 		=> $lang->def('_MESSAGE_TEXT'), 
			'_MESSAGE_SEND' 		=> $lang->def('_MESSAGE_SEND'), 
			'_MESSAGE_FAIL' 		=> $lang->def('_MESSAGE_FAIL')
		);
  
		require_once($GLOBALS['where_framework'].'/lib/lib.json.php');
		$json = new Services_JSON();
		$output = $json->encode($value);
  		docebo_cout($output);
	};break;
	case "send_ask_friend" : {
		
		require_once($GLOBALS['where_framework'].'/lib/lib.myfriends.php');
		
		$module_name 	= importVar('module_name');
		$platform 		= importVar('platform');
		
		$id_friend 			= importVar('id_friend');
		$message_request 	= importVar('message_request');
		
		$lang =& DoceboLanguage::createInstance( 'standard', 'framework');
		$lang->setGlobal();
		$lang =& DoceboLanguage::createInstance( $module_name, $platform);
		
		$my_fr = new MyFriends(getLogUserId());
		if($my_fr->addFriend($id_friend, MF_WAITING, $message_request)) {
			$value = array('re' => true);
		} else {
			$value = array('re' => false);
		}
		
		require_once($GLOBALS['where_framework'].'/lib/lib.json.php');
		$json = new Services_JSON();
		$output = $json->encode($value);
  		docebo_cout($output);
	};break;
	case "send_message" : {
		
		require_once($GLOBALS['where_framework'].'/lib/lib.message.php');
		
		$module_name 	= importVar('module_name');
		$platform 		= importVar('platform');
		
		$recipient 			= importVar('send_to');
		$message_subject 	= importVar('message_subject');
		$message_text 		= importVar('message_text');
		
		$lang =& DoceboLanguage::createInstance( 'standard', 'framework');
		$lang->setGlobal();
		$lang =& DoceboLanguage::createInstance( $module_name, $platform);
		
		if(MessageModule::quickSendMessage(getLogUserId(), $recipient, $message_subject, $message_text)) {
			$value = array('re' => true);
		} else {
			$value = array('re' => false);
		}
		require_once($GLOBALS['where_framework'].'/lib/lib.json.php');
		$json = new Services_JSON();
		$output = $json->encode($value);
  		docebo_cout($output);
	};break;
}

// =====================================================================================

// close database connection

mysql_close($GLOBALS['dbConn']);

ob_clean();
echo $GLOBALS['operation_result'];
ob_end_flush();

?>
