Untitled

 avatar
user_4191664
plain_text
6 months ago
50 kB
1
Indexable
Never
<?php

namespace App\Controllers;

use App\Models\UsersModel;
use Config\Database;
use App\Libraries\Users;
//use App\Models\ProiecteModel;
//use App\Models\MessagesGrupModel;
//use App\Models\InvitatiiProiectModel;
//use CodeIgniter\Controller;

class Proiecte extends BaseController
{


    public $css_files;
    public $js_files;
    private $db;
    private $users;

    protected $session;

    public function __construct()
    {
        //parent::__construct();


        helper('url');
        helper('view');
        $this->session = \Config\Services::session();
        $this->usersModel = new UsersModel();
        $this->db = Database::connect();
        $this->users = new Users();
        /*
        $info = $this->session->all_userdata();
        if (!isset($info['cont']['logat'])) {
            redirect('http://re-invent.ro?act=login_no');
            exit();
        }
        */


        //check_login();

        //$this->load->model('usersModel');
    }


    public function index() {
        helper(['form', 'url', 'users']);

        $session = session();
        $info = $session->get();

        $data['nr_notif'] = get_count_notif();

        $data['header_img'] = '/assets/images/headers/header_proiecte.jpg';
        $data['header_text'] = 'Lista proiecte - demo text info';

        $active_m = ['active', '', '', '', ''];
        $data['active_m'] = $active_m;

        $db = db_connect();

        if ($this->request->getPost('filtru')) {
            $lista_cat = $this->usersModel->get_categorii_proiect_copii($this->request->getPost('cat'));
            $l_cat = [];

            foreach ($lista_cat as $lista) {
                array_push($l_cat, $lista['id']);
            }
        }

        $builder = $db->table('proiecte')
            ->select('categorii.nume AS nume_categorie, proiecte.nume AS nume_proiect, proiecte.id AS idP, proiecte.*')
            ->join('categorii', 'proiecte.tip = categorii.id', 'left');

        if ((tip_user() != 'partener') && (tip_user() != 'administrator')) {
            $builder->select('invitatii_proiect.*, proiecte.nume, proiecte.status')
                ->join('invitatii_proiect', 'invitatii_proiect.id_proiect = proiecte.id_proiect', 'left')
                ->where('invitatii_proiect.id_user', id_user())
                ->where('invitatii_proiect.status', 'acceptata');
        }

        if ($this->request->getGet('q')) {
            $builder->like('proiecte.nume', $this->request->getGet('q'));
        }

        $builder->where('proiecte.activ', '1');

        if ($this->request->getPost('filtru')) {
            $status = $this->request->getPost('status');
            if (isset($status) && is_array($status) && count($status) !== 0) {
                $builder->whereIn('proiecte.status', $status);
            }

            if (!empty($l_cat)) {
                $builder->whereIn('proiecte.tip', $l_cat);
            }

            $data_dl = $this->request->getPost('data_dl');
            if ($data_dl != "") {
                $builder->where("proiecte.deadline_proiect BETWEEN '1970-01-01' AND '" . $data_dl . "'");
            }

            $buget_sort = $this->request->getPost('buget_sort');
            $builder->orderBy('proiecte.id', $buget_sort);
        } else {
            $builder->orderBy('proiecte.id', 'desc');
        }

        if (tip_user() == 'partener') {
            $builder->where('proiecte.adaugat_de', id_user());
        }

        $data['tip_user'] = tip_user();
        $data['lista_proiecte'] = $builder->get()->getResultArray();

        $data['categorii_filtru'] = $this->usersModel->get_categorii_proiect();

        $data['main_content'] = 'proiecte/index.php';
        echo view('template', $data);
    }



