View file apps/native/api/gen_settings/content.php

File size: 6.96Kb
<?php 
# @*************************************************************************@
# @ Software author: Mansur Altamirov (Mansur_TL)							@
# @ Author_url 1: https://www.instagram.com/mansur_tl                       @
# @ Author_url 2: http://codecanyon.net/user/mansur_tl                      @
# @ Author E-mail: vayart.help@gmail.com                                    @
# @*************************************************************************@
# @ ColibriSM - The Ultimate Modern Social Media Sharing Platform           @
# @ Copyright (c) 2020 - 2021 ColibriSM. All rights reserved.               @
# @*************************************************************************@

if (empty($cl['is_logged'])) {
	$data         = array(
		'code'    => 401,
		'data'    => array(),
		'message' => 'Unauthorized Access'
	);
}
else {
	$valid_error      = false;
	$user_data_fields = array(
		'fname'       => fetch_or_get($_POST['first_name'], null),
		'lname'       => fetch_or_get($_POST['last_name'], null),
		'about'       => fetch_or_get($_POST['about'], null),
		'email'       => fetch_or_get($_POST['email'], null),
		'gender'      => fetch_or_get($_POST['gender'], null),
		'website'     => fetch_or_get($_POST['website'], null),
		'country_id'  => fetch_or_get($_POST['country_id'], null),
        'uname'       => fetch_or_get($_POST['username'], null)
	);

	foreach ($user_data_fields as $field_name => $field_val) {
		if ($field_name == 'fname') {
			if (empty($field_val) || len_between($field_val, 3, 25) != true) {
	            $valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "Invlid user first name";
	            $data['code']    = 400; break;
	        }
		}

		else if ($field_name == 'lname') {
			if (empty($field_val) || len_between($field_val, 3, 25) != true) {
	            $valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "Invlid user last name";
	            $data['code']    = 400; break;
	        }
		}

		else if ($field_name == 'about') {
			if (len($field_val) > 140) {
	            $valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "The text you entered is too long, the maximum length is 140 characters";
	            $data['code']    = 400; break;
	        }
		}

		else if($field_name == 'email') {
			if (empty($field_val) || (filter_var($field_val, FILTER_VALIDATE_EMAIL) != true || len($field_val) > 55)) {
				$valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "The email address you entered does not match the valid format.";
	            $data['code']    = 400; break;
			}

			else if(cl_email_exists($field_val) && ($field_val != $me['email'])) {
				$valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "This email address is already taken";
	            $data['code']    = 400; break;
			}
		}

		else if ($field_name == 'gender') {
			if (empty($field_val) || in_array($field_val, array('M', 'F', 'O', 'T')) != true) {
	            $valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "The user gender you selected is not valid";
	            $data['code']    = 400; break;
	        }
		}

		else if($field_name == 'website') {
        	if (not_empty($field_val) && (is_url($field_val) != true || len($field_val) > 115)) {
        		$valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "Website URL address you entered is not valid";
	            $data['code']    = 400; break;
        	}
        }

        else if($field_name == 'country_id') {
        	if (not_num($field_val) || (in_array($field_val, array_keys($cl["countries"])) != true)) {
        		$valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "Country your selected is not valid";
	            $data['code']    = 400; break;
        	}
        }

        else if ($field_name == 'uname') {
            if (empty($field_val)) {
               	$valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "Username is missing or inavlid";
	            $data['code']    = 400; break;
            }

            else if (len_between($field_val,3, 25) != true) {
                $valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "Username is missing or inavlid";
	            $data['code']    = 400; break;
            }

            else if (preg_match('/^[\w]+$/', $field_val) != true) {
                $valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "This username does not match the valid format. Please select a username of no more than 25 characters using only letters (a-z) numbers and underscores";
	            $data['code']    = 400; break;
            }

            else if(cl_uname_exists($field_val) && $field_val != $me['raw_uname']) {
                $valid_error     = true;
	            $data['data']    = array();
	            $data['message'] = "This username is already taken, please select another";
	            $data['code']    = 400; break;
            }
        }
	}

	if (empty($valid_error)) {
        cl_update_user_data($me["id"], array(
            'fname'      => cl_text_secure($user_data_fields['fname']),
            'lname'      => cl_text_secure($user_data_fields['lname']),
            'username'   => cl_text_secure($user_data_fields['uname']),
            'email'      => cl_text_secure($user_data_fields['email']),
            'about'      => cl_text_secure($user_data_fields['about']),
            'gender'     => cl_text_secure($user_data_fields['gender']),
            'website'    => cl_text_secure($user_data_fields['website']),
            'country_id' => cl_text_secure($user_data_fields['country_id'])
        ));

        if ($user_data_fields['uname'] != $me['raw_uname']) {
            cl_update_user_data($me["id"], array(
                'verified' => '0'
            ));
        }

        $me               = cl_user_data($me["id"]);
        $data["code"]     = 200;
        $data["message"]  = "Profile data updated successfully";
        $data["data"]     = array(
        	'id'          => $me['id'],
        	'first_name'  => $me['fname'],
        	'last_name'   => $me['lname'],
        	'user_name'   => $me['raw_uname'],
        	'email'       => $me['email'],
        	'is_verified' => (($me['verified'] == '1') ? true : false),
        	'website'     => $me['website'],
        	'about_you'   => $me['about'],
        	'gender'      => $me['gender'],
        	'country'     => $me['country_name'],
        	'post_count'  => $me['posts'],
        	'ip_address'  => $me['ip_address'],
        	'following_count' => $me['following'],
        	'follower_count'  => $me['followers'],
        	'language'        => $me['language'],
        	'last_active'     => $me['last_active'],
        	'member_since'    => $me['joined']
        );
    }
}