/** * 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/'); } }
/** * 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'); } }
/** * 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'); } }
/** * 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); } }
<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>
/** * 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); } }
/** * 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); }