Exemple #1
0
function friend_user_cleanfriends()
{
    // menghapus semua Social.Friends yg sudah tidak ada di table Users.Account
    $lilo_mongo = new LiloMongo();
    $lilo_mongo->selectDB('Social');
    $lilo_mongo->selectCollection('Friends');
    $friend_cursor = $lilo_mongo->find();
    while ($friend = $friend_cursor->getNext()) {
        // cek apakah $friend[friend_id]; ada di Users.Account
        $lilo_mongo->selectDB('Users');
        $lilo_mongo->selectCollection('Account');
        $criteria = array('lilo_id' => $friend['friend_id']);
        $user_data = $lilo_mongo->findOne($criteria);
        if (count($user_data) < 1) {
            // hapus dari Social.Friends
            $lilo_mongo->selectDB('Social');
            $lilo_mongo->selectCollection('Friends');
            $criteria = array('friend_id' => $friend['friend_id']);
            $lilo_mongo->delete($criteria);
            print "<pre>";
            print_r($criteria);
            print "</pre><br />";
        }
    }
}
Exemple #2
0
function unity_user_delstatus()
{
    $status_id = func_arg(0);
    $lilo_mongo = new LiloMongo();
    $lilo_mongo->selectDB('Users');
    $lilo_mongo->selectCollection('UserProfile');
    $cekada = $lilo_mongo->delete(array('_id' => $lilo_mongo->mongoid($status_id), 'lilo_id' => (string) $_SESSION['a_id']));
    $retData = array('success' => false, 'message' => "Status gagal dihapus");
    if ($cekada) {
        $retData = array('valid' => TRUE, 'status' => "Status berhasil dihapus");
    }
    return json_encode($retData);
}
function asset_admin_inventory()
{
    // CRUD for Assets.Inventory
    $lilo_mongo = new LiloMongo();
    $lilo_mongo->selectDB('Assets');
    $lilo_mongo->selectCollection('Inventory');
    // delete
    $delete = trim($_REQUEST['delete']);
    if ($delete != '') {
        $lilo_mongo->delete(array('lilo_id' => $delete));
        return "1";
    }
    // detail
    $detail = trim($_REQUEST['detail']);
    if ($detail != '') {
        $data = $lilo_mongo->findOne(array('lilo_id' => $detail));
        return json_encode($data);
    }
    // new_inventory
    $new_inventory = trim($_REQUEST['new_inventory']);
    if ($new_inventory == "1") {
        extract($_POST);
        // tipe, description, icon
        if (trim($tipe) != '') {
            $inventory_data = array('tipe' => $tipe, 'description' => $description, 'icon' => $icon);
            $lilo_id_ = $lilo_mongo->insert($inventory_data);
            $lilo_mongo->update($inventory_data, array_merge($inventory_data, array('lilo_id' => (string) $lilo_id_)), array("multiple" => false));
        }
    }
    // dapatkan data Assets.Inventory
    $inventory_array = $lilo_mongo->find();
    $html = '';
    $template = new Template();
    $template->basepath = $_SESSION['basepath'];
    $template->inventory_array = $inventory_array;
    $html = $template->render("modules/002_asset_management/templates/asset_admin_inventory.php");
    $html = ui_admin_default(NULL, $html);
    return $html;
}
Exemple #4
0
/**

	jika user tutup browser tanpa login, maka time_end yg tersimpan adl time last request
	
	saat user login, cek apakah ada data di table session utk user_id dia
	jika ada, pindahkan dulu datanya ke table SessionLog (user_id, session_id, time_start, time_end), baru kemudian data di Session dihapus
	
	table SessionLog ini yg digunakan utk menghitung achievement 'online_time'
*/
function user_user_logout()
{
    // hapus session terkait login
    // mengeset field time_end di table Session
    $lilo_mongo = new LiloMongo();
    $lilo_mongo->selectDB('Users');
    if (isset($_SESSION['session_id'])) {
        $session_id = $_SESSION['session_id'];
        $lilo_mongo->selectCollection('Session');
        $array_criteria = array('session_id' => $session_id);
        // sementara hapus dulu data di Session
        // informasi tentang time_start dan time_end nantinya disimpan di table lain
        $session_data = $lilo_mongo->findOne($array_criteria);
        //		$cur_date = date("Y-m-d H:i:s");
        //		$array_newobj = array('$set' => array('time_end' => $cur_date));
        //		$array_options = array('upsert' => true);
        //
        //		$lilo_mongo->update($array_criteria, $array_newobj, $array_options);
        $array_criteria = array('user_id' => $_SESSION['user_id']);
        $lilo_mongo->delete($array_criteria);
        $lilo_mongo->selectCollection('SessionLog');
        $lilo_mongo->insert($session_data);
    }
    // die("<pre>" . print_r($_SESSION, true) . "<pre>");
    unset($_SESSION['session_id']);
    unset($_SESSION['username']);
    unset($_SESSION['user_id']);
    $redirect_to_fb_logout = 0;
    if (isset($_SESSION['fb_id'])) {
        $redirect_to_fb_logout = 1;
    }
    unset($_SESSION['fb_me']);
    unset($_SESSION['fb_id']);
    unset($_SESSION['signed_request']);
    $basepath = $_SESSION['basepath'];
    $config = array();
    $config['appId'] = '353789864649141';
    $config['secret'] = '9e066419bed7d9ff07f4475f26318aa8';
    $config['fileUpload'] = false;
    // optional
    $facebook = new Facebook($config);
    $fb_logoutUrl = $facebook->getLogoutUrl();
    $facebook->destroySession();
    session_start();
    session_unset();
    session_destroy();
    session_write_close();
    setcookie(session_name(), '', 0, '/');
    session_regenerate_id(true);
    //	ob_start();
    //	session_start();
    /*$_SESSION['just_logout'] = 1;*/
    //	die("<pre>" . print_r($_SESSION, true) . "</pre>");
    if ($redirect_to_fb_logout) {
        //		header("Location: " . $_SESSION['fb_logoutUrl']);
        write_log(array('log_text' => time() . ": Redirect ke logouturl: " . $fb_logoutUrl));
        header("Location: " . $fb_logoutUrl);
        //		header("Location: " . $_SESSION['fb_logoutUrl']);
        exit;
    }
    //	header("Location: " . $_SESSION['basepath']);
    header("Location: " . $basepath);
    exit;
    $html = "<script>\r\n\t\tvar oauth_url = '" . $basepath . "';\r\n\t\twindow.top.location = oauth_url;\r\n\t\t\r\n\t</script>";
    write_log(array('log_text' => time() . ": Redirect dgn html: " . $html));
    print $html;
    exit;
    //	return "1";
}
Exemple #5
0
function asset_admin_inventory()
{
    // CRUD for Assets.Inventory
    $lilo_mongo = new LiloMongo();
    $lilo_mongo->selectDB('Assets');
    $lilo_mongo->selectCollection('Inventory');
    // delete
    $delete = trim($_REQUEST['delete']);
    if ($delete != '') {
        // next: rename icon menjadi 'deleted__' . original_name
        $deleted_data = $lilo_mongo->findOne(array('lilo_id' => $delete));
        if ($deleted_data['icon'] != '') {
            unlink($deleted_data['icon']);
        }
        $lilo_mongo->delete(array('lilo_id' => $delete));
        return "1";
    }
    // detail
    $detail = trim($_REQUEST['detail']);
    if ($detail != '') {
        $data = $lilo_mongo->findOne(array('lilo_id' => $detail));
        return json_encode($data);
    }
    // new_inventory
    $new_inventory = trim($_REQUEST['new_inventory']);
    if ($new_inventory == "1") {
        extract($_POST);
        // tipe, description, icon
        if (trim($tipe) != '') {
            // delete dulu yg tipe-nya sama
            $lilo_mongo->delete(array('tipe' => $tipe));
            // upload icon
            $uploaddir = 'bundles/inventory/icons/';
            $uploadfile = $uploaddir . time() . '__' . basename($_FILES['icon']['name']);
            $icon = '';
            if (move_uploaded_file($_FILES['icon']['tmp_name'], $uploadfile)) {
                //        echo "File is valid, and was successfully uploaded.\n";
                $icon = $uploadfile;
            } else {
                //        echo "Possible file upload attack!\n";
            }
            $curtime = time();
            $inventory_data = array('tipe' => $tipe, 'description' => $description, 'icon' => $icon, 'upload_time' => $curtime, 'last_edit_time' => $curtime);
            $lilo_id_ = $lilo_mongo->insert($inventory_data);
            $lilo_mongo->update($inventory_data, array_merge($inventory_data, array('lilo_id' => (string) $lilo_id_)), array("multiple" => false));
        }
        header('Location:' . $_SESSION['basepath'] . 'asset/admin/inventory');
    }
    // edit_inventory
    $edit_inventory = trim($_REQUEST['edit_inventory']);
    if ($edit_inventory != '') {
        //  Array (
        //    [q] => asset/admin/inventory
        //    [edit_inventory] => 4ea62afd89b38f280b000001
        //    [edit_tipe] => Test002
        //    [edit_description] => Testing Kedua
        //    [PHPSESSID] => 0g7pjm3pc256rerjfv01ae1f24 )
        extract($_REQUEST);
        // edit_tipe, edit_description, edit_icon
        if (trim($edit_tipe) != '') {
            // upload icon
            $icon = '';
            if (trim($_FILES['edit_icon']['name']) != '') {
                $uploaddir = 'bundles/inventory/icons/';
                $uploadfile = $uploaddir . time() . '__' . basename($_FILES['edit_icon']['name']);
                if (move_uploaded_file($_FILES['edit_icon']['tmp_name'], $uploadfile)) {
                    $icon = $uploadfile;
                } else {
                }
            }
            $curtime = time();
            if ($icon != '') {
                $inventory_data = array('tipe' => $edit_tipe, 'description' => $edit_description, 'icon' => $icon, 'last_edit_time' => $curtime);
                // hapus file icon yg lama
                $deleted_data = $lilo_mongo->findOne(array('lilo_id' => $edit_inventory));
                if ($deleted_data['icon'] != '') {
                    unlink($deleted_data['icon']);
                }
            } else {
                $inventory_data = array('tipe' => $edit_tipe, 'description' => $edit_description, 'last_edit_time' => $curtime);
            }
            $criteria = array('lilo_id' => $edit_inventory);
            $lilo_mongo = new LiloMongo();
            $lilo_mongo->selectDB('Assets');
            $lilo_mongo->selectCollection('Inventory');
            $lilo_mongo->update_set($criteria, $inventory_data);
        }
        header('Location:' . $_SESSION['basepath'] . 'asset/admin/inventory');
    }
    // dapatkan data Assets.Inventory
    $inventory_array = $lilo_mongo->find();
    $inventory_array = $inventory_array->sort(array('upload_time' => -1));
    // digunakan utk list inventory di quest/admin/default
    $return_json = $_REQUEST['return_json'];
    if ($return_json == "1") {
        $inv_array = array();
        while ($curr = $inventory_array->getNext()) {
            $inv_array[] = $curr;
        }
        return json_encode($inv_array);
    }
    $html = '';
    $template = new Template();
    $template->basepath = $_SESSION['basepath'];
    $template->inventory_array = $inventory_array;
    $html = $template->render("modules/002_asset_management/templates/asset_admin_inventory.php");
    $html = ui_admin_default(NULL, $html);
    return $html;
}
function quest_admin_ws_dialogstory($op = NULL, $id = NULL, $data = NULL)
{
    // quest/admin/ws_dialogstory							=> list all dialog_story
    // quest/admin/ws_dialogstory/read				=> -- idem --
    // quest/admin/ws_dialogstory/create			=> menerima $_POST untuk dimasukkan ke db
    // quest/admin/ws_dialogstory/update/$id	=> menerima $_POST untuk update dialog_story dgn id = $id
    // quest/admin/ws_dialogstory/delete/$id	=> menghapus dialog_story dgn id = $id
    if (!isset($op)) {
        $op = func_arg(0) != '' ? func_arg(0) : 'read';
    }
    $lilo_mongo = new LiloMongo();
    $lilo_mongo->selectDB('Game');
    // Game: DialogStory, Dialog, DialogOption, Quest
    $lilo_mongo->selectCollection('DialogStory');
    switch ($op) {
        case 'create':
            // sementara baru data di Game.DialogStory dulu belum sampe ke anak2nya...
            if (!isset($data)) {
                // data = array(name, description);
                $data = $_POST;
            }
            //			return $data['all_variable'];
            if (!isset($data['name'])) {
                return false;
            }
            //			$data['all_variable'] = parse_str($data['all_variable']);
            $a = explode('&', $data['all_variable']);
            $i = 0;
            while ($i < count($a)) {
                $b = split('=', $a[$i]);
                //					echo 'Value for parameter ', htmlspecialchars(urldecode($b[0])),
                //							 ' is ', htmlspecialchars(urldecode($b[1])), "<br />\n";
                $i++;
                $key = urldecode($b[0]);
                $val = urldecode($b[1]);
                // option_content_quest_
                if (substr($key, 0, 21) == 'option_content_quest_') {
                    $val_expl = explode('-', $val);
                    $val = trim($val_expl[0]);
                }
                $data['all_variable_2'][$key] = $val;
            }
            $dialog_story_id = $lilo_mongo->insert($data);
            $lilo_mongo->update($data, array_merge($data, array('lilo_id' => (string) $dialog_story_id)), array("multiple" => false));
            return "1";
            //$dialog_story_id;
            break;
        case 'update':
            // sementara baru data di Game.DialogStory dulu belum sampe ke anak2nya...
            if (!isset($id)) {
                $id = func_arg(1);
            }
            if (!isset($data)) {
                // data = array(name, description);
                $data = $_POST;
            }
            $lilo_mongo->update(array('lilo_id' => $id), $data, array("multiple" => false));
            return "1";
            break;
        case 'delete':
            if (!isset($id)) {
                $id = func_arg(1);
            }
            $lilo_mongo->delete(array('lilo_id' => $id));
            return "1";
            break;
    }
    // op == 'read'
    $dialog_stories = array();
    $dialog_stories_cursor = $lilo_mongo->find();
    while ($dialog_story = $dialog_stories_cursor->getNext()) {
        $dialog_stories[] = $dialog_story;
    }
    //	return json_encode($dialog_stories);
    $dialog_stories = json_encode($dialog_stories);
    return $dialog_stories;
    //	return str_replace('"', "'", $dialog_stories);
}
Exemple #7
0
function mobile_social_delcommentnews()
{
    $user_email = func_arg(0);
    $user_id = _get_id_user($user_email);
    $news_id = func_arg(1);
    $_id = func_arg(2);
    $lilo_mongo = new LiloMongo();
    $lilo_mongo->selectDB('Social');
    $lilo_mongo->selectCollection('NewsComments');
    $data = $lilo_mongo->delete(array("user_id" => $user_id, "_id" => $lilo_mongo->mongoid($_id)));
    $output['count'] = $lilo_mongo->count(array("news_id" => $news_id));
    return json_encode($output);
}
Exemple #8
0
function mobile_avatar_delcollections()
{
    $user_id = func_arg(0);
    $_id = func_arg(1);
    $lilo_mongo = new LiloMongo();
    $lilo_mongo->selectDB('Users');
    $lilo_mongo->selectCollection('AvatarCollection');
    $data = $lilo_mongo->delete(array('user_id' => $user_id, "_id" => $lilo_mongo->mongoid($_id)));
    $output['collectionsCount'] = $lilo_mongo->count(array("user_id" => $user_id));
    return json_encode($output);
}
Exemple #9
0
/**

	jika user tutup browser tanpa login, maka time_end yg tersimpan adl time last request
	
	saat user login, cek apakah ada data di table session utk user_id dia
	jika ada, pindahkan dulu datanya ke table SessionLog (user_id, session_id, time_start, time_end), baru kemudian data di Session dihapus
	
	table SessionLog ini yg digunakan utk menghitung achievement 'online_time'
*/
function user_user_logout()
{
    // hapus session terkait login
    // mengeset field time_end di table Session
    $lilo_mongo = new LiloMongo();
    $lilo_mongo->selectDB('Users');
    if (isset($_SESSION['session_id'])) {
        $session_id = $_SESSION['session_id'];
        $lilo_mongo->selectCollection('Session');
        $array_criteria = array('session_id' => $session_id);
        // sementara hapus dulu data di Session
        // informasi tentang time_start dan time_end nantinya disimpan di table lain
        $session_data = $lilo_mongo->findOne($array_criteria);
        //		$cur_date = date("Y-m-d H:i:s");
        //		$array_newobj = array('$set' => array('time_end' => $cur_date));
        //		$array_options = array('upsert' => true);
        //
        //		$lilo_mongo->update($array_criteria, $array_newobj, $array_options);
        $array_criteria = array('user_id' => $_SESSION['user_id']);
        $lilo_mongo->delete($array_criteria);
        $lilo_mongo->selectCollection('SessionLog');
        $lilo_mongo->insert($session_data);
    }
    unset($_SESSION['session_id']);
    unset($_SESSION['username']);
    unset($_SESSION['user_id']);
    $redirect_to_fb_logout = 0;
    if (isset($_SESSION['fb_id'])) {
        $redirect_to_fb_logout = 1;
    }
    unset($_SESSION['fb_me']);
    unset($_SESSION['fb_id']);
    unset($_SESSION['signed_request']);
    if ($redirect_to_fb_logout) {
        header("Location: " . $_SESSION['fb_logoutUrl']);
        exit;
    }
    header("Location: " . $_SESSION['basepath']);
    exit;
    //	return "1";
}