예제 #1
0
 /**
  * Remove Profile image
  *
  * @access	private
  * @param	nil
  * @return	void
  */
 function removePhoto()
 {
     //language file
     $this->lang->load('enduser/editProfile', $this->config->item('language_code'));
     //Check For Buyer Session
     if ($this->uri->segment(4) == '2') {
         if (!isProgrammer()) {
             $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You must be logged in as a Programmer')));
             redirect('info');
         }
     } elseif ($this->uri->segment(4) == '1') {
         if (!isBuyer()) {
             $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', 'You must be logged in as a Buyer'));
             redirect('info');
         }
     }
     $userid = $this->uri->segment(3);
     $path = $this->config->item('basepath') . 'files/logos/';
     $condition2 = array('users.id' => $userid);
     $port = $this->user_model->getUsers($condition2);
     $folio = $port->row();
     //$arr = explode(".",$folio->logo);
     //$thumb = $arr[0]."_thumb.".$arr[1];
     $files = array($folio->logo);
     delete_file($path, $files);
     $updateData['users.logo'] = '';
     $updateKey = array('users.id' => $userid);
     //Edit Portfolio
     $this->user_model->updateUser($updateKey, $updateData);
     $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', 'Profile photo deleted successfully'));
     if ($this->uri->segment(4) == '2') {
         redirect('programmer/editProfile/');
     } elseif ($this->uri->segment(4) == '1') {
         redirect('buyer/editProfile/');
     }
 }
예제 #2
0
파일: project.php 프로젝트: khanals/rbs-ext
 /**
  * Accept project from Buyer who accepted your bid
  *
  * @access	public
  * @param	project id and checkstamp
  * @return	contents
  */
 function acceptProject()
 {
     //Load Language
     $this->lang->load('enduser/acceptProject', $this->config->item('language_code'));
     //Check For Programmer Session
     if (!isProgrammer()) {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You must be logged in as a programmer to accept projects')));
         redirect('users/login');
     }
     $project_id = $this->uri->segment(3, '0');
     $checkstamp = $this->uri->segment(4, '0');
     $conditions = array('projects.id' => $project_id, 'projects.checkstamp' => $checkstamp, 'projects.project_status' => '1', 'projects.programmer_id' => $this->loggedInUser->id);
     $project = $this->skills_model->getProjects($conditions);
     $projectRow = $project->row();
     if (!is_object($projectRow)) {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You cannot accept this project')));
         redirect('info');
     }
     $buyerId = $projectRow->creator_id;
     $programmerId = $projectRow->programmer_id;
     $conditions2 = array('users.id' => $buyerId);
     $buyer = $this->user_model->getUsers($conditions2);
     $buyerRow = $buyer->row();
     $conditions3 = array('users.id' => $programmerId);
     $programmer = $this->user_model->getUsers($conditions3);
     $programmerRow = $programmer->row();
     $updateKey = array('projects.id' => $project_id, 'projects.checkstamp' => $checkstamp, 'projects.programmer_id' => $programmerId);
     $updateData = array('projects.project_status' => '2');
     $upProject = $this->skills_model->accpetProject($updateKey, $updateData);
     if ($upProject == 1) {
         //Load Model For Mail
         $this->load->model('email_model');
         //Send Mail to Buyer
         $conditionUserMail = array('email_templates.type' => 'project_accepted_buyer');
         $result = $this->email_model->getEmailSettings($conditionUserMail);
         $rowUserMailConent = $result->row();
         $splVars = array("!programmer_username" => $programmerRow->user_name, "!project_title" => $projectRow->project_name, "!programmer_email" => $programmerRow->email, "!contact_url" => site_url('contact'));
         $mailSubject = $this->lang->line($rowUserMailConent->mail_subject);
         $mailContent = strtr($rowUserMailConent->mail_body, $splVars);
         $toEmail = $buyerRow->email;
         $fromEmail = $this->config->item('site_admin_mail');
         $this->email_model->sendHtmlMail($toEmail, $fromEmail, $mailSubject, $mailContent);
         //Send Mail to Programmer
         $conditionUserMail2 = array('email_templates.type' => 'project_accepted_programmer');
         $result2 = $this->email_model->getEmailSettings($conditionUserMail2);
         $rowUserMailConent2 = $result2->row();
         $splVars2 = array("!project_title" => $projectRow->project_name, "!buyer_username" => $buyerRow->user_name, "!buyer_email" => $buyerRow->email, "!contact_url" => site_url('contact'));
         $mailSubject2 = $this->lang->line($rowUserMailConent2->mail_subject);
         $mailContent2 = strtr($rowUserMailConent2->mail_body, $splVars2);
         $toEmail2 = $programmerRow->email;
         $fromEmail2 = $this->config->item('site_admin_mail');
         //echo $mailContent;exit;
         $this->email_model->sendHtmlMail($toEmail2, $fromEmail2, $mailSubject2, $mailContent2);
         //Notification message
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('success', $this->lang->line('You have successfully accepted the project')));
         redirect('info/index/success');
     }
 }