    public function index_old(){


        helper(['form', 'url', 'users']);


        $session = session();
        $info = $session->get();
        $data['nr_notif'] = get_count_notif();



        $data['header_img'] = '/assets/images/headers/header_proiecte.jpg';
        $data['header_text'] = 'Lista proiecte - demo text info';

        $active_m = [
            'active', // proiecte
            '', // lanseaza proiect
            '', // furnizori
            '', // mesaje
            ''  // notificari
        ];

        $data['active_m'] = $active_m;
/*
        $db = db_connect();

        if ($this->request->getPost('filtru')) {
            $lista_cat = $this->usersModel->get_categorii_proiect_copii($this->request->getPost('cat'));
            $l_cat = [];

            foreach ($lista_cat as $lista) {
                array_push($l_cat, $lista['id']);
            }
        }



        $builder = $db->table('proiecte')
            ->select('categorii.nume AS nume_categorie, proiecte.nume AS nume_proiect, proiecte.id AS idP')
            ->join('categorii', 'proiecte.tip = categorii.id', 'left');



        if ((tip_user() != 'partener') && (tip_user() != 'administrator')) {
            $builder->select('invitatii_proiect.*, proiecte.nume, proiecte.status')
                ->join('invitatii_proiect', 'invitatii_proiect.id_proiect = proiecte.id_proiect', 'left')
                ->where('invitatii_proiect.id_user', id_user())
                ->where('invitatii_proiect.status', 'acceptata');
        } else {
            $builder->select('*');
        }



        if ($this->request->getGet('q')) {
            $builder->like('proiecte.nume', $this->request->getGet('q'));
        }

        $builder->where('proiecte.activ', '1');

        if ($this->request->getPost('filtru')) {
            $builder->whereIn('proiecte.status', $this->request->getPost('status'));

            if (count($lista_cat) != 0) {
                $builder->whereIn('proiecte.tip', $l_cat);
            }

            if ($this->request->getPost('data_dl') != "") {
                $builder->where("proiecte.deadline_proiect BETWEEN '1970-01-01' AND '" . $this->request->getPost('data_dl') . "'");
            }

            $builder->orderBy('proiecte.id', $this->request->getPost('buget_sort'));
        } else {
            $builder->orderBy('proiecte.id', 'desc');
        }

        if (tip_user() == 'partener') {
            $builder->where('proiecte.adaugat_de', id_user());
        }
*/


        $db = db_connect();

        $builder = $db->table('proiecte')
            ->select('categorii.nume AS nume_categorie, proiecte.nume AS nume_proiect, proiecte.id AS idP, proiecte.*')
            ->join('categorii', 'proiecte.tip = categorii.id', 'left');

        if ($this->request->getPost('filtru')) {
            $lista_cat = $this->usersModel->get_categorii_proiect_copii($this->request->getPost('cat'));
            $l_cat = [];

            foreach ($lista_cat as $lista) {
                array_push($l_cat, $lista['id']);
            }
        }

        if ((tip_user() != 'partener') && (tip_user() != 'administrator')) {


            $builder->select('invitatii_proiect.*, proiecte.nume, proiecte.status')
                ->join('invitatii_proiect', 'invitatii_proiect.id_proiect = proiecte.id', 'left')
                ->where('invitatii_proiect.id_user', id_user())
                ->where('invitatii_proiect.status', 'acceptata');
        }

        if ($this->request->getGet('q')) {
            $builder->like('proiecte.nume', $this->request->getGet('q'));
        }

        $builder->where('proiecte.activ', '1');

        if ($this->request->getPost('filtru')) {
           // echo '<pre>';
           // print_r($this->request->getPost('status'));
          //  exit();

            if (!isset($id) || (is_array($id) && count($id) === 0)) {
                //return [];
            }else{
                $builder->whereIn('proiecte.status', $this->request->getPost('status'));
            }



            if (count($lista_cat) != 0) {
                $builder->whereIn('proiecte.tip', $l_cat);
            }

            if ($this->request->getPost('data_dl') != "") {
                $builder->where("proiecte.deadline_proiect BETWEEN '1970-01-01' AND '" . $this->request->getPost('data_dl') . "'");
            }

           // $builder->orderBy('proiecte.id', $this->request->getPost('buget_sort'));
        } else {
            $builder->orderBy('proiecte.id', 'desc');
        }



        if (tip_user() == 'partener') {
            $builder->where('proiecte.adaugat_de', id_user());
        }



        $data['tip_user'] = tip_user();
        $data['lista_proiecte'] = $builder->get()->getResultArray();



       // $data['tip_user'] = tip_user();
       // $data['lista_proiecte'] = $builder->get()->getResultArray();





        $data['categorii_filtru'] = $this->usersModel->get_categorii_proiect();

//        echo '<pre>';
//        print_r( $data['lista_proiecte']);
//        exit();

        $data['main_content'] = 'proiecte/index.php';
//        echo '<pre>';
//        print_r($_SESSION);
//        exit();
        echo view('template', $data);
    }

