File "phpcgusersprofiles-create.php"

Full Path: /home/humancap/cl.humancap.com.my/admin/inc/forms/phpcgusersprofiles-create.php
File size: 45.44 KB
MIME-type: text/x-php
Charset: utf-8

<?php
use phpformbuilder\Form;
use phpformbuilder\Validator\Validator;
use phpformbuilder\database\DB;
use common\Utils;
use secure\Secure;

include_once ADMIN_DIR . 'secure/class/secure/Secure.php';

$debug_content = '';

/* =============================================
    validation if posted
============================================= */

if ($_SERVER["REQUEST_METHOD"] == "POST" && Form::testToken('form-create-phpcg-users-profiles') === true) {
    $validator = Form::validate('form-create-phpcg-users-profiles', FORMVALIDATION_PHP_LANG);
    $validator->required()->validate('profile_name');
    $validator->maxLength(100)->validate('profile_name');
    $validator->required()->validate('r_assess_bi');
    $validator->integer()->validate('r_assess_bi');
    $validator->min(-9)->validate('r_assess_bi');
    $validator->max(9)->validate('r_assess_bi');
    $validator->required()->validate('u_assess_bi');
    $validator->integer()->validate('u_assess_bi');
    $validator->min(-9)->validate('u_assess_bi');
    $validator->max(9)->validate('u_assess_bi');
    $validator->required()->validate('cd_assess_bi');
    $validator->integer()->validate('cd_assess_bi');
    $validator->min(-9)->validate('cd_assess_bi');
    $validator->max(9)->validate('cd_assess_bi');
    $validator->maxLength(255)->validate('cq_assess_bi');
    $validator->required()->validate('r_assessment');
    $validator->integer()->validate('r_assessment');
    $validator->min(-9)->validate('r_assessment');
    $validator->max(9)->validate('r_assessment');
    $validator->required()->validate('u_assessment');
    $validator->integer()->validate('u_assessment');
    $validator->min(-9)->validate('u_assessment');
    $validator->max(9)->validate('u_assessment');
    $validator->required()->validate('cd_assessment');
    $validator->integer()->validate('cd_assessment');
    $validator->min(-9)->validate('cd_assessment');
    $validator->max(9)->validate('cd_assessment');
    $validator->maxLength(255)->validate('cq_assessment');
    $validator->required()->validate('r_assessment_by_assessor');
    $validator->integer()->validate('r_assessment_by_assessor');
    $validator->min(-9)->validate('r_assessment_by_assessor');
    $validator->max(9)->validate('r_assessment_by_assessor');
    $validator->required()->validate('u_assessment_by_assessor');
    $validator->integer()->validate('u_assessment_by_assessor');
    $validator->min(-9)->validate('u_assessment_by_assessor');
    $validator->max(9)->validate('u_assessment_by_assessor');
    $validator->required()->validate('cd_assessment_by_assessor');
    $validator->integer()->validate('cd_assessment_by_assessor');
    $validator->min(-9)->validate('cd_assessment_by_assessor');
    $validator->max(9)->validate('cd_assessment_by_assessor');
    $validator->maxLength(255)->validate('cq_assessment_by_assessor');
    $validator->required()->validate('r_behavioral_indicator');
    $validator->integer()->validate('r_behavioral_indicator');
    $validator->min(-9)->validate('r_behavioral_indicator');
    $validator->max(9)->validate('r_behavioral_indicator');
    $validator->required()->validate('u_behavioral_indicator');
    $validator->integer()->validate('u_behavioral_indicator');
    $validator->min(-9)->validate('u_behavioral_indicator');
    $validator->max(9)->validate('u_behavioral_indicator');
    $validator->required()->validate('cd_behavioral_indicator');
    $validator->integer()->validate('cd_behavioral_indicator');
    $validator->min(-9)->validate('cd_behavioral_indicator');
    $validator->max(9)->validate('cd_behavioral_indicator');
    $validator->maxLength(255)->validate('cq_behavioral_indicator');
    $validator->required()->validate('r_company');
    $validator->integer()->validate('r_company');
    $validator->min(-9)->validate('r_company');
    $validator->max(9)->validate('r_company');
    $validator->required()->validate('u_company');
    $validator->integer()->validate('u_company');
    $validator->min(-9)->validate('u_company');
    $validator->max(9)->validate('u_company');
    $validator->required()->validate('cd_company');
    $validator->integer()->validate('cd_company');
    $validator->min(-9)->validate('cd_company');
    $validator->max(9)->validate('cd_company');
    $validator->maxLength(255)->validate('cq_company');
    $validator->required()->validate('r_competency');
    $validator->integer()->validate('r_competency');
    $validator->min(-9)->validate('r_competency');
    $validator->max(9)->validate('r_competency');
    $validator->required()->validate('u_competency');
    $validator->integer()->validate('u_competency');
    $validator->min(-9)->validate('u_competency');
    $validator->max(9)->validate('u_competency');
    $validator->required()->validate('cd_competency');
    $validator->integer()->validate('cd_competency');
    $validator->min(-9)->validate('cd_competency');
    $validator->max(9)->validate('cd_competency');
    $validator->maxLength(255)->validate('cq_competency');
    $validator->required()->validate('r_competency_type');
    $validator->integer()->validate('r_competency_type');
    $validator->min(-9)->validate('r_competency_type');
    $validator->max(9)->validate('r_competency_type');
    $validator->required()->validate('u_competency_type');
    $validator->integer()->validate('u_competency_type');
    $validator->min(-9)->validate('u_competency_type');
    $validator->max(9)->validate('u_competency_type');
    $validator->required()->validate('cd_competency_type');
    $validator->integer()->validate('cd_competency_type');
    $validator->min(-9)->validate('cd_competency_type');
    $validator->max(9)->validate('cd_competency_type');
    $validator->maxLength(255)->validate('cq_competency_type');
    $validator->required()->validate('r_field');
    $validator->integer()->validate('r_field');
    $validator->min(-9)->validate('r_field');
    $validator->max(9)->validate('r_field');
    $validator->required()->validate('u_field');
    $validator->integer()->validate('u_field');
    $validator->min(-9)->validate('u_field');
    $validator->max(9)->validate('u_field');
    $validator->required()->validate('cd_field');
    $validator->integer()->validate('cd_field');
    $validator->min(-9)->validate('cd_field');
    $validator->max(9)->validate('cd_field');
    $validator->maxLength(255)->validate('cq_field');
    $validator->required()->validate('r_industry');
    $validator->integer()->validate('r_industry');
    $validator->min(-9)->validate('r_industry');
    $validator->max(9)->validate('r_industry');
    $validator->required()->validate('u_industry');
    $validator->integer()->validate('u_industry');
    $validator->min(-9)->validate('u_industry');
    $validator->max(9)->validate('u_industry');
    $validator->required()->validate('cd_industry');
    $validator->integer()->validate('cd_industry');
    $validator->min(-9)->validate('cd_industry');
    $validator->max(9)->validate('cd_industry');
    $validator->maxLength(255)->validate('cq_industry');
    $validator->required()->validate('r_position');
    $validator->integer()->validate('r_position');
    $validator->min(-9)->validate('r_position');
    $validator->max(9)->validate('r_position');
    $validator->required()->validate('u_position');
    $validator->integer()->validate('u_position');
    $validator->min(-9)->validate('u_position');
    $validator->max(9)->validate('u_position');
    $validator->required()->validate('cd_position');
    $validator->integer()->validate('cd_position');
    $validator->min(-9)->validate('cd_position');
    $validator->max(9)->validate('cd_position');
    $validator->maxLength(255)->validate('cq_position');
    $validator->required()->validate('r_position_competency');
    $validator->integer()->validate('r_position_competency');
    $validator->min(-9)->validate('r_position_competency');
    $validator->max(9)->validate('r_position_competency');
    $validator->required()->validate('u_position_competency');
    $validator->integer()->validate('u_position_competency');
    $validator->min(-9)->validate('u_position_competency');
    $validator->max(9)->validate('u_position_competency');
    $validator->required()->validate('cd_position_competency');
    $validator->integer()->validate('cd_position_competency');
    $validator->min(-9)->validate('cd_position_competency');
    $validator->max(9)->validate('cd_position_competency');
    $validator->maxLength(255)->validate('cq_position_competency');
    $validator->required()->validate('r_project');
    $validator->integer()->validate('r_project');
    $validator->min(-9)->validate('r_project');
    $validator->max(9)->validate('r_project');
    $validator->required()->validate('u_project');
    $validator->integer()->validate('u_project');
    $validator->min(-9)->validate('u_project');
    $validator->max(9)->validate('u_project');
    $validator->required()->validate('cd_project');
    $validator->integer()->validate('cd_project');
    $validator->min(-9)->validate('cd_project');
    $validator->max(9)->validate('cd_project');
    $validator->maxLength(255)->validate('cq_project');
    $validator->required()->validate('r_phpcg_users');
    $validator->integer()->validate('r_phpcg_users');
    $validator->min(-9)->validate('r_phpcg_users');
    $validator->max(9)->validate('r_phpcg_users');
    $validator->required()->validate('u_phpcg_users');
    $validator->integer()->validate('u_phpcg_users');
    $validator->min(-9)->validate('u_phpcg_users');
    $validator->max(9)->validate('u_phpcg_users');
    $validator->required()->validate('cd_phpcg_users');
    $validator->integer()->validate('cd_phpcg_users');
    $validator->min(-9)->validate('cd_phpcg_users');
    $validator->max(9)->validate('cd_phpcg_users');
    $validator->maxLength(255)->validate('cq_phpcg_users');
    $validator->required()->validate('r_phpcg_users_profiles');
    $validator->integer()->validate('r_phpcg_users_profiles');
    $validator->min(-9)->validate('r_phpcg_users_profiles');
    $validator->max(9)->validate('r_phpcg_users_profiles');
    $validator->required()->validate('u_phpcg_users_profiles');
    $validator->integer()->validate('u_phpcg_users_profiles');
    $validator->min(-9)->validate('u_phpcg_users_profiles');
    $validator->max(9)->validate('u_phpcg_users_profiles');
    $validator->required()->validate('cd_phpcg_users_profiles');
    $validator->integer()->validate('cd_phpcg_users_profiles');
    $validator->min(-9)->validate('cd_phpcg_users_profiles');
    $validator->max(9)->validate('cd_phpcg_users_profiles');
    $validator->maxLength(255)->validate('cq_phpcg_users_profiles');

    // check for errors
    if ($validator->hasErrors()) {
        $_SESSION['errors']['form-create-phpcg-users-profiles'] = $validator->getAllErrors();
    } else {
        require_once CLASS_DIR . 'phpformbuilder/database/db-connect.php';
        require_once CLASS_DIR . 'phpformbuilder/database/DB.php';
        $db = new DB(DEBUG);
        $db->setDebugMode('register');

        // begin transaction
        $db->transactionBegin();

        $values = array();
        $values['id'] = null;
        $values['profile_name'] = $_POST['profile_name'];
        if (is_array($_POST['r_assess_bi'])) {
            $json_values = json_encode($_POST['r_assess_bi'], JSON_UNESCAPED_UNICODE);
            $values['r_assess_bi'] = $json_values;
        } else {
            $values['r_assess_bi'] = intval($_POST['r_assess_bi']);
        }
        if (is_array($_POST['u_assess_bi'])) {
            $json_values = json_encode($_POST['u_assess_bi'], JSON_UNESCAPED_UNICODE);
            $values['u_assess_bi'] = $json_values;
        } else {
            $values['u_assess_bi'] = intval($_POST['u_assess_bi']);
        }
        if (is_array($_POST['cd_assess_bi'])) {
            $json_values = json_encode($_POST['cd_assess_bi'], JSON_UNESCAPED_UNICODE);
            $values['cd_assess_bi'] = $json_values;
        } else {
            $values['cd_assess_bi'] = intval($_POST['cd_assess_bi']);
        }
        $values['cq_assess_bi'] = $_POST['cq_assess_bi'];
        if (is_array($_POST['r_assessment'])) {
            $json_values = json_encode($_POST['r_assessment'], JSON_UNESCAPED_UNICODE);
            $values['r_assessment'] = $json_values;
        } else {
            $values['r_assessment'] = intval($_POST['r_assessment']);
        }
        if (is_array($_POST['u_assessment'])) {
            $json_values = json_encode($_POST['u_assessment'], JSON_UNESCAPED_UNICODE);
            $values['u_assessment'] = $json_values;
        } else {
            $values['u_assessment'] = intval($_POST['u_assessment']);
        }
        if (is_array($_POST['cd_assessment'])) {
            $json_values = json_encode($_POST['cd_assessment'], JSON_UNESCAPED_UNICODE);
            $values['cd_assessment'] = $json_values;
        } else {
            $values['cd_assessment'] = intval($_POST['cd_assessment']);
        }
        $values['cq_assessment'] = $_POST['cq_assessment'];
        if (is_array($_POST['r_assessment_by_assessor'])) {
            $json_values = json_encode($_POST['r_assessment_by_assessor'], JSON_UNESCAPED_UNICODE);
            $values['r_assessment_by_assessor'] = $json_values;
        } else {
            $values['r_assessment_by_assessor'] = intval($_POST['r_assessment_by_assessor']);
        }
        if (is_array($_POST['u_assessment_by_assessor'])) {
            $json_values = json_encode($_POST['u_assessment_by_assessor'], JSON_UNESCAPED_UNICODE);
            $values['u_assessment_by_assessor'] = $json_values;
        } else {
            $values['u_assessment_by_assessor'] = intval($_POST['u_assessment_by_assessor']);
        }
        if (is_array($_POST['cd_assessment_by_assessor'])) {
            $json_values = json_encode($_POST['cd_assessment_by_assessor'], JSON_UNESCAPED_UNICODE);
            $values['cd_assessment_by_assessor'] = $json_values;
        } else {
            $values['cd_assessment_by_assessor'] = intval($_POST['cd_assessment_by_assessor']);
        }
        $values['cq_assessment_by_assessor'] = $_POST['cq_assessment_by_assessor'];
        if (is_array($_POST['r_behavioral_indicator'])) {
            $json_values = json_encode($_POST['r_behavioral_indicator'], JSON_UNESCAPED_UNICODE);
            $values['r_behavioral_indicator'] = $json_values;
        } else {
            $values['r_behavioral_indicator'] = intval($_POST['r_behavioral_indicator']);
        }
        if (is_array($_POST['u_behavioral_indicator'])) {
            $json_values = json_encode($_POST['u_behavioral_indicator'], JSON_UNESCAPED_UNICODE);
            $values['u_behavioral_indicator'] = $json_values;
        } else {
            $values['u_behavioral_indicator'] = intval($_POST['u_behavioral_indicator']);
        }
        if (is_array($_POST['cd_behavioral_indicator'])) {
            $json_values = json_encode($_POST['cd_behavioral_indicator'], JSON_UNESCAPED_UNICODE);
            $values['cd_behavioral_indicator'] = $json_values;
        } else {
            $values['cd_behavioral_indicator'] = intval($_POST['cd_behavioral_indicator']);
        }
        $values['cq_behavioral_indicator'] = $_POST['cq_behavioral_indicator'];
        if (is_array($_POST['r_company'])) {
            $json_values = json_encode($_POST['r_company'], JSON_UNESCAPED_UNICODE);
            $values['r_company'] = $json_values;
        } else {
            $values['r_company'] = intval($_POST['r_company']);
        }
        if (is_array($_POST['u_company'])) {
            $json_values = json_encode($_POST['u_company'], JSON_UNESCAPED_UNICODE);
            $values['u_company'] = $json_values;
        } else {
            $values['u_company'] = intval($_POST['u_company']);
        }
        if (is_array($_POST['cd_company'])) {
            $json_values = json_encode($_POST['cd_company'], JSON_UNESCAPED_UNICODE);
            $values['cd_company'] = $json_values;
        } else {
            $values['cd_company'] = intval($_POST['cd_company']);
        }
        $values['cq_company'] = $_POST['cq_company'];
        if (is_array($_POST['r_competency'])) {
            $json_values = json_encode($_POST['r_competency'], JSON_UNESCAPED_UNICODE);
            $values['r_competency'] = $json_values;
        } else {
            $values['r_competency'] = intval($_POST['r_competency']);
        }
        if (is_array($_POST['u_competency'])) {
            $json_values = json_encode($_POST['u_competency'], JSON_UNESCAPED_UNICODE);
            $values['u_competency'] = $json_values;
        } else {
            $values['u_competency'] = intval($_POST['u_competency']);
        }
        if (is_array($_POST['cd_competency'])) {
            $json_values = json_encode($_POST['cd_competency'], JSON_UNESCAPED_UNICODE);
            $values['cd_competency'] = $json_values;
        } else {
            $values['cd_competency'] = intval($_POST['cd_competency']);
        }
        $values['cq_competency'] = $_POST['cq_competency'];
        if (is_array($_POST['r_competency_type'])) {
            $json_values = json_encode($_POST['r_competency_type'], JSON_UNESCAPED_UNICODE);
            $values['r_competency_type'] = $json_values;
        } else {
            $values['r_competency_type'] = intval($_POST['r_competency_type']);
        }
        if (is_array($_POST['u_competency_type'])) {
            $json_values = json_encode($_POST['u_competency_type'], JSON_UNESCAPED_UNICODE);
            $values['u_competency_type'] = $json_values;
        } else {
            $values['u_competency_type'] = intval($_POST['u_competency_type']);
        }
        if (is_array($_POST['cd_competency_type'])) {
            $json_values = json_encode($_POST['cd_competency_type'], JSON_UNESCAPED_UNICODE);
            $values['cd_competency_type'] = $json_values;
        } else {
            $values['cd_competency_type'] = intval($_POST['cd_competency_type']);
        }
        $values['cq_competency_type'] = $_POST['cq_competency_type'];
        if (is_array($_POST['r_field'])) {
            $json_values = json_encode($_POST['r_field'], JSON_UNESCAPED_UNICODE);
            $values['r_field'] = $json_values;
        } else {
            $values['r_field'] = intval($_POST['r_field']);
        }
        if (is_array($_POST['u_field'])) {
            $json_values = json_encode($_POST['u_field'], JSON_UNESCAPED_UNICODE);
            $values['u_field'] = $json_values;
        } else {
            $values['u_field'] = intval($_POST['u_field']);
        }
        if (is_array($_POST['cd_field'])) {
            $json_values = json_encode($_POST['cd_field'], JSON_UNESCAPED_UNICODE);
            $values['cd_field'] = $json_values;
        } else {
            $values['cd_field'] = intval($_POST['cd_field']);
        }
        $values['cq_field'] = $_POST['cq_field'];
        if (is_array($_POST['r_industry'])) {
            $json_values = json_encode($_POST['r_industry'], JSON_UNESCAPED_UNICODE);
            $values['r_industry'] = $json_values;
        } else {
            $values['r_industry'] = intval($_POST['r_industry']);
        }
        if (is_array($_POST['u_industry'])) {
            $json_values = json_encode($_POST['u_industry'], JSON_UNESCAPED_UNICODE);
            $values['u_industry'] = $json_values;
        } else {
            $values['u_industry'] = intval($_POST['u_industry']);
        }
        if (is_array($_POST['cd_industry'])) {
            $json_values = json_encode($_POST['cd_industry'], JSON_UNESCAPED_UNICODE);
            $values['cd_industry'] = $json_values;
        } else {
            $values['cd_industry'] = intval($_POST['cd_industry']);
        }
        $values['cq_industry'] = $_POST['cq_industry'];
        if (is_array($_POST['r_position'])) {
            $json_values = json_encode($_POST['r_position'], JSON_UNESCAPED_UNICODE);
            $values['r_position'] = $json_values;
        } else {
            $values['r_position'] = intval($_POST['r_position']);
        }
        if (is_array($_POST['u_position'])) {
            $json_values = json_encode($_POST['u_position'], JSON_UNESCAPED_UNICODE);
            $values['u_position'] = $json_values;
        } else {
            $values['u_position'] = intval($_POST['u_position']);
        }
        if (is_array($_POST['cd_position'])) {
            $json_values = json_encode($_POST['cd_position'], JSON_UNESCAPED_UNICODE);
            $values['cd_position'] = $json_values;
        } else {
            $values['cd_position'] = intval($_POST['cd_position']);
        }
        $values['cq_position'] = $_POST['cq_position'];
        if (is_array($_POST['r_position_competency'])) {
            $json_values = json_encode($_POST['r_position_competency'], JSON_UNESCAPED_UNICODE);
            $values['r_position_competency'] = $json_values;
        } else {
            $values['r_position_competency'] = intval($_POST['r_position_competency']);
        }
        if (is_array($_POST['u_position_competency'])) {
            $json_values = json_encode($_POST['u_position_competency'], JSON_UNESCAPED_UNICODE);
            $values['u_position_competency'] = $json_values;
        } else {
            $values['u_position_competency'] = intval($_POST['u_position_competency']);
        }
        if (is_array($_POST['cd_position_competency'])) {
            $json_values = json_encode($_POST['cd_position_competency'], JSON_UNESCAPED_UNICODE);
            $values['cd_position_competency'] = $json_values;
        } else {
            $values['cd_position_competency'] = intval($_POST['cd_position_competency']);
        }
        $values['cq_position_competency'] = $_POST['cq_position_competency'];
        if (is_array($_POST['r_project'])) {
            $json_values = json_encode($_POST['r_project'], JSON_UNESCAPED_UNICODE);
            $values['r_project'] = $json_values;
        } else {
            $values['r_project'] = intval($_POST['r_project']);
        }
        if (is_array($_POST['u_project'])) {
            $json_values = json_encode($_POST['u_project'], JSON_UNESCAPED_UNICODE);
            $values['u_project'] = $json_values;
        } else {
            $values['u_project'] = intval($_POST['u_project']);
        }
        if (is_array($_POST['cd_project'])) {
            $json_values = json_encode($_POST['cd_project'], JSON_UNESCAPED_UNICODE);
            $values['cd_project'] = $json_values;
        } else {
            $values['cd_project'] = intval($_POST['cd_project']);
        }
        $values['cq_project'] = $_POST['cq_project'];
        if (is_array($_POST['r_phpcg_users'])) {
            $json_values = json_encode($_POST['r_phpcg_users'], JSON_UNESCAPED_UNICODE);
            $values['r_phpcg_users'] = $json_values;
        } else {
            $values['r_phpcg_users'] = intval($_POST['r_phpcg_users']);
        }
        if (is_array($_POST['u_phpcg_users'])) {
            $json_values = json_encode($_POST['u_phpcg_users'], JSON_UNESCAPED_UNICODE);
            $values['u_phpcg_users'] = $json_values;
        } else {
            $values['u_phpcg_users'] = intval($_POST['u_phpcg_users']);
        }
        if (is_array($_POST['cd_phpcg_users'])) {
            $json_values = json_encode($_POST['cd_phpcg_users'], JSON_UNESCAPED_UNICODE);
            $values['cd_phpcg_users'] = $json_values;
        } else {
            $values['cd_phpcg_users'] = intval($_POST['cd_phpcg_users']);
        }
        $values['cq_phpcg_users'] = $_POST['cq_phpcg_users'];
        if (is_array($_POST['r_phpcg_users_profiles'])) {
            $json_values = json_encode($_POST['r_phpcg_users_profiles'], JSON_UNESCAPED_UNICODE);
            $values['r_phpcg_users_profiles'] = $json_values;
        } else {
            $values['r_phpcg_users_profiles'] = intval($_POST['r_phpcg_users_profiles']);
        }
        if (is_array($_POST['u_phpcg_users_profiles'])) {
            $json_values = json_encode($_POST['u_phpcg_users_profiles'], JSON_UNESCAPED_UNICODE);
            $values['u_phpcg_users_profiles'] = $json_values;
        } else {
            $values['u_phpcg_users_profiles'] = intval($_POST['u_phpcg_users_profiles']);
        }
        if (is_array($_POST['cd_phpcg_users_profiles'])) {
            $json_values = json_encode($_POST['cd_phpcg_users_profiles'], JSON_UNESCAPED_UNICODE);
            $values['cd_phpcg_users_profiles'] = $json_values;
        } else {
            $values['cd_phpcg_users_profiles'] = intval($_POST['cd_phpcg_users_profiles']);
        }
        $values['cq_phpcg_users_profiles'] = $_POST['cq_phpcg_users_profiles'];
        try {
            // insert into phpcg_users_profiles
            if (DEMO !== true && $db->insert('phpcg_users_profiles', $values, DEBUG_DB_QUERIES) === false) {
                $error = $db->error();
                throw new \Exception($error);
            } else {
                // ALL OK
                if (!DEBUG_DB_QUERIES) {
                    $db->transactionCommit();

                    $_SESSION['msg'] = Utils::alert(INSERT_SUCCESS_MESSAGE, 'alert-success has-icon');

                    // reset form values
                    Form::clear('form-create-phpcg-users-profiles');

                    // redirect to list page
                    if (isset($_SESSION['active_list_url'])) {
                        header('Location:' . $_SESSION['active_list_url']);
                    } else {
                        header('Location:' . ADMIN_URL . 'phpcgusersprofiles');
                    }

                    // if we don't exit here, $_SESSION['msg'] will be unset
                    exit();
                } else {
                    $debug_content .= $db->getDebugContent();
                    $db->transactionRollback();

                    $_SESSION['msg'] = Utils::alert(INSERT_SUCCESS_MESSAGE . '<br>(' . DEBUG_DB_QUERIES_ENABLED . ')', 'alert-success has-icon');
                }
            }
        } catch (\Exception $e) {
            $db->transactionRollback();
            $msg_content = DB_ERROR;
            if (DEBUG) {
                $msg_content .= '<br>' . $e->getMessage() . '<br>' . $db->getLastSql();
            }
            $_SESSION['msg'] = Utils::alert($msg_content, 'alert-danger has-icon');
        }
    } // END else
} // END if POST