예제 #3
0
파일: project.php 프로젝트: khanals/rbs-ext
 /**
  * Accept project from Buyer who accepted your bid
  *
  * @access	public
  * @param	project id and checkstamp
  * @return	contents
  */
 function acceptProject()
 {
     //Load Language
     $this->lang->load('enduser/acceptProject', $this->config->item('language_code'));
     //Check For Programmer Session
     if (!isProgrammer()) {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You must be logged in as a programmer to accept projects')));
         redirect('users/login');
     }
     $project_id = $this->uri->segment(3, '0');
     $checkstamp = $this->uri->segment(4, '0');
     if (isset($project_id)) {
         $updateKey = array('projects.id' => $project_id);
         $updateData['notification_status'] = '1';
         $this->skills_model->updateProjects(NULL, $updateData, $updateKey);
     }
     $conditions = array('projects.id' => $project_id, 'projects.checkstamp' => $checkstamp, 'projects.project_status' => '1', 'projects.programmer_id' => $this->loggedInUser->id);
     $project = $this->skills_model->getProjects($conditions);
     $projectRow = $project->row();
     if (!is_object($projectRow)) {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You cannot accept this project')));
         redirect('info');
     }
     //Check Ecrow Released or not
     $paymentSettings = $this->settings_model->getSiteSettings();
     $forced_escrow = $this->config->item('forced_escrow');
     if ($forced_escrow == 1) {
         $projectRow_id = $project_id;
         $condition = array('transactions.type' => 'Escrow Transfer', 'transactions.project_id' => $projectRow_id);
         $transactions = $this->transaction_model->getTransactions($condition);
         //$transactions->num_rows();
         $transactionrow = $transactions->row();
         if (!is_object($transactionrow)) {
             $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You have not released the Escrow Amount')));
             redirect('info');
         } else {
             $status = $transactionrow->status;
             $escrow_projectid = $transactionrow->project_id;
             if ($status = '' or $escrow_projectid == '') {
                 $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You have not released the Escrow Amount.')));
                 redirect('info');
             }
         }
     }
     //Check User Balance
     $this->load->model('transaction_model');
     $condition_balance = array('user_balance.user_id' => $this->loggedInUser->id);
     $results = $this->transaction_model->getBalance($condition_balance);
     if ($results->num_rows() > 0) {
         //get balance detail
         $rowBalance = $results->row();
         $bal = $rowBalance->amount;
         $min_bal = $this->config->item('payment_settings');
         $commission = $this->config->item('provider_commission_amount');
         // Puhal changes to get the % of the winning bid
         $cond = array('project_id' => $project_id, 'user_id' => $this->loggedInUser->id);
         $bid_amount = $this->common_model->getTableData('bids', $cond, 'bid_amount');
         $bid_amount_fetch = $bid_amount->row();
         $commission = $commission * $bid_amount_fetch->bid_amount / 100;
         $rem = $bal - $commission;
         if ($bal < $min_bal || $rem < $min_bal) {
             $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', 'Your account balance is too low'));
             redirect('programmer/viewMyProjects');
         }
         $updateKey = array('user_balance.user_id' => $this->loggedInUser->id);
         $updateData = array('amount' => $rem);
         $results1 = $this->transaction_model->updateBalance($updateKey, $updateData);
     } else {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', 'Your have no balance in your account to accept the projects'));
         redirect('programmer/viewMyProjects');
     }
     $buyerId = $projectRow->creator_id;
     $programmerId = $projectRow->programmer_id;
     $conditions2 = array('users.id' => $buyerId);
     $buyer = $this->user_model->getUsers($conditions2);
     $buyerRow = $buyer->row();
     $conditions3 = array('users.id' => $programmerId);
     $programmer = $this->user_model->getUsers($conditions3);
     $programmerRow = $programmer->row();
     $updateKey = array('projects.id' => $project_id, 'projects.checkstamp' => $checkstamp, 'projects.programmer_id' => $programmerId);
     $updateData = array('projects.project_status' => '2');
     $upProject = $this->skills_model->accpetProject($updateKey, $updateData);
     if (isset($project_id)) {
         //Load model
         $this->load->model('settings_model');
         $this->load->model('affiliate_model');
         // get projects for this user
         $condition = array('projects.id' => $project_id);
         $mpr = $this->skills_model->getProjects($condition);
         $prj = $mpr->row();
         // get user
         $condition = array('users.id' => $this->loggedInUser->id);
         $user_data = $this->user_model->getUsers($condition);
         //$user_data_result = $user_data->result();
         $user_data_row = $user_data->row();
         // get affiliate payments
         $affiliate_result = $this->affiliate_model->getAffiliatePayment();
         $buyer_affiliate_fee = $affiliate_result['buyer_affiliate_fee'];
         $programmer_affiliate_fee = $affiliate_result['programmer_affiliate_fee'];
         $buyer_min_payout = $affiliate_result['buyer_min_payout'];
         $programmer_min_payout = $affiliate_result['programmer_min_payout'];
         $buyer_project_fee = $affiliate_result['buyer_project_fee'];
         $programmer_project_fee = $affiliate_result['programmer_project_fee'];
         //get affiliate settings
         $settings = $this->settings_model->getSiteSettings();
         $provider_settings_fee = $settings['PROVIDER_COMMISSION_AMOUNT'];
         $featured_project_amount = $settings['FEATURED_PROJECT_AMOUNT'];
         if ($prj->project_status == 2 and $prj->programmer_id == $this->loggedInUser->id and $prj->checkstamp == $checkstamp) {
             if (isset($user_data_row->refid) and $user_data_row->refid != "0") {
                 $refid = $user_data_row->refid;
                 $role_id = $user_data_row->role_id;
                 $referral = $user_data_row->user_name;
                 $signup_date = $user_data_row->created;
                 $date_with_time = show_date($signup_date);
                 $arr_str = explode(',', $date_with_time);
                 $arr = explode(" ", trim($arr_str[1]));
                 for ($i = 0; $i < count($arr); $i++) {
                     $mon = $arr[1];
                     $year = $arr[2];
                 }
                 $signup_date_format = $mon . ", " . $year;
                 $conditions = array('bids.user_id' => $prj->programmer_id, 'bids.project_id' => $prj->id);
                 $totbid = $this->skills_model->getBids($conditions);
                 $result_bid = $totbid->row();
                 $bid_amount = $result_bid->bid_amount;
                 if ($role_id == 1) {
                     if ($prj->is_feature == 1) {
                         $featured_project_amount = $settings['FEATURED_PROJECT_AMOUNT'] * ($buyer_project_fee / 100);
                         $provider_percentage_amount = $bid_amount * ($provider_settings_fee / 100);
                         $commision = $provider_percentage_amount * ($buyer_project_fee / 100);
                         $commision_amount = $featured_project_amount + $commision;
                     } else {
                         $provider_percentage_amount = $bid_amount * ($provider_settings_fee / 100);
                         $commision_amount = $provider_percentage_amount * ($buyer_affiliate_fee / 100);
                     }
                     // insert affiliate sales
                     $clientdate = $this->config->item('clientdate');
                     $clienttime = $this->config->item('clienttime');
                     $clientbrowser = $this->config->item('clientbrowser');
                     $clientip = $this->config->item('clientip');
                     //prepare insert data
                     $insertData = array();
                     $insertData['refid'] = $refid;
                     $insertData['created_date'] = "{$clientdate}";
                     $insertData['created_time'] = "{$clienttime}";
                     $insertData['browser'] = "{$clientbrowser}";
                     $insertData['ipaddress'] = "{$clientip}";
                     $insertData['payment'] = $commision_amount;
                     $insertData['referral'] = $referral;
                     $insertData['account_type'] = $role_id;
                     $insertData['signup_date'] = $signup_date;
                     $insertData['signup_date_format'] = $signup_date_format;
                     //$insertData['is_released']='0';
                     //Add Category
                     $this->affiliate_model->addAffiliateSales($insertData);
                 }
                 if ($role_id == 2) {
                     if ($prj->is_feature == 1) {
                         $featured_project_amount = $settings['FEATURED_PROJECT_AMOUNT'] * ($programmer_project_fee / 100);
                         $provider_percentage_amount = $bid_amount * ($provider_settings_fee / 100);
                         $commision = $provider_percentage_amount * ($programmer_project_fee / 100);
                         $commision_amount = $featured_project_amount + $commision;
                     } else {
                         $programmer_percentage_amount = $bid_amount * ($provider_settings_fee / 100);
                         $commision_amount = $programmer_percentage_amount * ($programmer_affiliate_fee / 100);
                     }
                     // insert affiliate sales
                     $clientdate = $this->config->item('clientdate');
                     $clienttime = $this->config->item('clienttime');
                     $clientbrowser = $this->config->item('clientbrowser');
                     $clientip = $this->config->item('clientip');
                     //prepare insert data
                     $insertData = array();
                     $insertData['refid'] = $refid;
                     $insertData['created_date'] = "{$clientdate}";
                     $insertData['created_time'] = "{$clienttime}";
                     $insertData['browser'] = "{$clientbrowser}";
                     $insertData['ipaddress'] = "{$clientip}";
                     $insertData['payment'] = $commision_amount;
                     $insertData['referral'] = $referral;
                     $insertData['account_type'] = $role_id;
                     $insertData['signup_date'] = $signup_date;
                     $insertData['signup_date_format'] = $signup_date_format;
                     // $insertData['is_released']='0';
                     //print_r($insertData);
                     //Add Category
                     $this->affiliate_model->addAffiliateSales($insertData);
                 }
             } else {
                 // get user
                 $condition1 = array('users.id' => $prj->creator_id);
                 $user_data1 = $this->user_model->getUsers($condition1);
                 //$user_data_result = $user_data->result();
                 $user_data_row1 = $user_data1->row();
                 if (isset($user_data_row1->refid)) {
                     $refid = $user_data_row1->refid;
                     $role_id = $user_data_row1->role_id;
                     $referral = $user_data_row1->user_name;
                     $signup_date = $user_data_row->created;
                     $date_with_time = show_date($signup_date);
                     $arr_str = explode(',', $date_with_time);
                     $arr = explode(" ", trim($arr_str[1]));
                     for ($i = 0; $i < count($arr); $i++) {
                         $mon = $arr[1];
                         $year = $arr[2];
                     }
                     $signup_date_format = $mon . ", " . $year;
                     $conditions2 = array('bids.user_id' => $prj->programmer_id, 'bids.project_id' => $prj->id);
                     $totbid = $this->skills_model->getBids($conditions2);
                     $result_bid = $totbid->row();
                     $bid_amount = $result_bid->bid_amount;
                     if ($role_id == 1) {
                         if ($prj->is_feature == 1) {
                             $featured_project_amount = $settings['FEATURED_PROJECT_AMOUNT'] * ($buyer_project_fee / 100);
                             $provider_percentage_amount = $bid_amount * ($provider_settings_fee / 100);
                             $commision = $provider_percentage_amount * ($buyer_project_fee / 100);
                             $commision_amount = $featured_project_amount + $commision;
                         } else {
                             $provider_percentage_amount = $bid_amount * ($provider_settings_fee / 100);
                             $commision_amount = $provider_percentage_amount * ($buyer_affiliate_fee / 100);
                         }
                         // insert affiliate sales
                         $clientdate = $this->config->item('clientdate');
                         $clienttime = $this->config->item('clienttime');
                         $clientbrowser = $this->config->item('clientbrowser');
                         $clientip = $this->config->item('clientip');
                         //prepare insert data
                         $insertData = array();
                         $insertData['refid'] = $refid;
                         $insertData['created_date'] = "{$clientdate}";
                         $insertData['created_time'] = "{$clienttime}";
                         $insertData['browser'] = "{$clientbrowser}";
                         $insertData['ipaddress'] = "{$clientip}";
                         $insertData['payment'] = $commision_amount;
                         $insertData['referral'] = $referral;
                         $insertData['account_type'] = $role_id;
                         $insertData['signup_date'] = $signup_date;
                         $insertData['signup_date_format'] = $signup_date_format;
                         // $insertData['is_released']='0';
                         //Add Category
                         $this->affiliate_model->addAffiliateSales($insertData);
                     }
                     if ($role_id == 2) {
                         if ($prj->is_feature == 1) {
                             $featured_project_amount = $settings['FEATURED_PROJECT_AMOUNT'] * ($programmer_project_fee / 100);
                             $provider_percentage_amount = $bid_amount * ($provider_settings_fee / 100);
                             $commision = $provider_percentage_amount * ($programmer_project_fee / 100);
                             $commision_amount = $featured_project_amount + $commision;
                         } else {
                             $programmer_percentage_amount = $bid_amount * ($provider_settings_fee / 100);
                             $commision_amount = $programmer_percentage_amount * ($programmer_affiliate_fee / 100);
                         }
                         // insert affiliate sales
                         $clientdate = $this->config->item('clientdate');
                         $clienttime = $this->config->item('clienttime');
                         $clientbrowser = $this->config->item('clientbrowser');
                         $clientip = $this->config->item('clientip');
                         //prepare insert data
                         $insertData = array();
                         $insertData['refid'] = $refid;
                         $insertData['created_date'] = "{$clientdate}";
                         $insertData['created_time'] = "{$clienttime}";
                         $insertData['browser'] = "{$clientbrowser}";
                         $insertData['ipaddress'] = "{$clientip}";
                         $insertData['payment'] = $commision_amount;
                         $insertData['referral'] = $referral;
                         $insertData['account_type'] = $role_id;
                         $insertData['signup_date'] = $signup_date;
                         $insertData['signup_date_format'] = $signup_date_format;
                         //$insertData['is_released']='0';
                         //Add Category
                         $this->affiliate_model->addAffiliateSales($insertData);
                     }
                 }
             }
         }
     }
     if ($upProject == 1) {
         //Load Model For Mail
         $this->load->model('email_model');
         //Send Mail to Buyer
         $conditionUserMail = array('email_templates.type' => 'project_accepted_buyer');
         $result = $this->email_model->getEmailSettings($conditionUserMail);
         $rowUserMailConent = $result->row();
         $splVars = array("!programmer_username" => $programmerRow->user_name, "!project_title" => $projectRow->project_name, "!programmer_email" => $programmerRow->email, "!contact_url" => site_url('contact'));
         $mailSubject = $this->lang->line($rowUserMailConent->mail_subject);
         $mailContent = strtr($rowUserMailConent->mail_body, $splVars);
         $toEmail = $buyerRow->email;
         $fromEmail = $this->config->item('site_admin_mail');
         $this->email_model->sendHtmlMail($toEmail, $fromEmail, $mailSubject, $mailContent);
         //Send Mail to Programmer
         $conditionUserMail2 = array('email_templates.type' => 'project_accepted_programmer');
         $result2 = $this->email_model->getEmailSettings($conditionUserMail2);
         $rowUserMailConent2 = $result2->row();
         $splVars2 = array("!project_title" => $projectRow->project_name, "!buyer_username" => $buyerRow->user_name, "!buyer_email" => $buyerRow->email, "!contact_url" => site_url('contact'));
         $mailSubject2 = $this->lang->line($rowUserMailConent2->mail_subject);
         $mailContent2 = strtr($rowUserMailConent2->mail_body, $splVars2);
         $toEmail2 = $programmerRow->email;
         $fromEmail2 = $this->config->item('site_admin_mail');
         $this->email_model->sendHtmlMail($toEmail2, $fromEmail2, $mailSubject2, $mailContent2);
         //Notification message
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('success', $this->lang->line('You have successfully accepted the project')));
         redirect('info/index/success');
     }
 }
