public function registration($state = null) { if ($state == 'success') { $this->render('registration_success'); } if ($this->request->is('post')) { $User = $this->data['User']; $autoFields = array('visability_fields' => serialize($this->User->defaultVisibility), 'self_registered' => 1, 'activation_code' => $this->User->generate_code(), 'activation_code_date' => mysqldate(), 'activation_function' => 'registration'); $User = array_merge($User, $autoFields); App::uses('SimplePasswordHasher', 'Controller/Component/Auth'); $passwordHasher = new SimplePasswordHasher(array('hashType' => 'sha1')); $User['password'] = $passwordHasher->hash($User['password']); $User['repeat_password'] = $passwordHasher->hash($User['repeat_password']); $AvatarFile = array_merge($this->data['AvatarFile'], array('type' => 'photo')); // $AvatarFile = array_merge($this->data['AvatarFile'], array('type' => 'photo')); /*$this->User->set( $User ); debug($this->User->validates()); debug($this->User->invalidFields());*/ if ($this->User->saveAll(compact('User', 'AvatarFile'))) { $title = 'Регистрация на mcl.resp.su'; $this->User->sendEmailToUser($this->User->id, 'registration', $title, array('code' => $User['activation_code'])); $this->redirect(array('success')); } // $this->Session->write('user.registration.allowedStates', array('step1', 'success')); // $this->redirect(array('success')); } $this->set('geoCountries', $this->User->GeoCountry->find('list')); }
function get_bids_due_to_expire_next_week() { $ci =& get_instance(); $ci->load->model('bid_invitation_m'); $from = mysqldate(); $to = date('d-M-Y', strtotime(mysqldate()) + 604800); return $ci->bid_invitation_m->get_bid_submission_deadlines_by_month($from, $to); }
function send_notification($recipients_array, $title, $message_type, $message) { $ci =& get_instance(); $ci->load->model('notification_m'); $piped_recipients = array_to_pipes($recipients_array); $message_data = array('status' => 'unseen', 'title' => $title, 'msgtype' => $message_type, 'body' => $message, 'triggeredby' => $ci->session->userdata('userid'), 'receipients' => $piped_recipients, 'user_id' => '0', 'dateupdated' => mysqldate(), 'content' => '', 'viewedby' => ''); return $ci->notification_m->create($message_data); }
/** * Created by PhpStorm. * User: cengkuru * Date: 5/12/2015 * Time: 10:17 AM */ function pdf_create($html, $report_title = '') { $ci =& get_instance(); //load the profile model $ci->load->library('dompdf_gen'); if (!$report_title) { $report_title = custom_date_format('d_F_Y', mysqldate()) . '_' . substr(base_url(), 7) . '_report'; } // Convert to PDF $ci->dompdf->load_html($html); $ci->dompdf->render(); $ci->dompdf->stream($report_title . ".pdf", array("Attachment" => true)); }
function doAction($type = '') { global $CONF, $manager; if (!$type) { $type = 'google'; } if ($type !== 'google' && $type !== 'yahoo') { return; } $sitemap = array(); $blog_res = sql_query('SELECT * FROM ' . sql_table('blog')); while ($blog = sql_fetch_array($blog_res)) { if ($this->getBlogOption($blog['bnumber'], 'IncludeSitemap') == 'yes') { if ($blog['bnumber'] != $CONF['DefaultBlog']) { $sitemap[] = array('loc' => $this->_prepareLink($blog['bnumber'], createBlogidLink($blog['bnumber'])), 'priority' => '1.0', 'changefreq' => 'daily'); } else { $sitemap[] = array('loc' => $blog['burl'], 'priority' => '1.0', 'changefreq' => 'daily'); } $params = array(sql_table('category'), $blog['bnumber']); $cat_res = sql_query(vsprintf('SELECT * FROM %s WHERE cblog=%s ORDER BY catid', $params)); while ($cat = sql_fetch_array($cat_res)) { $sitemap[] = array('loc' => $this->_prepareLink($blog['bnumber'], createCategoryLink($cat['catid'])), 'priority' => '1.0', 'changefreq' => 'daily'); } $b =& $manager->getBlog($blog['bnumber']); $item_res = sql_query(' SELECT *, UNIX_TIMESTAMP(itime) AS timestamp FROM ' . sql_table('item') . ' WHERE iblog = ' . $blog['bnumber'] . ' AND idraft = 0 AND itime <= ' . mysqldate($b->getCorrectTime()) . ' ORDER BY inumber DESC '); $now = $_SERVER['HTTP_REQUEST_TIME']; while ($item = sql_fetch_array($item_res)) { $tz = date('O', $item['timestamp']); $tz = substr($tz, 0, 3) . ':' . substr($tz, 3, 2); $pasttime = $now - $item['timestamp']; if ($pasttime < 86400 * 2) { $fq = 'hourly'; } elseif ($pasttime < 86400 * 14) { $fq = 'daily'; } elseif ($pasttime < 86400 * 62) { $fq = 'weekly'; } else { $fq = 'monthly'; } $sitemap[] = array('loc' => $this->_prepareLink($blog['bnumber'], createItemLink($item['inumber'])), 'lastmod' => gmdate('Y-m-d\\TH:i:s', $item['timestamp']) . $tz, 'priority' => '1.0', 'changefreq' => $fq); } } } $eventdata = array('sitemap' => &$sitemap); $manager->notify('SiteMap', $eventdata); if ($type == 'google') { header("Content-type: application/xml"); echo "<?xml version='1.0' encoding='UTF-8'?>\n\n"; echo "<urlset xmlns='http://www.sitemaps.org/schemas/sitemap/0.9' "; echo "xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' "; echo "xsi:schemaLocation='http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd'>\n"; $tpl = "\t\t<%s>%s</%s>\n"; foreach ($sitemap as $url) { echo "\t<url>\n"; foreach ($url as $key => $value) { echo sprintf($tpl, $key, htmlspecialchars($value, ENT_QUOTES, _CHARSET), $key); } echo "\t</url>\n"; } echo "</urlset>\n"; } else { header("Content-type: text/plain"); foreach ($sitemap as $url) { echo $url['loc'] . "\n"; } } exit; }
/** * Update a blog's future posted flag * @param int $blogid */ function updateFuturePosted($blogid) { global $manager; $blog =& $manager->getBlog($blogid); $currenttime = $blog->getCorrectTime(time()); $result = sql_query("SELECT * FROM " . sql_table('item') . " WHERE iblog='" . $blogid . "' AND iposted=0 AND itime>" . mysqldate($currenttime)); if (sql_num_rows($result) > 0) { $blog->setFuturePost(); } else { $blog->clearFuturePost(); } }
function save_user($firstname, $lastname, $email, $password) { $ci =& get_instance(); $ci->load->model('user_m'); //echo $ci->input->post('ajax'); $firstname = $ci->input->post('fname') != '' ? $ci->input->post('fname') : $firstname; $lastname = $ci->input->post('lname') != '' ? $ci->input->post('lname') : $lastname; $email = $ci->input->post('email') != '' ? $ci->input->post('email') : $email; $password = $ci->input->post('password') != '' ? $ci->input->post('password') : $password; $usertype = $ci->input->post('usertype') != '' ? $ci->input->post('usertype') : '4'; $ci->form_validation->set_rules($ci->user_m->add_user_validation); $str = ''; if ($ci->form_validation->run() == FALSE) { //if there were errors add them to the errors array echo error_template(validation_errors()); } else { $user_data = array('fname' => $firstname, 'lname' => $lastname, 'email' => $email, 'usertype' => $usertype, 'password' => md5($password), 'dateadded' => mysqldate(), 'slug' => now() . random_string('numeric', 8)); //more validation special cases if ($ci->input->post('cpassword') != '') { //chek o see id the two match if ($ci->input->post('password') != $ci->input->post('cpassword')) { echo error_template('Passwords do not match'); } } else { $user_id = $ci->user_m->create($user_data); if ($user_id) { //add him to the roles tables //if online if (check_live_server()) { //send email to user $salutation = $content = '<p>Hello<strong> ' . ucwords($firstname . ' ' . $lastname) . '</strong>,</p>'; $content = '<p>Hello<strong> ' . ucwords($firstname . ' ' . $lastname) . '</strong>,</p> <p>You have created a new account on <a href="' . base_url() . '>' . base_url() . '</a>.</p> <p>Below are your login credentials:</p> <p><strong>Username</strong>: ' . $email . '</p> <p><strong>Password</strong>: ' . $password . '</p> <p>Click <a href="' . base_url() . 'admin/login">here</a> to login</p> '; send_html_email($ci->input->post('email'), 'New account', $salutation, $content, SITE_EMAIL); } //if there were errors add them to the errors array $str .= jquery_clear_fields(); echo $str; return $user_id; } else { //if there were errors add them to the errors array echo warning_template('User was not added. Please try one more time'); } } } }
/** For keywords list user Skinvar. This TemplVar function make "see also" links to articles with same keywords @param int $limit number of links for each article's keywords @param string $anyblog If set to "anyblog", will produce see-also links not only to current blog's entries, but all blogs */ function doTemplateVar(&$item, $limit = 5, $anyblog = "") { $keys = array(0 => $item->itemid); $sql = sprintf('SELECT keyword_id FROM %s WHERE key_id=%d', sql_table('plug_keywords_relationship'), intval($item->itemid)); $res = sql_query($sql); if ($anyblog == "anyblog") { $onlyblog = ""; } else { $onlyblog = "AND i.iblog = " . $this->_getBlogid(); } echo '<ul>'; // get keyword IDs for this article, now need to get list of articles that have same keyword while ($o = sql_fetch_array($res)) { $sql2 = sprintf('SELECT i.inumber, i.ititle, k.keyword FROM %s as kr, %s as i, %s as k WHERE kr.keyword_id = %d AND kr.key_id = i.inumber AND i.idraft = 0 AND i.itime<=%s AND k.keyword_id = kr.keyword_id %s ORDER BY i.itime DESC LIMIT %d', sql_table('plug_keywords_relationship'), sql_table('item'), sql_table('plug_keywords_keyword'), intval($o[0]), mysqldate(time() + 3600 * $manager->settings['btimeoffset']), $onlyblog, intval($limit)); $res2 = sql_query($sql2); while ($o2 = sql_fetch_array($res2)) { // uniques only if (!in_array($o2[0], $keys)) { //echo '<font color=gray>' . $o2[2] . ':</font> <a href="' . createItemLink($o2[0]) . '">' . $o2[1] .'</a><br/>'; echo '<li><a href="' . createItemLink($o2[0]) . '">' . $o2[1] . '</a> <span>(' . $o2[2] . ')</span></li>'; $keys[] = $o2[0]; } } sql_free_result($res2); } sql_free_result($res); echo '</ul>'; }
function current_tenders() { $data['pagetitle'] = 'Bidding opportunities'; $data['current_menu'] = 'current_tenders'; $data['view_to_load'] = 'public/current_tenders_export_v'; $limit = NUM_OF_ROWS_PER_PAGE; $where = array('bid_submission_deadline >=' => mysqldate(), 'isactive' => 'Y'); $data['all_records'] = $this->bid_invitation_m->get_where($where); $data['all_records_paginated'] = $this->bid_invitation_m->get_paginated_by_criteria($num = $limit, $this->uri->segment(5), $where); $this->load->library('pagination'); //pagination configs $config = array('base_url' => base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/' . $this->uri->segment(3) . '/' . $this->uri->segment(4) . '/', 'total_rows' => count($data['all_records']), 'per_page' => $limit, 'num_links' => $limit, 'use_page_numbers' => TRUE, 'full_tag_open' => '<div class="btn-group">', 'full_tag_close' => '</div>', 'anchor_class' => 'class="btn" ', 'cur_tag_open' => '<div class="btn">', 'cur_tag_close' => '</div>', 'uri_segment' => '5'); //initialise pagination $this->pagination->initialize($config); //add to data array $data['pages'] = $this->pagination->create_links(); //load view //load view $this->load->view('public/home_v', $data); }
function scanExistItem($narrowMode = 0, $blogid = 0) { /// Select Items when Categories or Sub-categories or Archive selected global $manager, $CONF, $blog, $catid, $archive; if (!$narrowMode) { return; } if ($blogid > 0) { $b =& $manager->getBlog($blogid); } elseif ($blog) { $b =& $blog; } else { $b =& $manager->getBlog($CONF['DefaultBlog']); } $where = ''; if ($narrowMode > 0) { $where .= ' and i.iblog = ' . intval($b->getID()); } if ($catid && $narrowMode > 1) { $catid = intval($catid); if ($manager->pluginInstalled('NP_MultipleCategories')) { $where .= ' and ((i.inumber = p.item_id' . ' and (p.categories REGEXP "(^|,)' . $catid . '(,|$)"' . ' or i.icat = ' . $catid . '))' . ' or (i.icat = ' . $catid . ' and p.item_id IS NULL))'; $mtable = ' LEFT JOIN ' . sql_table('plug_multiple_categories') . ' as p' . ' ON i.inumber = p.item_id'; $mplugin =& $manager->getPlugin('NP_MultipleCategories'); global $subcatid; if ($subcatid && method_exists($mplugin, 'getRequestName')) { //family $subcatid = intval($subcatid); $scatTable = sql_table('plug_multiple_categories_sub'); $tres_query = 'SELECT * FROM %s WHERE scatid = %d'; $tres_query = sprintf($tres_query, $scatTable, $subcatid); $tres = sql_query($tres_query); $ra = sql_fetch_array($tres, MYSQL_ASSOC); if (array_key_exists('parentid', $ra)) { $Children = array(); $Children = explode('/', $subcatid . $this->getChildren($subcatid)); } if ($loop = count($Children) >= 2) { for ($i = 0; $i < $loop; $i++) { $chidID = intval($Children[$i]); $temp_whr[] = ' p.subcategories REGEXP "(^|,)' . $chidID . '(,|$)" '; } $where .= ' and ( ' . implode(' or ', $temp_whr) . ' )'; } else { $where .= ' and p.subcategories REGEXP "(^|,)' . $subcatid . '(,|$)"'; } //family end } } else { $where .= ' and i.icat = ' . $catid; } } if ($archive) { $y = $m = $d = ''; sscanf($archive, '%d-%d-%d', $y, $m, $d); if ($d) { $timestamp_start = mktime(0, 0, 0, $m, $d, $y); $timestamp_end = mktime(0, 0, 0, $m, $d + 1, $y); } elseif ($m) { $timestamp_start = mktime(0, 0, 0, $m, 1, $y); $timestamp_end = mktime(0, 0, 0, $m + 1, 1, $y); } else { $timestamp_start = mktime(0, 0, 0, 1, 1, $y); $timestamp_end = mktime(0, 0, 0, 1, 1, $y + 1); } $where .= ' and i.itime >= ' . mysqldate($timestamp_start) . ' and i.itime < ' . mysqldate($timestamp_end); } else { $where .= ' and i.itime <= ' . mysqldate($b->getCorrectTime()); } $iquery = 'SELECT i.inumber ' . 'FROM %s as i' . $mtable . ' WHERE i.idraft = 0' . $where; $res = sql_query(sprintf($iquery, sql_table('item'))); while ($row = sql_fetch_row($res)) { $existInums[] = $row[0]; } return $existInums; }
/** * Returns true if there is an item with the given ID * * @static */ function exists($id, $future, $draft) { global $manager; $id = intval($id); $r = 'select * FROM ' . sql_table('item') . ' WHERE inumber=' . $id; if (!$future) { $bid = getBlogIDFromItemID($id); if (!$bid) { return 0; } $b =& $manager->getBlog($bid); $r .= ' and itime<=' . mysqldate($b->getCorrectTime()); } if (!$draft) { $r .= ' and idraft=0'; } $r = sql_query($r); return sql_num_rows($r) != 0; }
function get_expired_bids_by_month($from, $to, $pde = '') { if ($pde) { $results = $this->custom_query("\n SELECT\nreceipts.receiptid,\nreceipts.bid_id,\nreceipts.providerid,\nreceipts.details,\nreceipts.received_by,\nreceipts.datereceived,\nreceipts.approved,\nreceipts.nationality,\nreceipts.author,\nreceipts.dateadded,\nreceipts.beb,\nreceipts.reason,\nreceipts.isactive,\nreceipts.joint_venture,\nreceipts.readoutprice,\nreceipts.currence,\nproviders.providerid,\nproviders.providernames,\nbidinvitations.id,\nbidinvitations.vote_no,\nbidinvitations.initiated_by,\nbidinvitations.date_initiated,\nbidinvitations.bid_openning_date,\nbidinvitations.pde_id,\nbidinvitations.subject_of_procurement,\nbidinvitations.cost_estimate,\nbidinvitations.invitation_to_bid_date,\nbidinvitations.pre_bid_meeting_date,\nbidinvitations.cc_approval_date,\nbidinvitations.bid_receipt_address,\nbidinvitations.documents_inspection_address,\nbidinvitations.documents_address_issue,\nbidinvitations.bid_openning_address,\nbidinvitations.procurement_ref_no,\nbidinvitations.procurement_id,\nbidinvitations.description_of_works,\nbidinvitations.bid_security_amount,\nbidinvitations.bid_security_currency,\nbidinvitations.bid_documents_price,\nbidinvitations.bid_documents_currency,\nbidinvitations.author,\nbidinvitations.isapproved,\nbidinvitations.date_approved,\nbidinvitations.dateadded,\nbidinvitations.approvedby,\nbidinvitations.approval_comments,\nbidinvitations.isactive,\nbidinvitations.bid_submission_deadline,\nbidinvitations.bid_evaluation_to,\nbidinvitations.bid_evaluation_from,\nbidinvitations.display_of_beb_notice,\nbidinvitations.contract_award_date,\nbidinvitations.dateofconfirmationoffunds,\nprocurement_plan_entries.id,\nprocurement_plan_entries.subject_of_procurement,\nprocurement_plan_entries.procurement_type,\nprocurement_plan_entries.procurement_method,\nprocurement_plan_entries.pde_department,\nprocurement_plan_entries.funding_source,\nprocurement_plan_entries.funder_name,\nprocurement_plan_entries.procurement_ref_no,\nprocurement_plan_entries.estimated_amount,\nprocurement_plan_entries.currency,\nprocurement_plan_entries.exchange_rate,\nprocurement_plan_entries.pre_bid_events_date,\nprocurement_plan_entries.pre_bid_events_duration,\nprocurement_plan_entries.contracts_committee_approval_date,\nprocurement_plan_entries.contracts_committee_approval_date_duration,\nprocurement_plan_entries.publication_of_pre_qualification_date,\nprocurement_plan_entries.publication_of_pre_qualification_date_duration,\nprocurement_plan_entries.proposal_submission_date,\nprocurement_plan_entries.proposal_submission_date_duration,\nprocurement_plan_entries.contracts_committee_approval_of_shortlist_date,\nprocurement_plan_entries.contracts_committee_approval_of_shortlist_date_duration,\nprocurement_plan_entries.bid_issue_date,\nprocurement_plan_entries.bid_issue_date_duration,\nprocurement_plan_entries.bid_submission_opening_date,\nprocurement_plan_entries.bid_submission_opening_date_duration,\nprocurement_plan_entries.secure_necessary_approval_date,\nprocurement_plan_entries.secure_necessary_approval_date_duration,\nprocurement_plan_entries.contract_award,\nprocurement_plan_entries.contract_award_duration,\nprocurement_plan_entries.performance_security,\nprocurement_plan_entries.best_evaluated_bidder_date,\nprocurement_plan_entries.best_evaluated_bidder_date_duration,\nprocurement_plan_entries.contract_sign_date,\nprocurement_plan_entries.contract_sign_duration,\nprocurement_plan_entries.submission_of_evaluation_report_to_cc,\nprocurement_plan_entries.cc_approval_of_evaluation_report,\nprocurement_plan_entries.accounting_officer_approval_date,\nprocurement_plan_entries.cc_approval_of_evaluation_report_duration,\nprocurement_plan_entries.negotiation_date,\nprocurement_plan_entries.negotiation_date_duration,\nprocurement_plan_entries.negotiation_approval_date,\nprocurement_plan_entries.negotiation_approval_date_duration,\nprocurement_plan_entries.advanced_payment_date,\nprocurement_plan_entries.advanced_payment_date_duration,\nprocurement_plan_entries.mobilise_advance_payment,\nprocurement_plan_entries.mobilise_advance_payment_duration,\nprocurement_plan_entries.substantial_completion,\nprocurement_plan_entries.substantial_completion_duration,\nprocurement_plan_entries.final_acceptance,\nprocurement_plan_entries.final_acceptance_duration,\nprocurement_plan_entries.dateadded,\nprocurement_plan_entries.dateupdated,\nprocurement_plan_entries.updated_by,\nprocurement_plan_entries.isactive,\nprocurement_plan_entries.procurement_plan_id,\nprocurement_plan_entries.solicitor_general_approval_date,\nprocurement_plan_entries.solicitor_general_approval_duration,\nprocurement_plan_entries.contract_amount_in_ugx,\nprocurement_plan_entries.bid_closing_date,\nprocurement_plan_entries.author,\npdes.pdeid,\npdes.pdename,\npdes.abbreviation,\npdes.`status`,\npdes.create_date,\npdes.created_by,\npdes.category,\npdes.type,\npdes.`code`,\npdes.pde_roll_cat,\npdes.address,\npdes.tel,\npdes.fax,\npdes.email,\npdes.website,\npdes.AO,\npdes.AO_phone,\npdes.AO_email,\npdes.CC,\npdes.CC_phone,\npdes.CC_email,\npdes.head_PDU,\npdes.head_PDU_phone,\npdes.head_PDU_email,\npdes.isactive,\nprocurement_plans.id,\nprocurement_plans.pde_id,\nprocurement_plans.financial_year,\nprocurement_plans.title,\nprocurement_plans.summarized_plan,\nprocurement_plans.dateadded,\nprocurement_plans.dateupdated,\nprocurement_plans.author,\nprocurement_plans.isactive,\nprocurement_plans.description,\nprocurement_plans.public,\nprocurement_types.id,\nprocurement_types.title,\nprocurement_types.`code`,\nprocurement_types.slug,\nprocurement_types.evaluation_time,\nprocurement_types.dateadded,\nprocurement_types.dateupdated,\nprocurement_types.isactive\nFROM\nreceipts\nINNER JOIN providers ON receipts.providerid = providers.providerid\nINNER JOIN bidinvitations ON receipts.bid_id = bidinvitations.id\nINNER JOIN procurement_plan_entries ON bidinvitations.procurement_id = procurement_plan_entries.id\nINNER JOIN procurement_plans ON procurement_plan_entries.procurement_plan_id = procurement_plans.id\nINNER JOIN pdes ON procurement_plans.pde_id = pdes.pdeid\nINNER JOIN procurement_types ON procurement_plan_entries.procurement_type = procurement_types.id\nWHERE\nreceipts.beb = 'Y' AND\nbidinvitations.bid_submission_deadline < '" . mysqldate() . "' AND\nreceipts.datereceived >= '" . $from . "' AND\nreceipts.datereceived <= '" . $to . "' AND\npdes.pdeid = " . $pde . "\nORDER BY\nreceipts.receiptid DESC\n"); } else { $results = $this->custom_query("\n SELECT\nreceipts.receiptid,\nreceipts.bid_id,\nreceipts.providerid,\nreceipts.details,\nreceipts.received_by,\nreceipts.datereceived,\nreceipts.approved,\nreceipts.nationality,\nreceipts.author,\nreceipts.dateadded,\nreceipts.beb,\nreceipts.reason,\nreceipts.isactive,\nreceipts.joint_venture,\nreceipts.readoutprice,\nreceipts.currence,\nproviders.providerid,\nproviders.providernames,\nbidinvitations.id,\nbidinvitations.vote_no,\nbidinvitations.initiated_by,\nbidinvitations.date_initiated,\nbidinvitations.bid_openning_date,\nbidinvitations.pde_id,\nbidinvitations.subject_of_procurement,\nbidinvitations.cost_estimate,\nbidinvitations.invitation_to_bid_date,\nbidinvitations.pre_bid_meeting_date,\nbidinvitations.cc_approval_date,\nbidinvitations.bid_receipt_address,\nbidinvitations.documents_inspection_address,\nbidinvitations.documents_address_issue,\nbidinvitations.bid_openning_address,\nbidinvitations.procurement_ref_no,\nbidinvitations.procurement_id,\nbidinvitations.description_of_works,\nbidinvitations.bid_security_amount,\nbidinvitations.bid_security_currency,\nbidinvitations.bid_documents_price,\nbidinvitations.bid_documents_currency,\nbidinvitations.author,\nbidinvitations.isapproved,\nbidinvitations.date_approved,\nbidinvitations.dateadded,\nbidinvitations.approvedby,\nbidinvitations.approval_comments,\nbidinvitations.isactive,\nbidinvitations.bid_submission_deadline,\nbidinvitations.bid_evaluation_to,\nbidinvitations.bid_evaluation_from,\nbidinvitations.display_of_beb_notice,\nbidinvitations.contract_award_date,\nbidinvitations.dateofconfirmationoffunds,\nprocurement_plan_entries.id,\nprocurement_plan_entries.subject_of_procurement,\nprocurement_plan_entries.procurement_type,\nprocurement_plan_entries.procurement_method,\nprocurement_plan_entries.pde_department,\nprocurement_plan_entries.funding_source,\nprocurement_plan_entries.funder_name,\nprocurement_plan_entries.procurement_ref_no,\nprocurement_plan_entries.estimated_amount,\nprocurement_plan_entries.currency,\nprocurement_plan_entries.exchange_rate,\nprocurement_plan_entries.pre_bid_events_date,\nprocurement_plan_entries.pre_bid_events_duration,\nprocurement_plan_entries.contracts_committee_approval_date,\nprocurement_plan_entries.contracts_committee_approval_date_duration,\nprocurement_plan_entries.publication_of_pre_qualification_date,\nprocurement_plan_entries.publication_of_pre_qualification_date_duration,\nprocurement_plan_entries.proposal_submission_date,\nprocurement_plan_entries.proposal_submission_date_duration,\nprocurement_plan_entries.contracts_committee_approval_of_shortlist_date,\nprocurement_plan_entries.contracts_committee_approval_of_shortlist_date_duration,\nprocurement_plan_entries.bid_issue_date,\nprocurement_plan_entries.bid_issue_date_duration,\nprocurement_plan_entries.bid_submission_opening_date,\nprocurement_plan_entries.bid_submission_opening_date_duration,\nprocurement_plan_entries.secure_necessary_approval_date,\nprocurement_plan_entries.secure_necessary_approval_date_duration,\nprocurement_plan_entries.contract_award,\nprocurement_plan_entries.contract_award_duration,\nprocurement_plan_entries.performance_security,\nprocurement_plan_entries.best_evaluated_bidder_date,\nprocurement_plan_entries.best_evaluated_bidder_date_duration,\nprocurement_plan_entries.contract_sign_date,\nprocurement_plan_entries.contract_sign_duration,\nprocurement_plan_entries.submission_of_evaluation_report_to_cc,\nprocurement_plan_entries.cc_approval_of_evaluation_report,\nprocurement_plan_entries.accounting_officer_approval_date,\nprocurement_plan_entries.cc_approval_of_evaluation_report_duration,\nprocurement_plan_entries.negotiation_date,\nprocurement_plan_entries.negotiation_date_duration,\nprocurement_plan_entries.negotiation_approval_date,\nprocurement_plan_entries.negotiation_approval_date_duration,\nprocurement_plan_entries.advanced_payment_date,\nprocurement_plan_entries.advanced_payment_date_duration,\nprocurement_plan_entries.mobilise_advance_payment,\nprocurement_plan_entries.mobilise_advance_payment_duration,\nprocurement_plan_entries.substantial_completion,\nprocurement_plan_entries.substantial_completion_duration,\nprocurement_plan_entries.final_acceptance,\nprocurement_plan_entries.final_acceptance_duration,\nprocurement_plan_entries.dateadded,\nprocurement_plan_entries.dateupdated,\nprocurement_plan_entries.updated_by,\nprocurement_plan_entries.isactive,\nprocurement_plan_entries.procurement_plan_id,\nprocurement_plan_entries.solicitor_general_approval_date,\nprocurement_plan_entries.solicitor_general_approval_duration,\nprocurement_plan_entries.contract_amount_in_ugx,\nprocurement_plan_entries.bid_closing_date,\nprocurement_plan_entries.author,\npdes.pdeid,\npdes.pdename,\npdes.abbreviation,\npdes.`status`,\npdes.create_date,\npdes.created_by,\npdes.category,\npdes.type,\npdes.`code`,\npdes.pde_roll_cat,\npdes.address,\npdes.tel,\npdes.fax,\npdes.email,\npdes.website,\npdes.AO,\npdes.AO_phone,\npdes.AO_email,\npdes.CC,\npdes.CC_phone,\npdes.CC_email,\npdes.head_PDU,\npdes.head_PDU_phone,\npdes.head_PDU_email,\npdes.isactive,\nprocurement_plans.id,\nprocurement_plans.pde_id,\nprocurement_plans.financial_year,\nprocurement_plans.title,\nprocurement_plans.summarized_plan,\nprocurement_plans.dateadded,\nprocurement_plans.dateupdated,\nprocurement_plans.author,\nprocurement_plans.isactive,\nprocurement_plans.description,\nprocurement_plans.public,\nprocurement_types.id,\nprocurement_types.title,\nprocurement_types.`code`,\nprocurement_types.slug,\nprocurement_types.evaluation_time,\nprocurement_types.dateadded,\nprocurement_types.dateupdated,\nprocurement_types.isactive\nFROM\nreceipts\nINNER JOIN providers ON receipts.providerid = providers.providerid\nINNER JOIN bidinvitations ON receipts.bid_id = bidinvitations.id\nINNER JOIN procurement_plan_entries ON bidinvitations.procurement_id = procurement_plan_entries.id\nINNER JOIN procurement_plans ON procurement_plan_entries.procurement_plan_id = procurement_plans.id\nINNER JOIN pdes ON procurement_plans.pde_id = pdes.pdeid\nINNER JOIN procurement_types ON procurement_plan_entries.procurement_type = procurement_types.id\nWHERE\nreceipts.beb = 'Y' AND\nbidinvitations.bid_submission_deadline < '" . mysqldate() . "' AND\nreceipts.datereceived >= '" . $from . "' AND\nreceipts.datereceived <= '" . $to . "'\nORDER BY\nreceipts.receiptid DESC\n\n"); } return $results; }
function selector() { global $itemid, $blogid, $memberid, $query, $amount, $archivelist, $maxresults; global $archive, $skinid, $blog, $memberinfo, $CONF, $member; global $imagepopup, $catid, $special; global $manager; $actionNames = array('addcomment', 'sendmessage', 'createaccount', 'forgotpassword', 'votepositive', 'votenegative', 'plugin'); $action = requestVar('action'); if (in_array($action, $actionNames)) { global $DIR_LIBS, $errormessage; include_once $DIR_LIBS . 'ACTION.php'; $a = new ACTION(); $errorInfo = $a->doAction($action); if ($errorInfo) { $errormessage = $errorInfo['message']; } } // show error when headers already sent out if (headers_sent() && $CONF['alertOnHeadersSent']) { // try to get line number/filename (extra headers_sent params only exists in PHP 4.3+) if (function_exists('version_compare') && version_compare('4.3.0', phpversion(), '<=')) { headers_sent($hsFile, $hsLine); $extraInfo = sprintf(_GFUNCTIONS_HEADERSALREADYSENT_FILE, $hsFile, $hsLine); } else { $extraInfo = ''; } startUpError(sprintf(_GFUNCTIONS_HEADERSALREADYSENT_TXT, $extraInfo), _GFUNCTIONS_HEADERSALREADYSENT_TITLE); exit; } // make is so ?archivelist without blogname or blogid shows the archivelist // for the default weblog if (serverVar('QUERY_STRING') == 'archivelist') { $archivelist = $CONF['DefaultBlog']; } // now decide which type of skin we need if ($itemid) { // itemid given -> only show that item $type = 'item'; if (!$manager->existsItem($itemid, intval($CONF['allowFuture']), intval($CONF['allowDrafts']))) { doError(_ERROR_NOSUCHITEM); } global $itemidprev, $itemidnext, $catid, $itemtitlenext, $itemtitleprev; // 1. get timestamp, blogid and catid for item $query = 'SELECT itime, iblog, icat FROM ' . sql_table('item') . ' WHERE inumber=' . intval($itemid); $res = sql_query($query); $obj = sql_fetch_object($res); // if a different blog id has been set through the request or selectBlog(), // deny access if ($blogid && intval($blogid) != $obj->iblog) { if (!headers_sent()) { $b =& $manager->getBlog($obj->iblog); $CONF['ItemURL'] = $b->getURL(); if ($CONF['URLMode'] == 'pathinfo' and substr($CONF['ItemURL'], -1) == '/') { $CONF['ItemURL'] = substr($CONF['ItemURL'], 0, -1); } $correctURL = createItemLink($itemid, ''); redirect($correctURL); exit; } else { doError(_ERROR_NOSUCHITEM); } } // if a category has been selected which doesn't match the item, ignore the // category. #85 if ($catid != 0 && $catid != $obj->icat) { $catid = 0; } $blogid = $obj->iblog; $timestamp = strtotime($obj->itime); $b =& $manager->getBlog($blogid); if ($b->isValidCategory($catid)) { $catextra = ' and icat=' . $catid; } else { $catextra = ''; } // get previous itemid and title $query = 'SELECT inumber, ititle FROM ' . sql_table('item') . ' WHERE itime<' . mysqldate($timestamp) . ' and idraft=0 and iblog=' . $blogid . $catextra . ' ORDER BY itime DESC LIMIT 1'; $res = sql_query($query); $obj = sql_fetch_object($res); if ($obj) { $itemidprev = $obj->inumber; $itemtitleprev = $obj->ititle; } // get next itemid and title $query = 'SELECT inumber, ititle FROM ' . sql_table('item') . ' WHERE itime>' . mysqldate($timestamp) . ' and itime <= ' . mysqldate($b->getCorrectTime()) . ' and idraft=0 and iblog=' . $blogid . $catextra . ' ORDER BY itime ASC LIMIT 1'; $res = sql_query($query); $obj = sql_fetch_object($res); if ($obj) { $itemidnext = $obj->inumber; $itemtitlenext = $obj->ititle; } } elseif ($archive) { // show archive $type = 'archive'; // get next and prev month links ... global $archivenext, $archiveprev, $archivetype, $archivenextexists, $archiveprevexists; // sql queries for the timestamp of the first and the last published item $query = "SELECT UNIX_TIMESTAMP(itime) as result FROM " . sql_table('item') . " WHERE idraft=0 AND iblog=" . (int) ($blogid ? $blogid : $CONF['DefaultBlog']) . " ORDER BY itime ASC"; $first_timestamp = quickQuery($query); $query = "SELECT UNIX_TIMESTAMP(itime) as result FROM " . sql_table('item') . " WHERE idraft=0 AND iblog=" . (int) ($blogid ? $blogid : $CONF['DefaultBlog']) . " ORDER BY itime DESC"; $last_timestamp = quickQuery($query); sscanf($archive, '%d-%d-%d', $y, $m, $d); if ($d != 0) { $archivetype = _ARCHIVETYPE_DAY; $t = mktime(0, 0, 0, $m, $d, $y); // one day has 24 * 60 * 60 = 86400 seconds $archiveprev = strftime('%Y-%m-%d', $t - 86400); // check for published items if ($t > $first_timestamp) { $archiveprevexists = true; } else { $archiveprevexists = false; } // one day later $t += 86400; $archivenext = strftime('%Y-%m-%d', $t); if ($t < $last_timestamp) { $archivenextexists = true; } else { $archivenextexists = false; } } elseif ($m == 0) { $archivetype = _ARCHIVETYPE_YEAR; $t = mktime(0, 0, 0, 12, 31, $y - 1); // one day before is in the previous year $archiveprev = strftime('%Y', $t); if ($t > $first_timestamp) { $archiveprevexists = true; } else { $archiveprevexists = false; } // timestamp for the next year $t = mktime(0, 0, 0, 1, 1, $y + 1); $archivenext = strftime('%Y', $t); if ($t < $last_timestamp) { $archivenextexists = true; } else { $archivenextexists = false; } } else { $archivetype = _ARCHIVETYPE_MONTH; $t = mktime(0, 0, 0, $m, 1, $y); // one day before is in the previous month $archiveprev = strftime('%Y-%m', $t - 86400); if ($t > $first_timestamp) { $archiveprevexists = true; } else { $archiveprevexists = false; } // timestamp for the next month $t = mktime(0, 0, 0, $m + 1, 1, $y); $archivenext = strftime('%Y-%m', $t); if ($t < $last_timestamp) { $archivenextexists = true; } else { $archivenextexists = false; } } } elseif ($archivelist) { $type = 'archivelist'; if (is_numeric($archivelist)) { $blogid = intVal($archivelist); } else { $blogid = getBlogIDFromName($archivelist); } if (!$blogid) { doError(_ERROR_NOSUCHBLOG); } } elseif ($query) { global $startpos; $type = 'search'; $query = stripslashes($query); if (preg_match("/^(¡{2}|ã€{2}| )+\$/", $query)) { $type = 'index'; } // $order = (_CHARSET == 'EUC-JP') ? 'EUC-JP, UTF-8,' : 'UTF-8, EUC-JP,'; // $query = mb_convert_encoding($query, _CHARSET, $order . ' JIS, SJIS, ASCII'); switch (strtolower(_CHARSET)) { case 'utf-8': $order = 'ASCII, UTF-8, EUC-JP, JIS, SJIS, EUC-CN, ISO-8859-1'; break; case 'gb2312': $order = 'ASCII, EUC-CN, EUC-JP, UTF-8, JIS, SJIS, ISO-8859-1'; break; case 'shift_jis': // Note that shift_jis is only supported for output. // Using shift_jis in DB is prohibited. $order = 'ASCII, SJIS, EUC-JP, UTF-8, JIS, EUC-CN, ISO-8859-1'; break; default: // euc-jp,iso-8859-x,windows-125x $order = 'ASCII, EUC-JP, UTF-8, JIS, SJIS, EUC-CN, ISO-8859-1'; break; } $query = mb_convert_encoding($query, _CHARSET, $order); if (is_numeric($blogid)) { $blogid = intVal($blogid); } else { $blogid = getBlogIDFromName($blogid); } if (!$blogid) { doError(_ERROR_NOSUCHBLOG); } } elseif ($memberid) { $type = 'member'; if (!MEMBER::existsID($memberid)) { doError(_ERROR_NOSUCHMEMBER); } $memberinfo = $manager->getMember($memberid); } elseif ($imagepopup) { // media object (images etc.) $type = 'imagepopup'; // TODO: check if media-object exists // TODO: set some vars? } else { // show regular index page global $startpos; $type = 'index'; } // any type of skin with catid if ($catid && !$blogid) { $blogid = getBlogIDFromCatID($catid); } // decide which blog should be displayed if (!$blogid) { $blogid = $CONF['DefaultBlog']; } $b =& $manager->getBlog($blogid); $blog = $b; // references can't be placed in global variables? if (!$blog->isValid) { doError(_ERROR_NOSUCHBLOG); } // set catid if necessary if ($catid) { // check if the category is valid if (!$blog->isValidCategory($catid)) { doError(_ERROR_NOSUCHCATEGORY); } else { $blog->setSelectedCategory($catid); } } // decide which skin should be used if ($skinid != '' && $skinid == 0) { selectSkin($skinid); } if (!$skinid) { $skinid = $blog->getDefaultSkin(); } //$special = requestVar('special'); //get at top of file as global if (!empty($special) && isValidShortName($special)) { $type = strtolower($special); } $skin = new SKIN($skinid); if (!$skin->isValid) { doError(_ERROR_NOSUCHSKIN); } // set global skinpart variable so can determine quickly what is being parsed from any plugin or phpinclude global $skinpart; $skinpart = $type; // parse the skin $skin->parse($type); // check to see we should throw JustPosted event $blog->checkJustPosted(); }
if (isset($_POST['alarm'])) { $alarm = $_POST['alarm']; } else { $alarm = 0; } $body = "Hallo " . getUserFullName($_POST['userid']) . ",\n\n"; $body .= "Ihnen wurde eine neue Aufgabe zugeteilt.\n\n"; $body .= "Details:\n\n"; $body .= "Projekt: " . getProjectInfoByID($_POST['projectid'], 'projectname') . "\n\n"; $body .= "Aufgabe: " . $_POST['taskname'] . "\n"; $body .= "Anfangsdatum: " . $_POST['startdate'] . "\n"; $body .= "Enddatum: " . $_POST['enddate'] . "\n\n"; $body .= "Aufgabenzusammenfassung: " . $_POST['tasksummary'] . "\n\n"; $body .= $_POST['taskdetails']; smtpmailer(getUserInfo($_POST['userid'], 'email'), 'Neue Aufgabe zugeteilt - ' . $_POST['taskname'], $body); $sql = "INSERT INTO `{$db_data}`.`tasks` (`taskid` , `userid` , `creator` , `parent` , `projectid` , `taskname` , `tasksummary` , `taskdetails`, `creationdate` , `startdate` , `enddate`, `alarm`)\n VALUES (NULL , '" . $_POST['userid'] . "' , '" . $_SESSION['userid'] . "' ,'" . $_POST['parenttaskid'] . "' , '" . $_POST['projectid'] . "', '" . $_POST['taskname'] . "', '" . $_POST['tasksummary'] . "', '" . $_POST['taskdetails'] . "' ,CURRENT_TIMESTAMP , '" . mysqldate($_POST['startdate']) . "', '" . mysqldate($_POST['enddate']) . "', '" . $alarm . "');"; if (!mysqli_query($con, $sql)) { die("Error"); } } $sql = "SELECT * FROM tasks WHERE taskid=" . $_GET['id']; $result = mysqli_query($con, $sql); ?> <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> <?php breadcrumbs($_GET['id']); ?> <h1 class="page-header"><?php echo $message['task']; ?> : <?php
function suspended_providers() { check_user_access($this, 'suspended_provider_reports', 'redirect'); $data['pdes'] = $this->db->get_where('pdes', array('isactive' => 'Y', 'status' => 'in'))->result_array(); $data['pdes'] = array_merge(array(array('pdeid' => 'ALL', 'pdename' => 'View All')), $data['pdes']); $data['financial_years'] = $this->financial_years; $data['page_title'] = 'Best Evaluated Bids awarded to suspended providers ' . date('Y') . '-' . (date('Y') + 1); $data['current_menu'] = 'suspended_provider_reports'; $data['view_to_load'] = 'reports/suspended_providers/suspended_provider_reports_v'; $data['view_data']['form_title'] = $data['page_title']; $data['search_url'] = ''; $data['rop_suspended_providers'] = $this->remoteapi_m->providers_suspended(); $data['report_form'] = 'reports/suspended_providers/forms/suspended_providers_f'; $data['report_view'] = 'reports/suspended_providers/suspended_providers_home'; if ($this->input->post('generate_ppms')) { //print_array($_POST); $data['page_title'] = 'Best Evaluated Bids awarded to suspended providers ' . $this->input->post('financial_year'); $start_year = substr($this->input->post('financial_year'), 0, 4); $end_year = substr($this->input->post('financial_year'), 5, 4); $where = array('isactive' => 'Y', 'datereceived >=' => date('Y-m-d', strtotime($start_year)), 'datereceived <=' => date('Y-m-d', strtotime($end_year)), 'beb' => 'Y'); $data['month'] = $this->input->post('month'); //if there are where variables if (isset($where)) { $data['results'] = $this->receipts_m->get_where($where); } # print_array($this->db->last_query()); # exit(); } else { $data['month'] = custom_date_format('M', mysqldate()); $where = array('isactive' => 'Y', 'datereceived >=' => date('Y-m-d', strtotime(date('Y') . '-01-01')), 'datereceived <=' => date('Y-m-d', strtotime(date('Y') + 1 . '-01-01')), 'beb' => 'Y'); } $data['results'] = $this->receipts_m->get_where($where); $this->load->view('dashboard_v', $data); }
/** * Отправка письма, созданного из шаблона, пользователю * * @param type $id * @param type $template * @param type $data * @param type $options * @return boolean */ public function sendEmailToUser($id, $template, $title, $data = null, $options = null) { $user = $this->findById($id); if (empty($user)) { return FALSE; } if (empty($data)) { $data = array(); } $data = array_merge($data, $user); if (!$this->sendEmail($user[$this->alias]['email'], $template, $title, $data, $options)) { return FALSE; } $this->id = $id; $this->saveField('last_email_sent', mysqldate(), FALSE); return TRUE; }
/** * Returns the SQL query used to fill out templates for a list of items * * @param $itemarray * an array holding the item numbers of the items to be displayed * @param $showDrafts * 0=do not show drafts 1=show drafts * @param $showFuture * 0=do not show future posts 1=show future posts * @returns * either a full SQL query, or an empty string * @note * No LIMIT clause is added. (caller should add this if multiple pages are requested) */ function getSqlItemList($itemarray, $showDrafts = 0, $showFuture = 0) { if (!is_array($itemarray)) { return ''; } $showDrafts = intval($showDrafts); $showFuture = intval($showFuture); $items = array(); foreach ($itemarray as $value) { if (intval($value)) { $items[] = intval($value); } } if (!count($items)) { return ''; } //$itemlist = implode(',',$items); $i = count($items); $query = ''; foreach ($items as $value) { $query .= '(' . 'SELECT' . ' i.inumber as itemid,' . ' i.ititle as title,' . ' i.ibody as body,' . ' m.mname as author,' . ' m.mrealname as authorname,' . ' i.itime,' . ' i.imore as more,' . ' m.mnumber as authorid,' . ' m.memail as authormail,' . ' m.murl as authorurl,' . ' c.cname as category,' . ' i.icat as catid,' . ' i.iclosed as closed'; $query .= ' FROM ' . sql_table('item') . ' as i, ' . sql_table('member') . ' as m, ' . sql_table('category') . ' as c' . ' WHERE' . ' i.iblog = ' . $this->blogid . ' and i.iauthor = m.mnumber' . ' and i.icat = c.catid'; if (!$showDrafts) { $query .= ' and i.idraft=0'; } // exclude drafts if (!$showFuture) { $query .= ' and i.itime<=' . mysqldate($this->getCorrectTime()); } // don't show future items //$query .= ' and i.inumber IN ('.$itemlist.')'; $query .= ' and i.inumber = ' . intval($value); $query .= ')'; $i--; if ($i) { $query .= ' UNION '; } } return $query; }
} $recuruntil = mysqlDate($_POST['recuruntil']); if (isset($_POST['is_private'])) { $is_private = 1; } else { $is_private = 0; } $_POST['userid'] = mysqli_real_escape_string($con, $_POST['userid']); $_POST['projectid'] = mysqli_real_escape_string($con, $_POST['projectid']); $_POST['taskname'] = mysqli_real_escape_string($con, $_POST['taskname']); $_POST['tasksummary'] = mysqli_real_escape_string($con, $_POST['tasksummary']); $_POST['taskdetails'] = mysqli_real_escape_string($con, $_POST['taskdetails']); $_POST['startdate'] = mysqli_real_escape_string($con, $_POST['startdate']); $_POST['enddate'] = mysqli_real_escape_string($con, $_POST['enddate']); $_POST['alarm'] = mysqli_real_escape_string($con, $_POST['alarm']); $sql = "INSERT INTO `{$db_data}`.`tasks` (`taskid` , `userid` , `creator` , `projectid` , `taskname` , `tasksummary` , `taskdetails`, `creationdate` , `startdate` , `enddate`, `is_recurring`, `recday`, `recuruntil`, `alarm`, `is_private`)\n VALUES (NULL , '" . $_POST['userid'] . "', '" . $_SESSION['userid'] . "' , '" . $_POST['projectid'] . "', '" . $_POST['taskname'] . "', '" . $_POST['tasksummary'] . "', '" . $_POST['taskdetails'] . "' ,CURRENT_TIMESTAMP , '" . mysqldate($_POST['startdate']) . "', '" . mysqldate($_POST['enddate']) . "', '" . $is_recurring . "', '" . $dayz . "', '" . $recuruntil . "', '" . $_POST['alarm'] . "', '{$is_private}');"; if (!mysqli_query($con, $sql)) { $error = "<div class=\"col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main\">"; $error .= "<div class=\"alert alert-danger\" role=\"alert\">"; $error .= $con->error; $error .= "<br>" . $sql; $error .= "</div>"; $error .= "</div>"; die($error); } else { if ($_SESSION['userid'] != $_POST['userid']) { $body = "Hallo " . getUserFullName($_POST['userid']) . ",\n\n"; $body .= "Ihnen wurde eine neue Aufgabe zugeteilt.\n\n"; $body .= "Details:\n\n"; $body .= "Projekt: " . getProjectInfoByID($_POST['projectid'], 'projectname') . "\n\n"; $body .= "Aufgabe: " . $_POST['taskname'] . "\n";