$form = new Form('form-create-phpcg-users-profiles', 'horizontal', 'novalidate');
$form->setAction(ADMIN_URL . 'phpcgusersprofiles/create');

$form->addHtml(USERS_PROFILES_HELPER);


$form->startFieldset();

// id --

$form->setCols(2, 10);
$form->addInput('hidden', 'id', '');

// profile_name --

$form->setCols(2, 10);
$form->addInput('text', 'profile_name', '', 'Profile Name', 'required');

// r_assess_bi --
$form->groupElements('r_assess_bi', 'u_assess_bi');

$form->setCols(2, 4);
$form->addOption('r_assess_bi', '2', 'Yes');
$form->addOption('r_assess_bi', '1', 'Restricted');
$form->addOption('r_assess_bi', '0', 'No');
$form->addSelect('r_assess_bi', 'Read Assess Bi', 'required, data-slimselect=true');

// u_assess_bi --
$form->addOption('u_assess_bi', '2', 'Yes');
$form->addOption('u_assess_bi', '1', 'Restricted');
$form->addOption('u_assess_bi', '0', 'No');
$form->addSelect('u_assess_bi', 'Update Assess Bi', 'required, data-slimselect=true');

// cd_assess_bi --

$form->setCols(2, 10);
$form->addOption('cd_assess_bi', '2', 'Yes');
$form->addOption('cd_assess_bi', '1', 'Restricted');
$form->addOption('cd_assess_bi', '0', 'No');
$form->addSelect('cd_assess_bi', 'Create/Delete Assess Bi', 'required, data-slimselect=true');