예제 #4
0
파일: account.php 프로젝트: khanals/rbs-ext
 /**
  * Loads Account page.
  *
  * @access	Private
  * @param	nil
  * @return	void
  */
 function index()
 {
     //Load the package_model
     $this->load->model('package_model');
     //Load Language File
     $this->lang->load('enduser/account', $this->config->item('language_code'));
     $this->lang->load('enduser/viewProject', $this->config->item('language_code'));
     //Load helper file
     $this->load->helper('transaction');
     $this->load->helper('reviews');
     //If Admin try to access this url...redirect him
     /*if(isAdmin() === true)
     		{
     			$this->session->set_flashdata('flash_message', $this->common_model->flash_message('error',$this->lang->line('Dont have rights to access this page')));
     			redirect('info');
     		}
     	    */
     if (!isset($this->loggedInUser->id)) {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You can not access to this page')));
         redirect('info');
     }
     // check Certificate User
     if ($this->loggedInUser) {
         //Get Transaction Information
         $condition_username = '******' . $this->loggedInUser->id;
         $condition_flag = 'subscriptionuser.flag=' . '1';
         $condition = $condition_username . '  AND  ' . $condition_flag;
         $query = 'SELECT * FROM `subscriptionuser` WHERE ' . $condition;
         $result = $this->db->query($query);
         $certificate_user = $result;
         foreach ($certificate_user->result() as $cetificateuser) {
             $user_package = $cetificateuser->package_id;
             $condition1 = 'packages.id =' . $user_package;
             $condition2 = 'packages.end_date>=' . time();
             $condition = $condition1 . ' AND ' . $condition2;
             $query = 'SELECT * FROM packages WHERE ' . $condition;
             $result = $this->db->query($query);
             $packagesList = $result;
             $this->outputData['packagesList'] = $packagesList;
         }
     }
     if ($this->loggedInUser) {
         //Get Transaction Information
         $condition = array('transactions.creator_id' => $this->loggedInUser->id, 'transactions.reciever_id' => $this->loggedInUser->id);
         $transactions = $this->transaction_model->getTransactions($condition);
         $this->outputData['transaction'] = $transactions;
         //pr($transactions->result());
         //Get the review
         $condition2 = array('users.id' => $this->loggedInUser->id);
         $this->outputData['reviewDetails'] = $this->user_model->getUsers($condition2);
     }
     //Load escrow
     if ($this->loggedInUser->role_id == '1') {
         $this->outputData['topBuyers'] = $this->skills_model->getTopBuyers(NULL);
         $creator_condition = array('transactions.creator_id' => $this->loggedInUser->id);
         $transaction_condition = array('transactions.creator_id' => $this->loggedInUser->id, 'type' => 'Escrow Transfer');
         //Get the project messages and mail list
         $condition = array('messages.to_id' => $this->loggedInUser->id, 'messages.notification_status' => '0');
         $this->outputData['mailList'] = $this->messages_model->getProjectMessages($condition);
     }
     if ($this->loggedInUser->role_id == '2') {
         //Get bookmark projects
         $condition_bookmark = array('bookmark.creator_id' => $this->loggedInUser->id);
         $bookMark1 = $this->skills_model->getBookmark($condition_bookmark);
         //$this->outputData['bookMark'] = $bookMark;
         //pagination limit
         $page_rows = $this->config->item('mail_limit');
         $start = $this->uri->segment(3, 0);
         $limit[0] = $page_rows;
         $limit[1] = $start * $page_rows;
         //Get all message trasaction with some limit
         $bookMark = $this->skills_model->getBookmark($condition_bookmark, NULL, NULL, $limit);
         $this->outputData['bookMark'] = $bookMark;
         //Pagination
         $this->load->library('pagination');
         $config['base_url'] = site_url('buyer/bookmarkProjects');
         $config['total_rows'] = $bookMark1->num_rows();
         $config['per_page'] = $page_rows;
         $config['cur_page'] = $start;
         $this->pagination->initialize($config);
         $this->outputData['pagination1'] = $this->pagination->create_links2(false, 'bookmarkProjects');
         //Get all users
         $this->outputData['getUsers'] = $this->user_model->getUsers();
         //Get the Projects details
         $creator_condition = array('transactions.reciever_id' => $this->loggedInUser->id);
         $transaction_condition = array('transactions.reciever_id' => $this->loggedInUser->id, 'type' => 'Escrow Transfer');
         $condition = array('projects.notification_status' => '0');
         $this->outputData['awardProjects'] = $this->skills_model->getProjects($condition);
         $result = $this->skills_model->getTopprogrammers();
         $this->outputData['getProgrammers'] = $result;
         //Get the suers categories
         //Laod bookmark model
         $this->load->model('bookmark_model');
         $condition = array('user_categories.user_id' => $this->loggedInUser->id);
         $projectNotification = $this->bookmark_model->getUserCategories($condition);
         $categoryid = $projectNotification->result();
         //Get the category string value for the id value
         $i = '0';
         if ($categoryid) {
             $categoryid = explode(',', $categoryid[$i]->user_categories);
             //Laod skills_model
             $this->load->model('skills_model');
             $categoryname[$i++] = $this->skills_model->convertCategoryIdsToName($categoryid);
             $this->outputData['categoryname'] = $categoryname;
         }
         //Get the project invitation from the buyer
         $condition = array('project_invitation.receiver_id' => $this->loggedInUser->id, 'project_invitation.notification_status' => '0');
         $this->outputData['projectInvitation'] = $this->user_model->getProgrammerInvitation($condition);
         //Get the project messages and mail list
         $condition = array('messages.to_id' => $this->loggedInUser->id, 'messages.notification_status' => '0');
         $this->outputData['mailList'] = $this->messages_model->getProjectMessages($condition);
     }
     $url = 'account/index';
     $page = $this->uri->segment(3, 0);
     $escrow = loadTransaction($creator_condition, $transaction_condition, $url, $page);
     $page_rows = $this->config->item('listing_limit');
     $max = array($page_rows, ($page - 1) * $page_rows);
     //Get Sorting order
     $field = $this->uri->segment(4, '0');
     $order = $this->uri->segment(5, '0');
     $orderby = array();
     if ($field) {
         $orderby = array($field, $order);
     }
     $this->outputData['order'] = $order;
     $this->outputData['field'] = $field;
     $this->outputData['page'] = $page;
     if (isProgrammer()) {
         $provider_id = $this->loggedInUser->id;
         $conditions = array('projects.programmer_id' => $provider_id, 'projects.project_status !=' => '2');
         $this->outputData['myProjects'] = $this->skills_model->getProjects($conditions, NULL, NULL);
         $created = $this->skills_model->getProjects($conditions);
         $conditions = array('projects.programmer_id' => $provider_id, 'projects.project_status =' => '2');
         $this->outputData['closedProjects'] = $this->skills_model->getProjectsByProvider($conditions);
     } else {
         $buyer_id = $this->loggedInUser->id;
         //Conditions
         $conditions = array('projects.creator_id' => $buyer_id, 'projects.project_status !=' => '2');
         $this->outputData['myProjects'] = $this->skills_model->getProjects($conditions, NULL, NULL);
         $created = $this->skills_model->getProjects($conditions);
         $conditions = array('projects.creator_id' => $buyer_id, 'projects.project_status =' => '2');
         $this->outputData['closedProjects'] = $this->skills_model->getProjectsByProvider($conditions);
         $review_type = $this->outputData['closedProjects']->row();
     }
     $this->outputData['pages'] = $this->common_model->getPages();
     //Pagination
     $this->load->library('pagination');
     $config['base_url'] = site_url('buyer/viewMyProjects/');
     $config['total_rows'] = $created->num_rows();
     $config['per_page'] = $page_rows;
     $config['cur_page'] = $page;
     $this->pagination->initialize($config);
     $this->outputData['pagination'] = $this->pagination->create_links(false, 'project');
     // get user
     $condition = array('users.id' => $this->loggedInUser->id);
     $user_data = $this->user_model->getUsers($condition);
     //$user_data_result = $user_data->result();
     $user_data_row = $user_data->row();
     //pr($user_data_row->refid);
     // load affilate model
     $this->load->model('affiliate_model');
     if (isset($user_data_row->refid)) {
         $condition = array('affiliate_welcome_msg.refid' => $user_data_row->refid, 'referel' => '');
         $affiliate_welcome = $this->affiliate_model->getAffiliateWelcomeMsg($condition);
         $condition1 = array('affiliate_welcome_msg.refid' => $user_data_row->refid, 'referel' => $this->loggedInUser->user_name, 'msg_status' => 1);
         $affiliate_welcome1 = $this->affiliate_model->getAffiliateWelcomeMsg($condition1);
         $welcome_result1 = $affiliate_welcome1->row();
         $welcome_result = $affiliate_welcome->row();
         //pr($welcome_result);
         if (!empty($welcome_result)) {
             if (empty($welcome_result1)) {
                 if ($welcome_result->msg_status == 0 and $welcome_result->referel == '' and $welcome_result->refid != $this->loggedInUser->user_name) {
                     $this->session->set_flashdata('flash_message', $this->common_model->flash_message('success', $welcome_result->welcome_msg));
                     //Set message Id
                     $updateKey = array('affiliate_welcome_msg.refid' => $user_data_row->refid, 'id' => $welcome_result->id);
                     $updateData = array();
                     $updateData['msg_status '] = 1;
                     $updateData['referel'] = $this->loggedInUser->user_name;
                     //Update Site Settings
                     $this->affiliate_model->updateAffiliateWelcomeMeg($updateKey, $updateData);
                     $insertData1 = array();
                     $insertData1['refid'] = $user_data_row->refid;
                     $insertData1['welcome_msg'] = $welcome_result->welcome_msg;
                     //Add Category
                     $this->affiliate_model->addAffiliateWelcomeMsg($insertData1);
                     redirect('info');
                 }
             }
         }
         //exit;
     }
     // checking the role of the user
     if ($this->loggedInUser->role_name == 'programmer') {
         //Set the user role
         $this->outputData['role'] = '2';
         // pr($this->outputData['transaction']->result());
         //Load Programmer Account View
         $this->load->view('programmer/programmerAccountManage', $this->outputData);
     }
     if ($this->loggedInUser->role_name == 'buyer') {
         //Load Buyer Account View
         $this->load->view('buyer/buyerAccountManage', $this->outputData);
     }
 }
