View file apps/native/ajax/start_up/content.php

File size: 5.74Kb
<?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['status'] = 400;
    $data['error']  = 'Invalid access token';
}

else if ($action == 'upload_profile_avatar') {
    if (not_empty($_FILES['avatar']) && not_empty($_FILES['avatar']['tmp_name'])) {
        $file_info      =  array(
            'file'      => $_FILES['avatar']['tmp_name'],
            'size'      => $_FILES['avatar']['size'],
            'name'      => $_FILES['avatar']['name'],
            'type'      => $_FILES['avatar']['type'],
            'file_type' => 'thumbnail',
            'folder'    => 'avatars',
            'slug'      => 'avatar',
            'crop'      => array('width' => 512, 'height' => 512),
            'allowed'   => 'jpg,png,jpeg,gif'
        );

        $file_upload = cl_upload($file_info);

        if (not_empty($file_upload['cropped'])) {
            cl_delete_media($file_upload['filename']);
            cl_delete_media($me['raw_avatar']);

            cl_update_user_data($me['id'], array(
                'avatar' => $file_upload['cropped']
            ));

            $data['status'] = 200;
            $data['url']    = cl_get_media($file_upload['cropped']);
        } 

        else{
            $data['err_code'] = "invalid_req_data";
            $data['status']   = 400;
        }
    }
}

else if ($action == 'save_profile_avatar') {

    $me["start_up"]["avatar"] = 1;
    $data['status']           = 200;
    $data['progstat']         = $me["start_up"];

    cl_update_user_data($me['id'], array(
        'start_up' => json($me["start_up"], true)
    ));
}

else if ($action == 'save_profile_info') {
    $data['err_code'] = 0;
    $data['status']   = 400;
    $country_list     = array_keys($cl["countries"]);
    $user_data_fields = array(
        'fname'       => fetch_or_get($_POST['fname'], null),
        'lname'       => fetch_or_get($_POST['lname'], null),
        'bio'         => fetch_or_get($_POST['bio'], null),
        'country'     => fetch_or_get($_POST['country'], null),
        'gender'      => fetch_or_get($_POST['gender'], 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) {
                $data['err_code'] = "invalid_fname"; break;
            }
        }

        else if($field_name == 'lname') {
            if (empty($field_val) || len_between($field_val,3, 25) != true) {
                $data['err_code'] = "invalid_lname"; break;
            }
        }

        else if($field_name == 'bio') {
            if (len($field_val) > 140) {
                $data['err_code'] = "invalid_bio"; break;
            }
        }

        else if($field_name == 'country') {
            if (not_num($field_val) || (in_array($field_val, $country_list) != true)) {
                $data['err_code'] = "invalid_country"; break;
            }
        }

        else if($field_name == 'gender') {
            if (not_empty($field_val) && in_array($field_val, array('M', 'F', 'O', 'T')) != true) {
                $data['err_code'] = "invalid_gender"; break;
            }
        }
    }

    if (empty($data['err_code'])) {
        $me["start_up"]["info"] = 1;
        $data['status']         = 200;
        $data['progstat']       = $me["start_up"];

        cl_update_user_data($me["id"], array(
            'fname'      => cl_text_secure($user_data_fields['fname']),
            'lname'      => cl_text_secure($user_data_fields['lname']),
            'about'      => cl_text_secure($user_data_fields['bio']),
            'country_id' => cl_text_secure($user_data_fields['country']),
            'gender'     => cl_text_secure($user_data_fields['gender']),
            'start_up'   => json($me["start_up"], true)
        ));
    }
}

else if($action == 'finish_startup') {
    $data['err_code'] = 0;
    $data['status']   = 200;
    $follow_users     = fetch_or_get($_POST["flw"], false);

    cl_update_user_data($me["id"], array(
        'start_up' => 'done'
    ));

    if ($follow_users == "Y") {
        $suggestions = cl_get_follow_suggestions(20);

        if (not_empty($suggestions)) {
            foreach ($suggestions as $row) {
                $udata = cl_raw_user_data($row["id"]);

                if (not_empty($udata)) {
                    if ($udata["follow_privacy"] == "everyone") {

                        cl_follow($me["id"], $udata["id"]);
                        cl_follow_increase($me["id"], $udata["id"]);

                        cl_notify_user(array(
                            'subject'  => 'subscribe',
                            'user_id'  => $udata["id"],
                            'entry_id' => $me["id"]
                        ));
                    }

                    else {
                        cl_follow_request($me['id'], $udata["id"]);

                        cl_notify_user(array(
                            'subject'  => 'subscribe_request',
                            'user_id'  => $udata["id"],
                            'entry_id' => $me["id"]
                        ));
                    }
                }
            }
        }
    }
}