// cq_assess_bi --
$form->addInput('text', 'cq_assess_bi', '', 'Constraint Query Assess Bi<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_assessment --
$form->groupElements('r_assessment', 'u_assessment');

$form->setCols(2, 4);
$form->addOption('r_assessment', '2', 'Yes');
$form->addOption('r_assessment', '1', 'Restricted');
$form->addOption('r_assessment', '0', 'No');
$form->addSelect('r_assessment', 'Read Assessment', 'required, data-slimselect=true');

// u_assessment --
$form->addOption('u_assessment', '2', 'Yes');
$form->addOption('u_assessment', '1', 'Restricted');
$form->addOption('u_assessment', '0', 'No');
$form->addSelect('u_assessment', 'Update Assessment', 'required, data-slimselect=true');

// cd_assessment --

$form->setCols(2, 10);
$form->addOption('cd_assessment', '2', 'Yes');
$form->addOption('cd_assessment', '1', 'Restricted');
$form->addOption('cd_assessment', '0', 'No');
$form->addSelect('cd_assessment', 'Create/Delete Assessment', 'required, data-slimselect=true');

// cq_assessment --
$form->addInput('text', 'cq_assessment', '', 'Constraint Query Assessment<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_assessment_by_assessor --
$form->groupElements('r_assessment_by_assessor', 'u_assessment_by_assessor');

$form->setCols(2, 4);
$form->addOption('r_assessment_by_assessor', '2', 'Yes');
$form->addOption('r_assessment_by_assessor', '1', 'Restricted');
$form->addOption('r_assessment_by_assessor', '0', 'No');
$form->addSelect('r_assessment_by_assessor', 'Read Assessment By Assessor', 'required, data-slimselect=true');

// u_assessment_by_assessor --
$form->addOption('u_assessment_by_assessor', '2', 'Yes');
$form->addOption('u_assessment_by_assessor', '1', 'Restricted');
$form->addOption('u_assessment_by_assessor', '0', 'No');
$form->addSelect('u_assessment_by_assessor', 'Update Assessment By Assessor', 'required, data-slimselect=true');

// cd_assessment_by_assessor --

$form->setCols(2, 10);
$form->addOption('cd_assessment_by_assessor', '2', 'Yes');
$form->addOption('cd_assessment_by_assessor', '1', 'Restricted');
$form->addOption('cd_assessment_by_assessor', '0', 'No');
$form->addSelect('cd_assessment_by_assessor', 'Create/Delete Assessment By Assessor', 'required, data-slimselect=true');

// cq_assessment_by_assessor --
$form->addInput('text', 'cq_assessment_by_assessor', '', 'Constraint Query Assessment By Assessor<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_behavioral_indicator --
$form->groupElements('r_behavioral_indicator', 'u_behavioral_indicator');

$form->setCols(2, 4);
$form->addOption('r_behavioral_indicator', '2', 'Yes');
$form->addOption('r_behavioral_indicator', '1', 'Restricted');
$form->addOption('r_behavioral_indicator', '0', 'No');
$form->addSelect('r_behavioral_indicator', 'Read Behavioral Indicator', 'required, data-slimselect=true');

// u_behavioral_indicator --
$form->addOption('u_behavioral_indicator', '2', 'Yes');
$form->addOption('u_behavioral_indicator', '1', 'Restricted');
$form->addOption('u_behavioral_indicator', '0', 'No');
$form->addSelect('u_behavioral_indicator', 'Update Behavioral Indicator', 'required, data-slimselect=true');

// cd_behavioral_indicator --

$form->setCols(2, 10);
$form->addOption('cd_behavioral_indicator', '2', 'Yes');
$form->addOption('cd_behavioral_indicator', '1', 'Restricted');
$form->addOption('cd_behavioral_indicator', '0', 'No');
$form->addSelect('cd_behavioral_indicator', 'Create/Delete Behavioral Indicator', 'required, data-slimselect=true');

// cq_behavioral_indicator --
$form->addInput('text', 'cq_behavioral_indicator', '', 'Constraint Query Behavioral Indicator<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_company --
$form->groupElements('r_company', 'u_company');

$form->setCols(2, 4);
$form->addOption('r_company', '2', 'Yes');
$form->addOption('r_company', '1', 'Restricted');
$form->addOption('r_company', '0', 'No');
$form->addSelect('r_company', 'Read Company', 'required, data-slimselect=true');

// u_company --
$form->addOption('u_company', '2', 'Yes');
$form->addOption('u_company', '1', 'Restricted');
$form->addOption('u_company', '0', 'No');
$form->addSelect('u_company', 'Update Company', 'required, data-slimselect=true');

// cd_company --

$form->setCols(2, 10);
$form->addOption('cd_company', '2', 'Yes');
$form->addOption('cd_company', '1', 'Restricted');
$form->addOption('cd_company', '0', 'No');
$form->addSelect('cd_company', 'Create/Delete Company', 'required, data-slimselect=true');

// cq_company --
$form->addInput('text', 'cq_company', '', 'Constraint Query Company<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_competency --
$form->groupElements('r_competency', 'u_competency');

$form->setCols(2, 4);
$form->addOption('r_competency', '2', 'Yes');
$form->addOption('r_competency', '1', 'Restricted');
$form->addOption('r_competency', '0', 'No');
$form->addSelect('r_competency', 'Read Competency', 'required, data-slimselect=true');

// u_competency --
$form->addOption('u_competency', '2', 'Yes');
$form->addOption('u_competency', '1', 'Restricted');
$form->addOption('u_competency', '0', 'No');
$form->addSelect('u_competency', 'Update Competency', 'required, data-slimselect=true');

// cd_competency --

$form->setCols(2, 10);
$form->addOption('cd_competency', '2', 'Yes');
$form->addOption('cd_competency', '1', 'Restricted');
$form->addOption('cd_competency', '0', 'No');
$form->addSelect('cd_competency', 'Create/Delete Competency', 'required, data-slimselect=true');

// cq_competency --
$form->addInput('text', 'cq_competency', '', 'Constraint Query Competency<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_competency_type --
$form->groupElements('r_competency_type', 'u_competency_type');

$form->setCols(2, 4);
$form->addOption('r_competency_type', '2', 'Yes');
$form->addOption('r_competency_type', '1', 'Restricted');
$form->addOption('r_competency_type', '0', 'No');
$form->addSelect('r_competency_type', 'Read Competency Type', 'required, data-slimselect=true');

// u_competency_type --
$form->addOption('u_competency_type', '2', 'Yes');
$form->addOption('u_competency_type', '1', 'Restricted');
$form->addOption('u_competency_type', '0', 'No');
$form->addSelect('u_competency_type', 'Update Competency Type', 'required, data-slimselect=true');

// cd_competency_type --

$form->setCols(2, 10);
$form->addOption('cd_competency_type', '2', 'Yes');
$form->addOption('cd_competency_type', '1', 'Restricted');
$form->addOption('cd_competency_type', '0', 'No');
$form->addSelect('cd_competency_type', 'Create/Delete Competency Type', 'required, data-slimselect=true');

// cq_competency_type --
$form->addInput('text', 'cq_competency_type', '', 'Constraint Query Competency Type<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_field --
$form->groupElements('r_field', 'u_field');

$form->setCols(2, 4);
$form->addOption('r_field', '2', 'Yes');
$form->addOption('r_field', '1', 'Restricted');
$form->addOption('r_field', '0', 'No');
$form->addSelect('r_field', 'Read Field', 'required, data-slimselect=true');

// u_field --
$form->addOption('u_field', '2', 'Yes');
$form->addOption('u_field', '1', 'Restricted');
$form->addOption('u_field', '0', 'No');
$form->addSelect('u_field', 'Update Field', 'required, data-slimselect=true');

// cd_field --

$form->setCols(2, 10);
$form->addOption('cd_field', '2', 'Yes');
$form->addOption('cd_field', '1', 'Restricted');
$form->addOption('cd_field', '0', 'No');
$form->addSelect('cd_field', 'Create/Delete Field', 'required, data-slimselect=true');

// cq_field --
$form->addInput('text', 'cq_field', '', 'Constraint Query Field<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_industry --
$form->groupElements('r_industry', 'u_industry');

$form->setCols(2, 4);
$form->addOption('r_industry', '2', 'Yes');
$form->addOption('r_industry', '1', 'Restricted');
$form->addOption('r_industry', '0', 'No');
$form->addSelect('r_industry', 'Read Industry', 'required, data-slimselect=true');

// u_industry --
$form->addOption('u_industry', '2', 'Yes');
$form->addOption('u_industry', '1', 'Restricted');
$form->addOption('u_industry', '0', 'No');
$form->addSelect('u_industry', 'Update Industry', 'required, data-slimselect=true');

// cd_industry --

$form->setCols(2, 10);
$form->addOption('cd_industry', '2', 'Yes');
$form->addOption('cd_industry', '1', 'Restricted');
$form->addOption('cd_industry', '0', 'No');
$form->addSelect('cd_industry', 'Create/Delete Industry', 'required, data-slimselect=true');

// cq_industry --
$form->addInput('text', 'cq_industry', '', 'Constraint Query Industry<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_position --
$form->groupElements('r_position', 'u_position');

$form->setCols(2, 4);
$form->addOption('r_position', '2', 'Yes');
$form->addOption('r_position', '1', 'Restricted');
$form->addOption('r_position', '0', 'No');
$form->addSelect('r_position', 'Read Position', 'required, data-slimselect=true');

// u_position --
$form->addOption('u_position', '2', 'Yes');
$form->addOption('u_position', '1', 'Restricted');
$form->addOption('u_position', '0', 'No');
$form->addSelect('u_position', 'Update Position', 'required, data-slimselect=true');

// cd_position --

$form->setCols(2, 10);
$form->addOption('cd_position', '2', 'Yes');
$form->addOption('cd_position', '1', 'Restricted');
$form->addOption('cd_position', '0', 'No');
$form->addSelect('cd_position', 'Create/Delete Position', 'required, data-slimselect=true');

// cq_position --
$form->addInput('text', 'cq_position', '', 'Constraint Query Position<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_position_competency --
$form->groupElements('r_position_competency', 'u_position_competency');

$form->setCols(2, 4);
$form->addOption('r_position_competency', '2', 'Yes');
$form->addOption('r_position_competency', '1', 'Restricted');
$form->addOption('r_position_competency', '0', 'No');
$form->addSelect('r_position_competency', 'Read Position Competency', 'required, data-slimselect=true');

// u_position_competency --
$form->addOption('u_position_competency', '2', 'Yes');
$form->addOption('u_position_competency', '1', 'Restricted');
$form->addOption('u_position_competency', '0', 'No');
$form->addSelect('u_position_competency', 'Update Position Competency', 'required, data-slimselect=true');

// cd_position_competency --

$form->setCols(2, 10);
$form->addOption('cd_position_competency', '2', 'Yes');
$form->addOption('cd_position_competency', '1', 'Restricted');
$form->addOption('cd_position_competency', '0', 'No');
$form->addSelect('cd_position_competency', 'Create/Delete Position Competency', 'required, data-slimselect=true');

// cq_position_competency --
$form->addInput('text', 'cq_position_competency', '', 'Constraint Query Position Competency<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_project --
$form->groupElements('r_project', 'u_project');

$form->setCols(2, 4);
$form->addOption('r_project', '2', 'Yes');
$form->addOption('r_project', '1', 'Restricted');
$form->addOption('r_project', '0', 'No');
$form->addSelect('r_project', 'Read Project', 'required, data-slimselect=true');

// u_project --
$form->addOption('u_project', '2', 'Yes');
$form->addOption('u_project', '1', 'Restricted');
$form->addOption('u_project', '0', 'No');
$form->addSelect('u_project', 'Update Project', 'required, data-slimselect=true');

// cd_project --

$form->setCols(2, 10);
$form->addOption('cd_project', '2', 'Yes');
$form->addOption('cd_project', '1', 'Restricted');
$form->addOption('cd_project', '0', 'No');
$form->addSelect('cd_project', 'Create/Delete Project', 'required, data-slimselect=true');

// cq_project --
$form->addInput('text', 'cq_project', '', 'Constraint Query Project<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');

// r_phpcg_users --
$form->groupElements('r_phpcg_users', 'u_phpcg_users');

$form->setCols(2, 4);
$form->addOption('r_phpcg_users', '2', 'Yes');
$form->addOption('r_phpcg_users', '1', 'Restricted');
$form->addOption('r_phpcg_users', '0', 'No');
$form->addSelect('r_phpcg_users', 'Read Phpcg Users', 'required, data-slimselect=true');

// u_phpcg_users --
$form->addOption('u_phpcg_users', '2', 'Yes');
$form->addOption('u_phpcg_users', '1', 'Restricted');
$form->addOption('u_phpcg_users', '0', 'No');
$form->addSelect('u_phpcg_users', 'Update Phpcg Users', 'required, data-slimselect=true');

// cd_phpcg_users --

$form->setCols(2, 10);
$form->addOption('cd_phpcg_users', '2', 'Yes');
$form->addOption('cd_phpcg_users', '0', 'No');
$form->addSelect('cd_phpcg_users', 'Create/Delete Phpcg Users', 'required, data-slimselect=true');

// cq_phpcg_users --
$form->addHelper('CREATE/DELETE rights on users table cannot be limited - this would be a nonsense', 'cq_phpcg_users', 'after');
$form->addInput('text', 'cq_phpcg_users', '', 'Constraint Query Phpcg Users', '');

// r_phpcg_users_profiles --
$form->groupElements('r_phpcg_users_profiles', 'u_phpcg_users_profiles');

$form->setCols(2, 4);
$form->addOption('r_phpcg_users_profiles', '2', 'Yes');
$form->addOption('r_phpcg_users_profiles', '1', 'Restricted');
$form->addOption('r_phpcg_users_profiles', '0', 'No');
$form->addSelect('r_phpcg_users_profiles', 'Read Phpcg Users Profiles', 'required, data-slimselect=true');

// u_phpcg_users_profiles --
$form->addOption('u_phpcg_users_profiles', '2', 'Yes');
$form->addOption('u_phpcg_users_profiles', '1', 'Restricted');
$form->addOption('u_phpcg_users_profiles', '0', 'No');
$form->addSelect('u_phpcg_users_profiles', 'Update Phpcg Users Profiles', 'required, data-slimselect=true');

// cd_phpcg_users_profiles --

$form->setCols(2, 10);
$form->addOption('cd_phpcg_users_profiles', '2', 'Yes');
$form->addOption('cd_phpcg_users_profiles', '1', 'Restricted');
$form->addOption('cd_phpcg_users_profiles', '0', 'No');
$form->addSelect('cd_phpcg_users_profiles', 'Create/Delete Phpcg Users Profiles', 'required, data-slimselect=true');

// cq_phpcg_users_profiles --
$form->addInput('text', 'cq_phpcg_users_profiles', '', 'Constraint Query Phpcg Users Profiles<a href="#" data-bs-toggle="tooltip" data-bs-html="true" data-bs-title="<p>WHERE query if limited rights.</p><p>Example: <br><em>, users WHERE table.users_ID = users.ID AND users.ID = CURRENT_USER_ID</em></p><p><em>CURRENT_USER_ID</em> will be automatically replaced by the connected user\'s ID.</p>" class="append"><span class="badge text-bg-info">?</span></a>', '');
$form->addBtn('button', 'cancel', 0, '<i class="' . ICON_BACK . ' prepend"></i>' . CANCEL, 'class=btn btn-warning, data-ladda-button=true, data-style=zoom-in, onclick=history.go(-1)', 'btn-group');
$form->addBtn('submit', 'submit-btn', 1, SUBMIT . '<i class="' . ICON_CHECKMARK . ' append"></i>', 'class=btn btn-success, data-ladda-button=true, data-style=zoom-in', 'btn-group');
$form->setCols(0, 12);
$form->centerContent();
$form->printBtnGroup('btn-group');
$form->endFieldset();
$form->addPlugin('pretty-checkbox', '#form-create-phpcg-users-profiles');
$form->addPlugin('formvalidation', '#form-create-phpcg-users-profiles', 'default', array('language' => FORMVALIDATION_JAVASCRIPT_LANG));