예제 #5
0
          <div class="blue_r">
            <div class="blue_b">
              <div class="blue_l">
                <div class="blue_tl">
                  <div class="blue_tr">
                    <div class="blue_bl">
                      <div class="blue_br">
                        <div class="cls100_p">
                          <div id="selFeatures">
                            <h3><?php 
echo $this->lang->line('Services_And_Features');
?>
</h3>
                            <ul class="links">
							<?php 
if (!isProgrammer()) {
    ?>
                              <li><a href="<?php 
    echo site_url('project/create');
    ?>
"><?php 
    echo $this->lang->line('Post a Project');
    ?>
</a></li>
							   <li><a href="<?php 
    echo site_url('joblist/create');
    ?>
"><?php 
    echo $this->lang->line('Post Job listing');
    ?>
</a></li>
예제 #6
0
 /**
  * Post Messages Related To A Project
  *
  * @access	public
  * @param	nil
  * @return	void
  */
 function post()
 {
     //language file
     $this->lang->load('enduser/editProfile', $this->config->item('language_code'));
     if (!isset($this->loggedInUser->id)) {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You can not access to this page')));
         redirect('info');
     }
     if ($this->loggedInUser->suspend_status == 1) {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('Suspend Error')));
         redirect('info');
     }
     //language file - Change this file to do display text modification
     $this->lang->load('enduser/postMessage', $this->config->item('language_code'));
     //Assign the value for check the button is preview or submit
     $preview = FALSE;
     //Assign the value
     $this->outputData['previewMessages'] = array();
     //load validation libraray
     $this->load->library('form_validation');
     //Load Form Helper
     $this->load->helper('form');
     //Intialize values for library and helpers
     $this->form_validation->set_error_delimiters($this->config->item('field_error_start_tag'), $this->config->item('field_error_end_tag'));
     //language file - Change this file to do display text modification
     $this->lang->load('enduser/projectMessages', $this->config->item('language_code'));
     //language file - Change this file to do display text modification
     $this->lang->load('enduser/projectMessages', $this->config->item('language_code'));
     if ($this->uri->segment(3, 0)) {
         $condition = array('bids.project_id' => $this->uri->segment(3, 0));
         $bidsUser = $this->skills_model->getBids($condition);
         $this->outputData['bidUser'] = $bidsUser;
     }
     //print_r($biduser_id);
     //echo count($biduser_id);
     //Get Project Id
     if ($this->uri->segment(3, '0')) {
         $project_id = $this->uri->segment(3, '0');
     } else {
         $project_id = $this->input->post('project_id');
     }
     $conditions = array('projects.id' => $project_id);
     $projectDetails = $this->skills_model->getProjects($conditions);
     $this->outputData['projects'] = $projectDetails;
     $projectDetails = $projectDetails->row();
     if ($this->loggedInUser->role_id == '1') {
         if ($projectDetails->creator_id != $this->loggedInUser->id) {
             $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You cannot post Message for this project')));
             redirect('info');
         }
     }
     //Get all project Lists
     $this->outputData['projectsList'] = $this->skills_model->getProjects();
     $conditions_message = array('messages.project_id' => $project_id);
     $message_user = $this->messages_model->getProjectMessages($conditions_message);
     $this->outputData['messages'] = $message_user;
     if ($this->input->post('to') != '' or $this->input->post('toid') != '') {
         //Get Form Data
         if ($this->input->post('postMessage') or $this->input->post('previewMessage')) {
             //Set rules
             $this->form_validation->set_rules('message', 'lang:message_validation', 'required|min_length[5]|trim|xss_clean|callback_emailpresent_projectname_check|callback_emailpresent_check|callback__phonenumber_check|callback__phonenumber_projectname_check');
             $this->form_validation->set_rules('to', 'Programmer Id', 'trim|xss_clean');
             $this->form_validation->set_rules('toid', 'Programmer Id', 'trim|is_no|xss_clean');
             if ($this->form_validation->run()) {
                 $insertData = array();
                 $insertData['project_id'] = $this->input->post('project_id');
                 $insertData['to_id'] = $this->input->post('to');
                 $insertData['from_id'] = $this->loggedInUser->id;
                 $insertData['message'] = $this->input->post('message');
                 $insertData['created'] = get_est_time();
                 //pr($insertData);exit;
                 if ($this->input->post('to') == '0') {
                     $this->outputData['user_name'] = 'Everyone';
                 } else {
                     $this->outputData['user_name'] = $this->input->post('to');
                 }
                 //Get Username
                 $to_id = $this->input->post('to');
                 if (!is_numeric($to_id)) {
                     $users_list = $this->messages_model->getUsers();
                     foreach ($users_list as $message) {
                         if ($this->input->post('to') === $message->user_name) {
                             $insertData['to_id'] = $message->id;
                         }
                     }
                 }
                 if ($this->input->post('previewMessage')) {
                     $this->outputData['previewMessages'] = $insertData;
                     $this->outputData['to_id'] = $this->input->post('to');
                 }
                 if ($this->input->post('postMessage')) {
                     //Create Projects
                     //$this->messages_model->postMessage($insertData);
                     //Get the receiver name
                     if ($this->input->post('to') == '0') {
                         //Get all username and send email to all users
                         $usercondition = array('users.role_id' => '2');
                         $users = $this->user_model->getUsers($usercondition);
                         $user = $users->row();
                         // pr($users->result());
                         foreach ($users->result() as $users_email) {
                             $insertData = array();
                             $insertData['project_id'] = $this->input->post('project_id');
                             $insertData['to_id'] = $users_email->id;
                             $insertData['from_id'] = $this->loggedInUser->id;
                             $insertData['message'] = $this->input->post('message');
                             $insertData['created'] = get_est_time();
                             $this->messages_model->postMessage($insertData);
                             // echo $users_email->email;
                             //send email to the buyer or programmer receive new mail or PMB
                             $this->load->model('email_model');
                             $conditionUserMail = array('email_templates.type' => 'message_template');
                             $result = $this->email_model->getEmailSettings($conditionUserMail);
                             $rowUserMailConent = $result->row();
                             $splVars = array("!site_name" => $this->config->item('site_title'), "!username" => $user->user_name, "!reason" => 'Project', "!sender_name" => $this->loggedInUser->user_name, "!site_url" => site_url(), "!contact_url" => site_url('contact'));
                             $mailSubject = strtr($rowUserMailConent->mail_subject, $splVars);
                             $mailContent = strtr($rowUserMailConent->mail_body, $splVars);
                             $toEmail = $users_email->email;
                             $fromEmail = $this->config->item('site_admin_mail');
                             $this->email_model->sendHtmlMail($toEmail, $fromEmail, $mailSubject, $mailContent);
                         }
                     }
                     if ($this->input->post('to')) {
                         $usercondition = array('users.id' => $this->input->post('to'));
                         $user = $this->user_model->getUsers($usercondition);
                         $user = $user->row();
                         if (isset($user)) {
                             //Create Projects
                             $insertData = array();
                             $insertData['project_id'] = $this->input->post('project_id');
                             $insertData['to_id'] = $user->id;
                             $insertData['from_id'] = $this->loggedInUser->id;
                             $insertData['message'] = $this->input->post('message');
                             $insertData['created'] = get_est_time();
                             $this->messages_model->postMessage($insertData);
                             //send email to the buyer or programmer receive new mail or PMB
                             $this->load->model('email_model');
                             $conditionUserMail = array('email_templates.type' => 'message_template');
                             $result = $this->email_model->getEmailSettings($conditionUserMail);
                             $rowUserMailConent = $result->row();
                             $splVars = array("!site_name" => $this->config->item('site_title'), "!username" => $user->user_name, "!reason" => 'Project', "!sender_name" => $this->loggedInUser->user_name, "!site_url" => site_url(), "!contact_url" => site_url('contact'));
                             $mailSubject = strtr($rowUserMailConent->mail_subject, $splVars);
                             $mailContent = strtr($rowUserMailConent->mail_body, $splVars);
                             $toEmail = $user->email;
                             $fromEmail = $this->config->item('site_admin_mail');
                             $this->email_model->sendHtmlMail($toEmail, $fromEmail, $mailSubject, $mailContent);
                         }
                     }
                     if ($this->input->post('toid')) {
                         $toid = explode(',', $this->input->post('toid'));
                         foreach ($toid as $id) {
                             $usercondition = array('users.id' => $id, 'users.role_id' => '2');
                             $users = $this->user_model->getUsers($usercondition);
                             $user = $users->row();
                             if (isset($user) and isset($user->email)) {
                                 //send email to the buyer or programmer receive new mail or PMB
                                 $this->load->model('email_model');
                                 $conditionUserMail = array('email_templates.type' => 'message_template');
                                 $result = $this->email_model->getEmailSettings($conditionUserMail);
                                 $rowUserMailConent = $result->row();
                                 $splVars = array("!site_name" => $this->config->item('site_title'), "!username" => $user->user_name, "!reason" => 'Project', "!sender_name" => $this->loggedInUser->user_name, "!site_url" => site_url(), "!contact_url" => site_url('contact'));
                                 $mailSubject = strtr($rowUserMailConent->mail_subject, $splVars);
                                 $mailContent = strtr($rowUserMailConent->mail_body, $splVars);
                                 $toEmail = $user->email;
                                 $fromEmail = $this->config->item('site_admin_mail');
                                 $this->email_model->sendHtmlMail($toEmail, $fromEmail, $mailSubject, $mailContent);
                             }
                         }
                     }
                 }
                 if ($this->input->post('postMessage')) {
                     //Notification message
                     $this->session->set_flashdata('flash_message', $this->common_model->flash_message('success', $this->lang->line('Your Message Has Been Posted Successfully')));
                     redirect('messages/viewMail/', $this->loggedInUser->id);
                 }
             }
             //If End - Form Validation
         }
         //If End - Check For Form Submission
     } else {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('Please choose programmer to post message')));
     }
     //Get Project Id
     $conditions = array('projects.id' => $project_id);
     $this->outputData['projects'] = $this->skills_model->getProjects($conditions);
     if (isLoggedIn() === false) {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('You must be logged to post messages on the Project Message Board')));
         redirect('info/index/success');
     }
     if ($this->input->post('to') == '' and $this->input->post('to_id') == '' and !isProgrammer()) {
         $this->load->view('messages/buyerPostmessage', $this->outputData);
     } else {
         $this->load->view('messages/postMessage', $this->outputData);
     }
 }