    private function info_proiect($id)
    {
        $data = [];

        $userType = tip_user();

        if (($userType != 'partener') && ($userType != 'administrator') && ($userType != 'project_manager')) {
            $query = $this->db->table('proiecte')
                ->select('categorii.nume AS nume_categorie,
                      proiecte.nume AS nume_proiect,
                      proiecte.moneda as moneda_proiect,
                      proiecte.id AS idP, invitatii_proiect.*,proiecte.nume,proiecte.status')
                ->join('categorii', 'proiecte.tip = categorii.id')
                ->join('invitatii_proiect', 'invitatii_proiect.id_proiect = proiecte.id_proiect')
                // Replace the following line with your method of getting the user's id
                ->where('invitatii_proiect.id_user', id_user())
                ->where('invitatii_proiect.id_proiect', $id)
                ->where('invitatii_proiect.status', 'acceptata')
                ->get();
            $data['proiect'] = $query->getRowArray();
        } else {
            $query = $this->db->table('proiecte')
                ->select('*')
                ->select('categorii.nume AS nume_categorie,
                      proiecte.nume AS nume_proiect,
                      proiecte.moneda as moneda_proiect,
                      proiecte.id AS idP')
                ->join('categorii', 'proiecte.tip = categorii.id')
                ->orderBy("proiecte.id", "desc")
                ->where('proiecte.activ', '1')
                ->where('proiecte.id_proiect', $id)
                ->get();
            $data['proiect'] = $query->getRowArray();
        }

        return $data;


        return $data;
    }



    public function download(){

        /*$id = $_GET['id'];

        $this -> db -> select('*');
        $this -> db -> where('file_name', $id);
        $this -> db -> where('active', '1');
        $query = $this -> db -> get('files');


        $file = $query->row_array();
        if (count($file) == 0){
            echo 'Invalid id';
            exit();
        }*/

        $id = $_GET['id'];

        $db = db_connect();

        $builder = $db->table('files')
            ->select('*')
            ->where('file_name', $id)
            ->where('active', '1');

        $file = $builder->get()->getRowArray();

        if (count($file) == 0){
            echo 'Invalid id';
            return false;
        }

        $full_link = 'http://134.209.249.85/upload_reinvent/'.$id;



            $full_link = str_replace(' ', '%20', $full_link);

          //  header("Content-Disposition: attachment; filename=".$file['file_original']."\n\n");
          //  header("Content-Type: application/force-download");
          //  readfile($full_link);

        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename='.basename($file['file_original']));
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        ob_clean();
        flush();
        readfile($full_link);
        return false;




        }


    private function get_exp($type_data,$data, $separator){

        $data = explode(',',$data);
       $return_data = array();
       // $return_data = '';
        $nrCharSep = strlen($separator)*-1;
        foreach($type_data as $item){
           // echo $item['id'].'<br>';
            foreach($data as $dataItem){
                if ($item['id'] == $dataItem){
                   // $return_data.=$item['nume'].$separator;
                    array_push($return_data,$item['nume']);
                }

            }
        }


       //return substr($return_data, 0, $nrCharSep);
       return $return_data;

    }


    private function lista_useri($tip = 'all')
    {


/*
        //preluare lista dezvoltatori
        $this->db->select('*');
		$this->db->join('bookmark_profile', ' profil.user_id = bookmark_profile.bm_user_id AND bookmark_profile.bm_my_id='.id_user().'','left');
        $this->db->join('conturi', 'profil.user_id = conturi.id','left');


        $this->db->select('conturi.email AS email_dev', FALSE);
        // $this->db->where('proiecte.activ', '1');
        if ($tip != 'all') {
            $this->db->where('conturi.tip_user', $tip);
        }

		if (isset($_GET['q'])) {
			$this->db->group_start();
			$this->db->like('profil.nume', $_GET['q']);
			$this->db->or_like('profil.prenume', $_GET['q']);
			$this->db->group_end();
		}

		if (isset($_POST['filtru'])) {




			if (isset($_POST['expertiza'])) {
				foreach ($_POST['expertiza'] as $like) {
					//$this->db->like('profil.expertiza', ",".$like.",");
					$this->db->or_like('profil.expertiza', "," . $like . ",");
				}
			}
			if (isset($_POST['experienta'])) {
				foreach ($_POST['experienta'] as $like) {
					//$this->db->like('profil.expertiza', ",".$like.",");
					$this->db->or_like('profil.experienta', "," . $like . ",");
				}
			}


		}

		$this->db->group_start();
        $this->db->where('conturi.tip_user !=', 'partener');
        $this->db->where('conturi.tip_user !=', 'administrator');
		$this->db->group_end();
        $this->db->order_by('bookmark_profile.bm_data','desc');
        $Qdev = $this->db->get('profil')->result_array();
        // end lista dezvoltatori


		//echo "<pre>";
		//echo $this->db->last_query();
		//print_r($Qdev);
		//exit();


        //preluare filtre
        $experienta_lista = $this->db->get('experienta')->result_array();
        $expertiza_lista = $this->db->get('expertiza')->result_array();
        //end filtre

        $data['dezvoltatori'] = $Qdev;
        $data['tip_user'] = tip_user();

        $this->db->order_by('id','desc');
        $Qlist = $this->db->get('profil')->result_array();

        $data['lista_useri'] = $Qlist;

        foreach ($data['dezvoltatori'] as $k => $item){
           // echo $item['experienta'];
           $d = $this->get_exp($experienta_lista,$item['experienta'],', ');
           $d1 = $this->get_exp($expertiza_lista,$item['expertiza'],', ');
           // $item[$k]['experienta_txt'] = $d;

           // print_r($k);
           $data['dezvoltatori'][$k]['experienta_txt'] = $d;
           $data['dezvoltatori'][$k]['expertiza_txt'] = $d1;
        }




       // echo '<pre>';
       // print_r($data['dezvoltatori']);

        //exit();
        return $data['dezvoltatori'];*/


        $db = db_connect();

        $builder = $db->table('profil')
            ->select('*')
            ->join('bookmark_profile', 'profil.user_id = bookmark_profile.bm_user_id AND bookmark_profile.bm_my_id=' . id_user(), 'left')
            ->join('conturi', 'profil.user_id = conturi.id', 'left')
            ->select('conturi.email AS email_dev', false);

        if ($tip != 'all') {
            $builder->where('conturi.tip_user', $tip);
        }

        if (isset($_GET['q'])) {
            $builder->groupStart()
                ->like('profil.nume', $_GET['q'])
                ->orLike('profil.prenume', $_GET['q'])
                ->groupEnd();
        }

        if (isset($_POST['filtru'])) {
            if (isset($_POST['expertiza'])) {
                foreach ($_POST['expertiza'] as $like) {
                    $builder->orLike('profil.expertiza', "," . $like . ",");
                }
            }
            if (isset($_POST['experienta'])) {
                foreach ($_POST['experienta'] as $like) {
                    $builder->orLike('profil.experienta', "," . $like . ",");
                }
            }
        }

        $builder->groupStart()
            ->where('conturi.tip_user !=', 'partener')
            ->where('conturi.tip_user !=', 'administrator')
            ->groupEnd()
            ->orderBy('bookmark_profile.bm_data', 'desc');

        $Qdev = $builder->get()->getResultArray();

        $experienta_lista = $db->table('experienta')->get()->getResultArray();
        $expertiza_lista = $db->table('expertiza')->get()->getResultArray();

        $data['dezvoltatori'] = $Qdev;
        $data['tip_user'] = tip_user();

        $Qlist = $db->table('profil')->orderBy('id', 'desc')->get()->getResultArray();
        $data['lista_useri'] = $Qlist;

        foreach ($data['dezvoltatori'] as $k => $item) {
            $d = $this->get_exp($experienta_lista, $item['experienta'], ', ');
            $d1 = $this->get_exp($expertiza_lista, $item['expertiza'], ', ');
            $data['dezvoltatori'][$k]['experienta_txt'] = $d;
            $data['dezvoltatori'][$k]['expertiza_txt'] = $d1;
        }

        return $data['dezvoltatori'];

    }



    public function brief($id = 0){


        /*$active_m = array();
        $active_m[0]='active'; // proiecte
        $active_m[1]=''; // lanseaza proiect
        $active_m[2]=''; // furnizori
        $active_m[3]=''; // mesaje
        $active_m[4]=''; // notificari

        $data['active_m'] = $active_m;

        $data['nr_notif'] = get_count_notif();

        $active = array();
        $active[0]='active'; // brief
        $active[1]=''; // buget
        $active[2]=''; // furnizori
        $active[3]=''; // task-uri
        $active[4]=''; // istoric
        $active[5]=''; // disctuii
        $active[6]=''; // fisiere

        $data['active'] = $active;

        $data['tip_user'] = tip_user();
        $data['idP'] = $id;
        $data['proiect'] = $this->info_proiect($id);



//        echo "<pre>";
//        print_r($data['proiect']);
//
//
//        exit();


        $this->db->select('*');
        $this->db->where('id_proiect', $id);
        $data['files'] = $this->db->get('files')->result_array();
       // return $Qdev;

        $data['istoric'] = $this->usersModel->get_istoric_brief($id);


       // print_r($data['proiect']);
        //echo '<pre>';

       // exit();

		$data['header_img'] = '/assets/images/headers/header_brief.jpg';
		$data['header_text'] = $data['proiect']['proiect']['nume_proiect'];


        $data['main_content'] = 'proiecte/brief.php';
        $this->load->view('template', $data);*/

        $active_m = array();
        $active_m[0] = 'active'; // proiecte
        $active_m[1] = ''; // lanseaza proiect
        $active_m[2] = ''; // furnizori
        $active_m[3] = ''; // mesaje
        $active_m[4] = ''; // notificari

        $data['active_m'] = $active_m;

        $data['nr_notif'] = get_count_notif();

        $active = array();
        $active[0] = 'active'; // brief
        $active[1] = ''; // buget
        $active[2] = ''; // furnizori
        $active[3] = ''; // task-uri
        $active[4] = ''; // istoric
        $active[5] = ''; // disctuii
        $active[6] = ''; // fisiere

        $data['active'] = $active;

        $data['tip_user'] = tip_user();
        $data['idP'] = $id;
        $data['proiect'] = $this->info_proiect($id);

        $db = db_connect();

        $data['files'] = $db->table('files')->where('id_proiect', $id)->get()->getResultArray();

        $data['istoric'] = $this->usersModel->get_istoric_brief($id);

        $data['header_img'] = '/assets/images/headers/header_brief.jpg';
        $data['header_text'] = $data['proiect']['proiect']['nume_proiect'];
        $data['main_content'] = 'proiecte/brief.php';
        echo view('template', $data);

    }






    private function get_categorii($id){
        /*$this->db->select('*');

        $this->db->where('id_proiect', $id);
        $Qdev = $this->db->get('categorii_proiect')->result_array();
        return $Qdev;*/

        $db = db_connect();
        $builder = $db->table('categorii_proiect');
        $builder->select('*');
        $builder->where('id_proiect', $id);
        $Qdev = $builder->get()->getResultArray();
        return $Qdev;
    }

    public function buget($id = 0){


	/*	$data['tip_conturi'] = $this->usersModel->get_user_category();
		$data['select_cat'] = $this->get_categorii($id);
        $data['nr_notif'] = get_count_notif();


        $active_m = array();
        $active_m[0]='active'; // proiecte
        $active_m[1]=''; // lanseaza proiect
        $active_m[2]=''; // furnizori
        $active_m[3]=''; // mesaje
        $active_m[4]=''; // notificari

        $data['active_m'] = $active_m;


        $sel_cat = array();
        $sel_cat[0]='';
        $sel_cat[1]='';
        $sel_cat[2]='';
        $sel_cat[3]='';


        $active = array();
        $active[0]=''; // brief
        $active[1]='active'; // buget
        $active[2]=''; // furnizori
        $active[3]=''; // task-uri
        $active[4]=''; // istoric
        $active[5]=''; // disctuii
        $active[6]=''; // fisiere

        $data['active'] = $active;



        foreach ($data['select_cat'] as $item){
            if ($item['id_cat'] == 3){
                $sel_cat[0] = 'checked';
            }
            if ($item['id_cat'] == 4){
                $sel_cat[1] = 'checked';
            }
            if ($item['id_cat'] == 1){
                $sel_cat[2] = 'checked';
            }
            if ($item['id_cat'] == 6){
                $sel_cat[3] = 'checked';
            }

        }



        $data['sel_cat'] =  $sel_cat;

        $data['proiect'] = $this->info_proiect($id);
        $data['idP'] = $id;
        $data['furnizori'] = $this->lista_useri();
        $data['main_content'] = 'proiecte/buget';
        $data['list_invitation'] = $this->usersModel->get_user_invitation($id);


        $last_task = '';
        $data['buget_cheltuit'] = 0;
        $data['tip_user'] = tip_user();
        foreach ($data['list_invitation'] as $item){
           // if ($item['id_task'] != $last_task){

              //  echo $item['buget'].'<br >';
                $data['buget_cheltuit']+=$item['buget'];
          //  }
          //  $last_task = $item['id_task'];
        }

        $data['proiect_id'] = $id;

        $data['rate'] = $this->usersModel->get_list_rate($id);

        $data['alte_detalii'] = $this->usersModel->get_alte_detalii($id);

        $data['istoric'] = $this->usersModel->get_istoric_brief($id);

        $data['files'] = $this->usersModel->get_files_buget($id);

		$data['header_img'] = '/assets/images/headers/header_buget.jpg';
		$data['header_text'] = $data['proiect']['proiect']['nume_proiect'];


        $this->load->view('template', $data);*/

        $data['tip_conturi'] = $this->usersModel->get_user_category();
        $data['select_cat'] = $this->get_categorii($id);
        $data['nr_notif'] = get_count_notif();

        $active_m = array();
        $active_m[0] = 'active'; // proiecte
        $active_m[1] = ''; // lanseaza proiect
        $active_m[2] = ''; // furnizori
        $active_m[3] = ''; // mesaje
        $active_m[4] = ''; // notificari

        $data['active_m'] = $active_m;

        $sel_cat = array();
        $sel_cat[0] = '';
        $sel_cat[1] = '';
        $sel_cat[2] = '';
        $sel_cat[3] = '';

        $active = array();
        $active[0] = ''; // brief
        $active[1] = 'active'; // buget
        $active[2] = ''; // furnizori
        $active[3] = ''; // task-uri
        $active[4] = ''; // istoric
        $active[5] = ''; // disctuii
        $active[6] = ''; // fisiere

        $data['active'] = $active;

        foreach ($data['select_cat'] as $item) {
            if ($item['id_cat'] == 3) {
                $sel_cat[0] = 'checked';
            }
            if ($item['id_cat'] == 4) {
                $sel_cat[1] = 'checked';
            }
            if ($item['id_cat'] == 1) {
                $sel_cat[2] = 'checked';
            }
            if ($item['id_cat'] == 6) {
                $sel_cat[3] = 'checked';
            }
        }

        $data['sel_cat'] = $sel_cat;

        $data['proiect'] = $this->info_proiect($id);
        $data['idP'] = $id;
        $data['furnizori'] = $this->lista_useri();
        $data['main_content'] = 'proiecte/buget';
        $data['list_invitation'] = $this->usersModel->get_user_invitation($id);

        $last_task = '';
        $data['buget_cheltuit'] = 0;
        $data['tip_user'] = tip_user();
        foreach ($data['list_invitation'] as $item) {
            $data['buget_cheltuit'] += $item['buget'];
        }

        $data['proiect_id'] = $id;

        $data['rate'] = $this->usersModel->get_list_rate($id);

        $data['alte_detalii'] = $this->usersModel->get_alte_detalii($id);

        $data['istoric'] = $this->usersModel->get_istoric_brief($id);

        $data['files'] = $this->usersModel->get_files_buget($id);

        $data['header_img'] = '/assets/images/headers/header_buget.jpg';
        $data['header_text'] = $data['proiect']['proiect']['nume_proiect'];

        echo view('template', $data);

    }

    public function proiect_nou(){


        $active_m = array();
        $active_m[0]=''; // proiecte
        $active_m[1]='active'; // lanseaza proiect
        $active_m[2]=''; // furnizori
        $active_m[3]=''; // mesaje
        $active_m[4]=''; // notificari

        $data['active_m'] = $active_m;

        $data['nr_notif'] = get_count_notif();

        if (tip_user() != 'project_manager' && tip_user() != 'administrator' && tip_user() != 'partener'){

//            redirect('http://reinvent.digital/new/?act=login_no');

            return redirect()->to('http://reinvent.digital/new/?act=login_no');
        }

        $all_cat = '<select name="tip_proiect" id="tip_proiect" class="slim-select3" multiple="multiple">';

        $all_cat.= get_categorie('categorii');
        $all_cat.= '</select>';
        $data['categorii'] = $all_cat;
        $data['tip_user'] = tip_user();



//        $data['expertiza'] = $this->db->get('expertiza')->result_array();
//        $data['experienta'] = $this->db->get('experienta')->result_array();

        $data['expertiza'] = $this->db->table('expertiza')->get()->getResultArray();
        $data['experienta'] = $this->db->table('experienta')->get()->getResultArray();




        $data['main_content'] = 'inregistrare/proiect';
//        $this->load->view('template',$data);
        echo view('template', $data);
    }


    public function furnizori($id = 'no'){



        $active_m = array();

        if ($id == "no") {
			$active_m[0] = ''; // proiecte
			$active_m[1] = ''; // lanseaza proiect
			$active_m[2] = 'active'; // furnizori
			$active_m[3] = ''; // mesaje
			$active_m[4] = ''; // notificari

			$data['header_img'] = '/assets/images/headers/header_furnizori.jpg';
			$data['header_text'] = 'Lista furnizori';


		}else{

			$active_m[0] = 'active'; // proiecte
			$active_m[1] = ''; // lanseaza proiect
			$active_m[2] = ''; // furnizori
			$active_m[3] = ''; // mesaje
			$active_m[4] = ''; // notificari

		}


        $data['active_m'] = $active_m;

        $data['nr_notif'] = get_count_notif();
        $active = array();
        $active[0]=''; // brief
        $active[1]=''; // buget
        $active[2]='active'; // furnizori
        $active[3]=''; // task-uri
        $active[4]=''; // istoric
        $active[5]=''; // disctuii
        $active[6]=''; // fisiere

        $data['active'] = $active;


//		$data['experienta_lista'] = $this->db->get('experienta')->result_array();
//		$data['expertiza_lista'] = $this->db->get('expertiza')->result_array();

        $data['experienta_lista'] = $this->db->table('experienta')->get()->getResultArray();
        $data['expertiza_lista'] = $this->db->table('expertiza')->get()->getResultArray();





        if (tip_user() != 'administrator' && tip_user() != 'project_manager'){
            exit();
        }

		$data['tip_conturi'] = $this->usersModel->get_user_category();
		$data['select_cat'] = $this->get_categorii($id);
		
        $data['proiect'] = $this->info_proiect($id);
        $data['furnizori'] = $this->lista_useri();
        $data['idP'] = $id;
        $data['tip_user'] = tip_user();

        if ($id == 'no') {
            $data['main_content'] = 'furnizori';
        }else{

			$data['header_img'] = '/assets/images/headers/header_furnizori2.jpg';
			$data['header_text'] = $data['proiect']['proiect']['nume_proiect'];

            $data['list_invitation'] = $this->usersModel->get_user_invitation($id);
           // echo '<pre>';
           // print_r($data['list_invitation']);
           // exit();
            $data['main_content'] = 'proiecte/furnizori';
        }

       // echo '<pre>';
       // print_r($data['furnizori']);
      //  exit();


///        $this->load->view('template', $data);
       echo view('template', $data);
    }


    public function get_taskuri($id){



        /*$this->db->select('*');
        $this->db->select('proiect_taskuri.id as task_id');

        $this->db->join('profil', 'proiect_taskuri.id_user = profil.user_id');

        $this->db->where('proiect_taskuri.id_proiect', $id);

        $this->db->order_by('proiect_taskuri.id','desc');
        $Qdev = $this->db->get('proiect_taskuri')->result_array();

        return $Qdev;*/

        $Qdev = $this->db->table('proiect_taskuri')
                ->select('*')
                ->select('proiect_taskuri.id as task_id')
                ->join('profil', 'proiect_taskuri.id_user = profil.user_id')
                ->where('proiect_taskuri.id_proiect', $id)
                ->orderBy('proiect_taskuri.id','desc')
                ->get()
                ->getResultArray();

        return $Qdev;
    }

    public function taskuri($id = 0){

        $active_m = array();
        $active_m[0]='active'; // proiecte
        $active_m[1]=''; // lanseaza proiect
        $active_m[2]=''; // furnizori
        $active_m[3]=''; // mesaje
        $active_m[4]=''; // notificari

        $data['active_m'] = $active_m;


        $data['nr_notif'] = get_count_notif();
        $active = array();
        $active[0]=''; // brief
        $active[1]=''; // buget
        $active[2]=''; // furnizori
        $active[3]='active'; // task-uri
        $active[4]=''; // istoric
        $active[5]=''; // disctuii
        $active[6]=''; // fisiere

        $data['active'] = $active;
        $data['tip_user'] = tip_user();
        $data['proiect'] = $this->info_proiect($id);
        $data['idP'] = $id;

        $data['furnizori'] = $this->lista_useri();
        $data['list_invitation'] = $this->usersModel->get_user_invitation($id);

        $data['taskuri'] = $this->get_taskuri($id);

		$data['header_img'] = '/assets/images/headers/header_task-uri.jpg';
		$data['header_text'] = $data['proiect']['proiect']['nume_proiect'];

        $data['main_content'] = 'proiecte/taskuri';
///        $this->load->view('template', $data);
        echo view('template', $data);
    }

    public function istoric($id = 0){

        $active_m = array();
        $active_m[0]='active'; // proiecte
        $active_m[1]=''; // lanseaza proiect
        $active_m[2]=''; // furnizori
        $active_m[3]=''; // mesaje
        $active_m[4]=''; // notificari

        $data['active_m'] = $active_m;

        $data['nr_notif'] = get_count_notif();
        $active = array();
        $active[0]=''; // brief
        $active[1]=''; // buget
        $active[2]=''; // furnizori
        $active[3]=''; // task-uri
        $active[4]='active'; // istoric
        $active[5]=''; // disctuii
        $active[6]=''; // fisiere

        $data['active'] = $active;
        $data['tip_user'] = tip_user();
        $data['proiect'] = $this->info_proiect($id);
        $data['idP'] = $id;


        /*$this->db->select('*');
        $this->db->where('id_proiect', $id);
        $this->db->where('user_id', id_user());
        $this->db->order_by('id','desc');
        $istoric = $this->db->get('history')->result_array();*/

        $istoric = $this->db->table('history')
                ->select('*')
                ->where('id_proiect', $id)
                ->where('user_id', id_user())
                ->orderBy('id','desc')
                ->get()
                ->getResultArray();


        $istoric_arr = array();

        $r=0;
        foreach ($istoric as $item){
            $item['top_title'] = $this->usersModel->get_user_name($item['from_user_id']);
            $item['sub_title'] = $this->usersModel->get_user_type($item['from_user_id']);
            $istoric_arr[$r] = $item;
            $r++;

        }

       // echo '<pre>';
       // print_r($istoric_arr);
       // print_r($istoric);

        $data['istoric'] = $istoric_arr;

       // echo '<pre>';
       // print_r($istoric_arr);

		$data['header_img'] = '/assets/images/headers/header_istoric.jpg';
		$data['header_text'] = $data['proiect']['proiect']['nume_proiect'];

        $data['main_content'] = 'proiecte/istoric';
//        $this->load->view('template', $data);
        echo view('template', $data);

    }

    public function mesaje_old($id = ''){




        $users = new UsersModel();
        $proiecte = new ProiecteModel();
        $tipUser = tip_user();

        // $data['list_invitation'] = $this->get_user_invitation($id);
        //   echo '<pre>';
        //   print_r($data['list_invitation']);
        //  exit();
        $active_m = array();
        $active_m[0]=''; // proiecte
        $active_m[1]=''; // lanseaza proiect
        $active_m[2]=''; // furnizori
        $active_m[3]='active'; // mesaje
        $active_m[4]=''; // notificari


		$data['header_img'] = '/assets/images/headers/header_mesaje.jpg';
		$data['header_text'] = 'Lista mesaje';



        $data['active_m'] = $active_m;

        $data['nr_notif'] = get_count_notif();
        $active = array();
        $active[0]=''; // brief
        $active[1]=''; // buget
        $active[2]=''; // furnizori
        $active[3]=''; // task-uri
        $active[4]=''; // istoric
        $active[5]='active'; // disctuii
        $active[6]=''; // fisiere

        $data['active'] = $active;

        $data['proiect'] = $this->info_proiect($id);
        $data['idP'] = $id;
        $data['tip_user'] = tip_user();

        $data['furnizori'] = $this->lista_useri();
        $data['list_invitation'] = $this->usersModel->get_user_invitation($id);

       // echo '<pre>';
       // print_r($data['list_invitation']);

       /* $this->db->select('*');
        $this->db->where('id_proiect', $id);
        $this->db->where('status', 1);
        $this->db->order_by("id", "desc");

        $data['grupuri'] = $this->db->get('messages_grup')->result_array();*/

        $data['grupuri'] = $this->db->table('messages_grup')
                ->select('*')
                ->where('id_proiect', $id)
                ->where('status', 1)
                ->orderBy('id', 'desc')
                ->get()
                ->getResultArray();



// PROIECTEEEEEEEEEEEEEE
/*        $this->db->join('categorii', 'proiecte.tip = categorii.id');

        if ((tip_user() != 'partener') && (tip_user() != 'administrator')) {
            // $this->db->where('proiecte.adaugat_de', id_user());
            $this->db->select('invitatii_proiect.*,proiecte.nume,proiecte.status');
            $this->db->join('invitatii_proiect', 'invitatii_proiect.id_proiect = proiecte.id_proiect');
            $this->db->where('invitatii_proiect.id_user', id_user());
            $this->db->where('invitatii_proiect.status', 'acceptata');
        }else{
            $this->db->select('*');
        }



        $this->db->select('categorii.nume AS nume_categorie,
        proiecte.nume AS nume_proiect,
        proiecte.id AS idP', FALSE);
        $this->db->order_by("proiecte.id", "desc");


        $this->db->where('proiecte.activ', '1');

        if (tip_user() == 'partener') {
            $this->db->where('proiecte.adaugat_de', id_user());
        }



        $Qlist = $this->db->get('proiecte')->result_array();

        $data['tip_user'] = tip_user();
        $data['lista_proiecte'] = $Qlist;



        $data['main_content'] = 'mesaje';
        $this->load->view('template', $data);*/


        $builder = $proiecte->builder()
            ->select('categorii.nume AS nume_categorie, proiecte.nume AS nume_proiect, proiecte.id AS idP')
            ->join('categorii', 'proiecte.tip = categorii.id')
            ->where('proiecte.activ', '1')
            ->orderBy('proiecte.id', 'desc');

        if ($tipUser === 'partener') {
            $builder->where('proiecte.adaugat_de', $users->id_user());
        } else if ($tipUser !== 'administrator') {
            $builder
                ->select('invitatii_proiect.*, proiecte.nume, proiecte.status')
                ->join('invitatii_proiect', 'invitatii_proiect.id_proiect = proiecte.id_proiect')
                ->where('invitatii_proiect.id_user', $users->id_user())
                ->where('invitatii_proiect.status', 'acceptata');
        }

        $Qlist = $builder->get()->getResultArray();

        $data['tip_user'] = $tipUser;
        $data['lista_proiecte'] = $Qlist;
        $data['main_content'] = 'mesaje';

        return view('template', $data);
    }

    public function mesaje($id = '')
    {
        $db = \Config\Database::connect();

        $active_m = [
            '', // proiecte
            '', // lanseaza proiect
            '', // furnizori
            'active', // mesaje
            '', // notificari
        ];

        $data = [
            'header_img' => '/assets/images/headers/header_mesaje.jpg',
            'header_text' => 'Lista mesaje',
            'active_m' => $active_m,
            'nr_notif' => get_count_notif(),
            'active' => [
                '', // brief
                '', // buget
                '', // furnizori
                '', // task-uri
                '', // istoric
                'active', // disctuii
                '', // fisiere
            ],
            'proiect' => $this->info_proiect($id),
            'idP' => $id,
            'tip_user' => tip_user(),
            'furnizori' => $this->lista_useri(),
            'list_invitation' => $this->usersModel->get_user_invitation($id),
            'grupuri' => $db->table('messages_grup')
                ->select('*')
                ->where('id_proiect', $id)
                ->where('status', 1)
                ->orderBy("id", "desc")
                ->get()
                ->getResultArray(),
            'main_content' => 'mesaje'
        ];

        // Set up the database query for the "proiecte" part of the function
        $builder = $db->table('proiecte');
        try {
            $builder->select('categorii.nume AS nume_categorie, proiecte.nume AS nume_proiect, proiecte.id AS idP, proiecte.*');
            $builder->join('categorii', 'proiecte.tip = categorii.id');

            if (tip_user() != 'partener' && tip_user() != 'administrator') {
                $builder->select('invitatii_proiect.*,proiecte.nume,proiecte.status');
                $builder->join('invitatii_proiect', 'invitatii_proiect.id_proiect = proiecte.id_proiect');
                $builder->where('invitatii_proiect.id_user', id_user());
                $builder->where('invitatii_proiect.status', 'acceptata');
            }

            $builder->where('proiecte.activ', '1');

            if (tip_user() == 'partener') {
                $builder->where('proiecte.adaugat_de', id_user());
            }

            $builder->orderBy("proiecte.id", "desc");

            $Qlist = $builder->get()->getResultArray();
        } catch (\Exception $e) {
            die($e->getMessage());
        }

        $data['lista_proiecte'] = $Qlist;

        return view('template', $data);
    }


    public function discutii($id = 0){


       // $data['list_invitation'] = $this->get_user_invitation($id);
      //   echo '<pre>';
      //   print_r($data['list_invitation']);
       //  exit();
        $active_m = array();
        $active_m[0]='active'; // proiecte
        $active_m[1]=''; // lanseaza proiect
        $active_m[2]=''; // furnizori
        $active_m[3]=''; // mesaje
        $active_m[4]=''; // notificari

        $data['active_m'] = $active_m;

        $data['nr_notif'] = get_count_notif();
        $active = array();
        $active[0]=''; // brief
        $active[1]=''; // buget
        $active[2]=''; // furnizori
        $active[3]=''; // task-uri
        $active[4]=''; // istoric
        $active[5]='active'; // disctuii
        $active[6]=''; // fisiere

        $data['active'] = $active;

        $data['proiect'] = $this->info_proiect($id);
        $data['idP'] = $id;
        $data['tip_user'] = tip_user();

        $data['furnizori'] = $this->lista_useri();
        $data['list_invitation'] = $this->usersModel->get_user_invitation($id);

        /*$this->db->select('*');
        $this->db->where('id_proiect', $id);
        $this->db->where('status', 1);
        $this->db->order_by("id", "desc");

        $data['grupuri'] = $this->db->get('messages_grup')->result_array();*/

       // $db = \Config\Database::connect();

        $query = $this->db->table('messages_grup')
            ->select('*')
            ->where('id_proiect', $id)
            ->where('status', 1)
            ->orderBy('id', 'DESC')
            ->get();

        $data['grupuri'] = $query->getResultArray();



		$data['header_img'] = '/assets/images/headers/header_discutii.jpg';
		$data['header_text'] = $data['proiect']['proiect']['nume_proiect'];

        $data['main_content'] = 'proiecte/discutii';
       // $this->load->view('template', $data);
        return view('template', $data);
    }

    public function fisiere($id = 0){


		$data['tip_conturi'] = $this->usersModel->get_user_category();
        $data['nr_notif'] = get_count_notif();
        $active = array();
        $active[0]=''; // brief
        $active[1]=''; // buget
        $active[2]=''; // furnizori
        $active[3]=''; // task-uri
        $active[4]=''; // istoric
        $active[5]=''; // disctuii
        $active[6]='active'; // fisiere

        $data['active'] = $active;


        $active_m = array();
        $active_m[0]='active'; // proiecte
        $active_m[1]=''; // lanseaza proiect
        $active_m[2]=''; // furnizori
        $active_m[3]=''; // mesaje
        $active_m[4]=''; // notificari

        $data['active_m'] = $active_m;



       /* $this->db->select('*');
        $this->db->where('id_proiect', $id);


        $this->db->order_by('id','desc');
        $data['files'] = $this->db->get('files')->result_array();*/

        $query = $this->db->table('files')
            ->select('*')
            ->where('id_proiect', $id)
            ->orderBy('id', 'DESC')
            ->get();

        $data['files'] = $query->getResultArray();





        $data['proiect'] = $this->info_proiect($id);
        $data['taskuri'] = $this->get_taskuri($id);
        $data['idP'] = $id;
        $data['tip_user'] = tip_user();
        $data['main_content'] = 'proiecte/fisiere';


		$data['header_img'] = '/assets/images/headers/header_fisiere.jpg';
		$data['header_text'] = $data['proiect']['proiect']['nume_proiect'];

//        $this->load->view('template', $data);
        return view('template', $data);
    }

    private function get_cat_proiect($id){

        /*$this->db->select('*');
        $this->db->join('categorii', 'categorii_proiect.id_cat = categorii.id');

        $this->db->where('categorii_proiect.id_proiect',$id);

        $Qlist = $this->db->get('categorii_proiect')->result_array();

        return $Qlist;*/

        $query = $this->db->table('categorii_proiect')
            ->select('*')
            ->join('categorii', 'categorii_proiect.id_cat = categorii.id')
            ->where('categorii_proiect.id_proiect', $id)
            ->get();

        return $query->getResultArray();

    }

    public function notificari(){

        $active_m = array();
        $active_m[0]=''; // proiecte
        $active_m[1]=''; // lanseaza proiect
        $active_m[2]=''; // furnizori
        $active_m[3]=''; // mesaje
        $active_m[4]='active'; // notificari


		$data['header_img'] = '/assets/images/headers/header_notificari.jpg';
		$data['header_text'] = 'Lista notificari - demo text info  ';

        $data['active_m'] = $active_m;


        $data['nr_notif'] = get_count_notif();
        $data['tip_user'] = tip_user();

/*        $this->db->select('invitatii_proiect.*,proiecte.nume,proiecte.tip, categorii.nume, profil.nume, profil.avatar , profil.prenume, conturi.tip_user');
        $this->db->select('categorii.nume AS nume_categorie', FALSE);
        $this->db->select('proiecte.nume AS nume_proiect', FALSE);
        $this->db->select('proiecte.moneda AS moneda_proiect', FALSE);
        $this->db->join('proiecte', 'proiecte.id_proiect = invitatii_proiect.id_proiect');
        $this->db->join('profil', 'profil.user_id = invitatii_proiect.id_from');
        $this->db->join('conturi', 'conturi.id = invitatii_proiect.id_from');
        $this->db->join('categorii', 'proiecte.tip = categorii.id');



        //$this->db->select('proiecte.email AS email_dev', FALSE);

        $this->db->where('id_user', id_user());
        $this->db->order_by('invitatii_proiect.id', 'desc');

        $Qlist = $this->db->get('invitatii_proiect')->result_array();
        $data['lista_invitatii'] = $Qlist;*/


        $query = $this->db->table('invitatii_proiect')
            ->select('invitatii_proiect.*, proiecte.nume, proiecte.tip, categorii.nume, profil.nume, profil.avatar , profil.prenume, conturi.tip_user')
            ->select('categorii.nume AS nume_categorie', false)
            ->select('proiecte.nume AS nume_proiect', false)
            ->select('proiecte.moneda AS moneda_proiect', false)
            ->join('proiecte', 'proiecte.id_proiect = invitatii_proiect.id_proiect')
            ->join('profil', 'profil.user_id = invitatii_proiect.id_from')
            ->join('conturi', 'conturi.id = invitatii_proiect.id_from')
            ->join('categorii', 'proiecte.tip = categorii.id')
            ->where('id_user', id_user())
            ->orderBy('invitatii_proiect.id', 'desc')
            ->get();

        $data['lista_invitatii'] = $query->getResultArray();




       /* $this->db->select('*');
        $this->db->where('user_id', id_user());
        $this->db->order_by('notifications.id', 'desc');

        $Qlist = $this->db->get('notifications')->result_array();
        $data['notificari'] = $Qlist;*/


        $query = $this->db->table('notifications')
            ->select('*')
            ->where('user_id', id_user())
            ->orderBy('notifications.id', 'desc')
            ->get();

        $data['notificari'] = $query->getResultArray();


       
        foreach($data['lista_invitatii'] as $item){

          //  echo '<pre>';
           // print_r($this->get_cat_proiect($item['id_proiect']));
        }
        /*$this->db->select('*')
                 ->where(array('id_user'=>id_user()))
                 ->update("invitatii_proiect",array("view"=>"1"));


        $this->db->select('*')
            ->where(array('user_id'=>id_user()))
            ->update("notifications",array("view"=>"1"));



        $data['main_content'] = 'notificari';
        $this->load->view('template', $data);*/

        $this->db->table('invitatii_proiect')
            ->where('id_user', id_user())
            ->set('view', '1')
            ->update();

        $this->db->table('notifications')
            ->where('user_id', id_user())
            ->set('view', '1')
            ->update();

        $data['main_content'] = 'notificari';
        echo view('template', $data);
    }

   // }
}