Example #1
0
 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'));
 }
Example #2
0
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);
}
Example #3
0
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);
}
Example #4
0
/**
 * 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;
 }
Example #6
0
 /**
  * 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();
     }
 }
Example #7
0
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');
            }
        }
    }
}
Example #8
0
 /**
     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>';
 }
Example #9
0
 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);
 }
Example #10
0
 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;
 }
Example #11
0
 /**
  * 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;
 }
Example #12
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;
 }
Example #13
0
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 
Example #15
0
 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);
 }
Example #16
0
 /**
  * Отправка письма, созданного из шаблона, пользователю
  *
  * @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;
 }
Example #17
0
 /**
  * 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";