예제 #7
0
파일: dispute.php 프로젝트: khanals/rbs-ext
 /**
  * View the cancellation/Dispute case
  *
  * @access	private
  * @param	case id
  * @return	contents
  */
 function viewCase()
 {
     //Load Language
     $this->lang->load('enduser/cancelProject', $this->config->item('language_code'));
     //Check Whether User Logged In Or Not
     if (isLoggedIn() === false) {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('Please login to view case')));
         redirect('info');
     }
     //If Admin try to access this url...redirect him
     if (isAdmin() === true) {
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('Please login to view case')));
         redirect('info');
     }
     //Load model
     $this->load->helper('users');
     $this->load->helper('projectcases');
     //load validation libraray
     $this->load->library('form_validation');
     //Load Form Helper
     $this->load->helper('form');
     //Intialize values for library and helpers
     $this->form_validation->set_error_delimiters($this->config->item('field_error_start_tag'), $this->config->item('field_error_end_tag'));
     //Get Form Data
     if ($this->input->post('respondCase')) {
         //Set rules
         if ($this->input->post('updates') == '0') {
             $this->form_validation->set_rules('problem_description', 'lang:problem_description_validation', 'required|trim|xss_clean');
         } else {
             $this->form_validation->set_rules('problem_description', 'lang:problem_description_validation', 'trim|xss_clean');
         }
         $this->form_validation->set_rules('comments', '', 'trim|xss_clean');
         if ($this->form_validation->run()) {
             if (check_form_token() === false) {
                 $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('token_error')));
                 redirect('info');
             }
             $insertData = array();
             $insertData['parent'] = $this->input->post('case_id');
             $insertData['problem_description'] = $this->input->post('problem_description');
             $insertData['private_comments'] = $this->input->post('comments');
             $insertData['user_id'] = $this->loggedInUser->id;
             $insertData['created'] = get_est_time();
             if ($this->input->post('updates') != '0') {
                 $insertData['updates'] = $this->input->post('updates');
             }
             //Create Case
             $this->dispute_model->insertProjectCase($insertData);
             $project_id = $this->input->post('project_id');
             $condition2 = array('projects.id' => $project_id);
             $res = $this->skills_model->getProjects($condition2);
             $prj = $res->row();
             if (isProgrammer()) {
                 $other_user = $prj->user_name;
                 $user_type = 'Provider';
             }
             if (isBuyer()) {
                 $provider_id = $prj->programmer_id;
                 $providerRow = getUserInfo($provider_id);
                 $other_user = $providerRow->user_name;
                 $user_type = 'Buyer';
             }
             //Send Mail to other user about the case
             $conditionUserMail = array('email_templates.type' => 'respond_case');
             $result = $this->email_model->getEmailSettings($conditionUserMail);
             $rowUserMailConent = $result->row();
             //Update the details
             $splVars = array("!project_name" => '<a href="' . site_url('project/view/' . $prj->id) . '">' . $prj->project_name . '</a>', "!pr_name" => $prj->project_name, "!other_user" => $other_user, "!contact_url" => site_url('contact'), "!user" => $this->loggedInUser->user_name, '!site_title' => $this->config->item('site_title'), "!link" => site_url('dispute/viewCase/' . $insertData['parent']));
             $mailSubject = strtr($rowUserMailConent->mail_subject, $splVars);
             $mailContent = strtr($rowUserMailConent->mail_body, $splVars);
             $toEmail = $prj->email;
             $fromEmail = $this->config->item('site_admin_mail');
             $this->email_model->sendHtmlMail($toEmail, $fromEmail, $mailSubject, $mailContent);
             //Send acknowledgement Mail to siteadmin
             $conditionUserMail = array('email_templates.type' => 'response_case_admin');
             $result = $this->email_model->getEmailSettings($conditionUserMail);
             $rowUserMailConent = $result->row();
             //Update the details
             $splVars = array("!project_name" => '<a href="' . site_url('project/view/' . $prj->id) . '">' . $prj->project_name . '</a>', "!user" => $this->loggedInUser->user_name, '!user_type' => $user_type, '!case_id' => $insertData['parent']);
             $mailSubject = strtr($rowUserMailConent->mail_subject, $splVars);
             $mailContent = strtr($rowUserMailConent->mail_body, $splVars);
             $toEmail = $this->config->item('site_admin_mail');
             $fromEmail = $prj->email;
             $this->email_model->sendHtmlMail($toEmail, $fromEmail, $mailSubject, $mailContent);
             //Notification message
             $this->session->set_flashdata('flash_message', $this->common_model->flash_message('success', $this->lang->line('response added successfully')));
             redirect('dispute/viewCase/' . $insertData['parent']);
         }
     }
     if ($this->input->post('reopen')) {
         $insertData = array();
         $insertData['parent'] = $this->input->post('case_id');
         $insertData['user_id'] = $this->loggedInUser->id;
         $insertData['created'] = get_est_time();
         $insertData['updates'] = $this->lang->line('case reopened');
         //Create Case
         $this->dispute_model->insertProjectCase($insertData);
         //prepare update data
         $updateData = array();
         $updateData['status'] = 'open';
         //update case
         $this->skills_model->updateProjectCase($this->input->post('case_id'), $updateData);
         //Notification message
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('success', $this->lang->line('Case reopened successfully')));
         redirect('dispute/viewCase/' . $insertData['parent']);
     }
     $caseid = $this->uri->segment('3', 0);
     $condition2 = array('project_cases.id' => $caseid);
     $res = $this->dispute_model->getProjectCases($condition2);
     if ($res->num_rows() == 0) {
         //Notification message
         $this->session->set_flashdata('flash_message', $this->common_model->flash_message('error', $this->lang->line('Invalid input given')));
         redirect('info');
     }
     $this->outputData['projectCase'] = $res->row();
     $condition3 = array('project_cases.parent' => $caseid);
     $this->outputData['caseResolution'] = $this->dispute_model->getProjectCases($condition3);
     //pr($this->outputData['projectCase']);exit;
     //$this->outputData['provider'] = getUserInfo($this->outputData['project']->programmer_id);
     $this->load->view('dispute/viewCase', $this->outputData);
 }