/** * Checkin::get() * * This function returns a list of guests not checked in yet. * * @return array guests * @access public * @since 2003-09-02 * @author Christian Ehret <*****@*****.**> */ function get() { global $gDatabase, $tbl_booking, $tbl_guest, $tbl_booking_detail, $tbl_booking_detail_guest, $errorhandler; $guests = array(); $query = "SELECT pk_booking_id, fk_guest_id, firstname, lastname, " . "DATE_FORMAT({$tbl_booking}.start_date, '%d.%m.%Y'), " . "DATE_FORMAT({$tbl_booking}.end_date, '%d.%m.%Y'), " . "pk_booking_detail_id " . sprintf("FROM {$tbl_booking}, {$tbl_guest}, {$tbl_booking_detail} " . "WHERE checked_in = %s " . "AND {$tbl_booking}.start_date <= NOW() " . "AND pk_guest_id = fk_guest_id " . "AND pk_booking_id = fk_booking_id " . "AND ISNULL({$tbl_booking}.deleted_date) " . "ORDER BY lastname", MetabaseGetBooleanFieldValue($gDatabase, false)); $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Checkin::get()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $color = 0; if ($row % 2 != 0) { $color = 1; } $guests[$row] = array('bookingid' => MetabaseFetchResult($gDatabase, $result, $row, 0), 'guestid' => MetabaseFetchResult($gDatabase, $result, $row, 1), 'firstname' => MetabaseFetchResult($gDatabase, $result, $row, 2), 'lastname' => MetabaseFetchResult($gDatabase, $result, $row, 3), 'startdate' => MetabaseFetchResult($gDatabase, $result, $row, 4), 'enddate' => MetabaseFetchResult($gDatabase, $result, $row, 5), 'bookingdetailid' => MetabaseFetchResult($gDatabase, $result, $row, 6), 'color' => $color); } } return $guests; }
/** * Category::getall() * * This function returns all users. * * @return array users * @access public * @since 2003-07-24 * @author Christian Ehret <*****@*****.**> */ function getall() { global $gDatabase2, $tbl_user, $request, $errorhandler; $user = array(); $query = sprintf("SELECT pk_user_id, lastname, firstname, login \n\t\t FROM {$tbl_user} \n\t\t\t\t\t\t WHERE fk_hotel_id = %s \n\t\t\t\t\t\t AND ISNULL(deleted_date)\n\t\t\t\t\t\t ORDER BY lastname ", $request->GetVar('hotelid', 'session')); $result = MetabaseQuery($gDatabase2, $query); if (!$result) { $errorhandler->display('SQL', 'Guest::quickinsert()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase2, $result)) == 0; ++$row) { $color = 0; if ($row % 2 != 0) { $color = 1; } $user[$row] = array('userid' => MetabaseFetchResult($gDatabase2, $result, $row, 0), 'lastname' => MetabaseFetchResult($gDatabase2, $result, $row, 1), 'firstname' => MetabaseFetchResult($gDatabase2, $result, $row, 2), 'login' => MetabaseFetchResult($gDatabase2, $result, $row, 3), 'color' => $color); } } return $user; }
/** * Category::getall() * * This function returns all categories. * * @return array * @access public * @since 2003-07-24 * @author Christian Ehret <*****@*****.**> */ function getall() { global $gDatabase, $tbl_paycat, $errorhandler, $request; $cat = array(); $query = "SELECT pk_paycat_id, paycat\n\t\t FROM {$tbl_paycat}\n\t\t\t\t WHERE ISNULL(fk_deleted_user_id) \n\t\t\t\t ORDER BY paycat"; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'PayCategory::getall()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $color = 0; if ($row % 2 != 0) { $color = 1; } $cat[$row] = array('catid' => MetabaseFetchResult($gDatabase, $result, $row, 0), 'cat' => MetabaseFetchResult($gDatabase, $result, $row, 1), 'color' => $color); } } return $cat; }
/** * bcat::get() * * get all categories * * @return array booking categories * @access public * @since 2003-07-24 * @author Christian Ehret <*****@*****.**> */ function get() { global $gDatabase, $tbl_bookingcat, $errorhandler, $request; $bcat = array(); $query = "SELECT pk_bookingcat_id, bookingcat, color, description, days \n\t\t\t\t FROM {$tbl_bookingcat} \n\t\t\t\t WHERE ISNULL(fk_deleted_user_id)\n\t\t\t\t ORDER BY bookingcat "; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'BookingCategory::getall()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $color = 0; if ($row % 2 != 0) { $color = 1; } $bcat[$row] = array('bcatid' => MetabaseFetchResult($gDatabase, $result, $row, 0), 'name' => MetabaseFetchResult($gDatabase, $result, $row, 1), 'catcolor' => MetabaseFetchResult($gDatabase, $result, $row, 2), 'description' => MetabaseFetchResult($gDatabase, $result, $row, 3), 'days' => MetabaseFetchResult($gDatabase, $result, $row, 4), 'color' => $color); } } return $bcat; }
/** * Barguestcat::getall() * * This function returns all barguestcategories. * * @return array articles * @access public * @since 2006-02-17 * @author Christian Ehret <*****@*****.**> */ function getall() { global $gDatabase2, $tbl_barguestcat, $request, $errorhandler; $barguestcat = array(); $query = "SELECT pk_barguestcat_id, barguestcat\n\t\t FROM {$tbl_barguestcat}\n\t\t\t\t\t\t WHERE ISNULL(deleted_date)\n\t\t\t\t\t\t ORDER BY barguestcat "; $result = MetabaseQuery($gDatabase2, $query); if (!$result) { $errorhandler->display('SQL', 'Barguestcat::getall()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase2, $result)) == 0; ++$row) { $color = 0; if ($row % 2 != 0) { $color = 1; } $barguestcat[$row] = array('barguestcatid' => MetabaseFetchResult($gDatabase2, $result, $row, 0), 'barguestcat' => MetabaseFetchResult($gDatabase2, $result, $row, 1), 'color' => $color); } } return $barguestcat; }
/** * Archive::get() * * This function returns the archived sql and depending on the parameters deletes data. * * @param timestamp $thedate date till data should be archived * @param boolean $delete deletes the data if true * @return string $output * @access public * @since 2004-07-09 * @author Christian Ehret <*****@*****.**> */ function get($thedate, $delete) { global $gDatabase, $tbl_bought, $tbl_bararticle, $tbl_barguest, $request, $errorhandler; $output = "/*Archiv bis {$thedate}*/\n"; $output1 = "/*{$tbl_bought}*/\n"; $output2 = "/*{$tbl_bararticle}*/\n"; $output3 = "/*{$tbl_barguest}*/\n"; list($day, $month, $year) = split('[.]', $thedate); $thedate = "{$year}-{$month}-{$day} 23:59:59"; $query = "SELECT pk_bought_id, fk_barguest_id, fk_bararticle_id, timestamp, num,\n\t\t paid, inserted_date, fk_inserted_user_id, updated_date, fk_updated_user_id\n\t\t FROM {$tbl_bought}\n\t\t WHERE timestamp <= '{$thedate}'"; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Archive::get()', $query); } else { $guestids = array(); $articleids = array(); for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { if (!in_array(MetabaseFetchResult($gDatabase, $result, $row, 1), $guestids)) { array_push($guestids, MetabaseFetchResult($gDatabase, $result, $row, 1)); } if (!in_array(MetabaseFetchResult($gDatabase, $result, $row, 2), $articleids)) { array_push($articleids, MetabaseFetchResult($gDatabase, $result, $row, 2)); } $output1 .= "\n"; $output1 .= "DELETE FROM {$tbl_bought} WHERE pk_bought_id = " . MetabaseFetchResult($gDatabase, $result, $row, 0) . ";"; $output1 .= "\n"; $output1 .= sprintf("INSERT INTO {$tbl_bought} (pk_bought_id, fk_barguest_id, fk_bararticle_id, timestamp, num, paid, inserted_date, fk_inserted_user_id, updated_date, fk_updated_user_id) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s);", $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 0), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 1), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 2), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 3), 'yesifnotnull'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 4), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 5), 'yes'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 6), 'yesifnotnull'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 7), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 8), 'yesifnotnull'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 9), 'no')); if ($delete) { $query = "DELETE FROM {$tbl_bought} WHERE pk_bought_id = " . MetabaseFetchResult($gDatabase, $result, $row, 0); $result2 = MetabaseQuery($gDatabase, $query); if (!$result2) { $errorhandler->display('SQL', 'Archive::get()', $query); } } } for ($i = 0; $i < count($articleids); $i++) { $query = "SELECT pk_bararticle_id, description, price, hotkey, inserted_date,\n\t\t\t\t fk_inserted_user_id, updated_date, fk_updated_user_id, deleted_date, fk_deleted_user_id\n\t\t\t\t\t\t FROM {$tbl_bararticle} WHERE pk_bararticle_id = {$articleids[$i]}"; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Archive::get()', $query); } else { for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $output2 .= "\n"; $output2 .= "DELETE FROM {$tbl_bararticle} WHERE pk_bararticle_id = " . MetabaseFetchResult($gDatabase, $result, $row, 0) . ";"; $output2 .= "\n"; $output2 .= sprintf("INSERT INTO {$tbl_bararticle} (pk_bararticle_id, description, price, hotkey, inserted_date, fk_inserted_user_id, updated_date, fk_updated_user_id, deleted_date, fk_deleted_user_id) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s); ", $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 0), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 1), 'yes'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 2), 'yes'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 3), 'yes'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 4), 'yesifnotnull'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 5), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 6), 'yesifnotnull'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 7), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 8), 'yesifnotnull'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 9), 'no')); } } } for ($i = 0; $i < count($guestids); $i++) { $query = "SELECT pk_barguest_id, firstname, lastname, inserted_date,\n\t\t\t\t fk_inserted_user_id, updated_date, fk_updated_user_id, deleted_date, fk_deleted_user_id\n\t\t\t\t\t\t FROM {$tbl_barguest} WHERE pk_barguest_id = {$guestids[$i]}"; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Archive::get()', $query); } else { for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $output3 .= "\n"; $output3 .= "DELETE FROM {$tbl_barguest} WHERE pk_barguest_id = " . MetabaseFetchResult($gDatabase, $result, $row, 0) . ";"; $output3 .= "\n"; $output3 .= sprintf("INSERT INTO {$tbl_barguest} (pk_barguest_id, firstname, lastname, inserted_date, fk_inserted_user_id, updated_date, fk_updated_user_id, deleted_date, fk_deleted_user_id) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s); ", $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 0), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 1), 'yes'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 2), 'yes'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 3), 'yesifnotnull'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 4), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 5), 'yesifnotnull'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 6), 'no'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 7), 'yesifnotnull'), $this->nullifempty(MetabaseFetchResult($gDatabase, $result, $row, 8), 'no')); } } } $output .= $output2 . "\n\n" . $output3 . "\n\n" . $output1; } return $output; }
/** * Category::getall2() * * This function returns all employees from all hotels. * * @return array employees * @access public * @since 2004-10-03 * @author Christian Ehret <*****@*****.**> */ function getall2() { global $gDatabase2, $tbl_employee, $request, $errorhandler; $user = array(); $query = "SELECT pk_employee_id, lastname, firstname, login, salary \n\t\t FROM {$tbl_employee} \n\t\t\t\t\t\t WHERE ISNULL(deleted_date)\n\t\t\t\t\t\t ORDER BY login"; $result = MetabaseQuery($gDatabase2, $query); if (!$result) { $errorhandler->display('SQL', 'Employee::getall2()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase2, $result)) == 0; ++$row) { $color = 0; if ($row % 2 != 0) { $color = 1; } $user[$row] = array('userid' => MetabaseFetchResult($gDatabase2, $result, $row, 0), 'lastname' => MetabaseFetchResult($gDatabase2, $result, $row, 1), 'firstname' => MetabaseFetchResult($gDatabase2, $result, $row, 2), 'login' => MetabaseFetchResult($gDatabase2, $result, $row, 3), 'salary' => MetabaseFetchResult($gDatabase2, $result, $row, 4), 'color' => $color); } } return $user; }
/** * room::getname() * * get the name of a room * * @param number $roomid room id * @return string room name * @access public * @since 2003-07-24 * @author Christian Ehret <*****@*****.**> */ function getname($roomid) { global $gDatabase, $request, $tbl_room, $errorhandler; $query = sprintf("SELECT room FROM {$tbl_room} WHERE pk_room_id = %s", $roomid); $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'room::getname()', $query); } else { return MetabaseFetchResult($gDatabase, $result, 0, 0); } }
/** * Article::saveupdatePeriod * * Save period as new or update existing one * * @access public * @since 2004-12-13 * @author Christian Ehret <*****@*****.**> */ function saveupdatePeriod() { global $gDatabase, $request, $tbl_period, $tbl_bararticle, $errorhandler; $periodid = $request->GetVar('frm_theperiodid', 'post'); $active = false; $auto_commit = false; $success = MetabaseAutoCommitTransactions($gDatabase, $auto_commit); if ($request->GetVar('frm_periodact', 'post') == 'true') { $active = true; $query = sprintf("UPDATE {$tbl_period} SET \n\t\t\t\t\t\t\t active = %s,\n\t\t\t\t\t\t\t updated_date = NOW(), \n\t\t\t\t\t\t\t fk_updated_user_id = %s ", MetabaseGetBooleanFieldValue($gDatabase, false), $request->GetVar('uid', 'session')); $result = MetabaseQuery($gDatabase, $query); if (!$result) { $success = MetabaseRollbackTransaction($gDatabase); $errorhandler->display('SQL', 'Article::saveupdatePeriod()', $query); } } // update if ($periodid !== '-1') { $query = sprintf("UPDATE {$tbl_period} SET \n\t\t\t period = %s, \n\t\t\t\t\t\t\t active = %s,\n\t\t\t\t\t\t\t updated_date = NOW(), \n\t\t\t\t\t\t\t fk_updated_user_id = %s \n\t\t\t\t\t\t\t WHERE pk_period_id = %s ", MetabaseGetTextFieldValue($gDatabase, $request->GetVar('frm_perioddesc', 'post')), MetabaseGetBooleanFieldValue($gDatabase, $active), $request->GetVar('uid', 'session'), $periodid); } else { // new $name = "zvs_pk_period_id"; $sequence = MetabaseGetSequenceNextValue($gDatabase, $name, &$periodid); $query = sprintf("INSERT INTO {$tbl_period}\n\t\t\t (pk_period_id, period, active, inserted_date, fk_inserted_user_id, updated_date, fk_updated_user_id)\n\t\t\t\t\t\t\t VALUES (%s, %s, %s, NOW(), %s, NULL, NULL )", $periodid, MetabaseGetTextFieldValue($gDatabase, $request->GetVar('frm_perioddesc', 'post')), MetabaseGetBooleanFieldValue($gDatabase, $active), $request->GetVar('uid', 'session')); } $result = MetabaseQuery($gDatabase, $query); if (!$result) { $success = MetabaseRollbackTransaction($gDatabase); $errorhandler->display('SQL', 'Article::saveupdatePeriod()', $query); } else { if ($request->GetVar('frm_cpyperiod', 'post') != -1) { $query = "SELECT fk_bararticlecat_id, description, price, hotkey\n\t\t\t\t\t FROM {$tbl_bararticle} \n\t\t\t\t\t WHERE ISNULL(deleted_date) AND\n\t\t\t\t\t fk_period_id = " . $request->GetVar('frm_cpyperiod', 'post'); $result = MetabaseQuery($gDatabase, $query); if (!$result) { $success = MetabaseRollbackTransaction($gDatabase); $errorhandler->display('SQL', 'Article::saveupdatePeriod()', $query); } for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $name = "zvs_pk_bararticle_id"; $sequence = MetabaseGetSequenceNextValue($gDatabase, $name, &$bararticleid); $query = sprintf("INSERT INTO {$tbl_bararticle} \n\t\t\t\t\t (pk_bararticle_id, fk_period_id, fk_bararticlecat_id,\n\t\t\t\t\t\t\t description, price, hotkey, inserted_date, \n\t\t\t\t\t\t\t fk_inserted_user_id)\n\t\t\t\t\t\t\t VALUES (%s, %s, %s, %s, %s, %s, NOW(), %s) ", $bararticleid, $periodid, MetabaseFetchResult($gDatabase, $result, $row, 0), MetabaseGetTextFieldValue($gDatabase, MetabaseFetchResult($gDatabase, $result, $row, 1)), MetabaseGetTextFieldValue($gDatabase, MetabaseFetchResult($gDatabase, $result, $row, 2)), MetabaseGetTextFieldValue($gDatabase, MetabaseFetchResult($gDatabase, $result, $row, 3)), $request->GetVar('uid', 'session')); $result2 = MetabaseQuery($gDatabase, $query); if (!$result2) { $success = MetabaseRollbackTransaction($gDatabase); $errorhandler->display('SQL', 'Article::saveupdatePeriod()', $query); } } } $success = MetabaseCommitTransaction($gDatabase); // end transaction $auto_commit = true; $success = MetabaseAutoCommitTransactions($gDatabase, $auto_commit); } return $periodid; }
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * This copyright notice MUST APPEAR in all copies of the script! ***************************************************************/ /** * Get a list of all guests with firstname beginning with a proper string * * Guest * * @since 2006-02-24 * @author Christian Ehret <*****@*****.**> */ include_once "../includes/default.inc.php"; $auth->is_authenticated(); if ($_POST['autocomplete']) { $entry = $_POST['autocomplete']; echo '<ul>'; $query = sprintf("SELECT lastname, firstname, pk_guest_id FROM {$tbl_guest} \n\t\t WHERE firstname LIKE '%s%%' AND ISNULL(deleted_date)\n\t\t ORDER BY lastname LIMIT 25", $entry); $result = MetabaseQuery($gDatabase, $query); if (!$result) { } else { for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { echo "<li id=\"" . MetabaseFetchResult($gDatabase, $result, $row, 0) . "\"><span class=\"informal\">" . MetabaseFetchResult($gDatabase, $result, $row, 0) . ", </span>" . MetabaseFetchResult($gDatabase, $result, $row, 1) . "</li>"; } } echo '</ul>'; } ?>
/** * Guest::asearch() * * search adresses for a guest * * @param string $firstname firstname * @param string $lastname lastname * @return array guest data * @access public * @since 2003-07-24 * @author Christian Ehret <*****@*****.**> */ function asearch($firstname, $lastname) { global $gDatabase, $tbl_guest, $tbl_address, $tbl_guest_address, $tbl_country, $tbl_booking, $tbl_booking_detail_guest, $tbl_booking_detail, $errorhandler, $request; $guest = array(); $query = "SELECT g.pk_guest_id, \n\t\t\t\t IF ( g.firstname = '' OR g.firstname IS NULL , '-', g.firstname )firstname, \n\t\t\t\t g.lastname, \n\t\t\t\t IF ( g.company = '' OR g.company IS NULL , '-', g.company )company \n\t\t\t\t FROM {$tbl_guest} g "; if ($firstname != "" or $lastname != "") { $query .= "WHERE "; } if ($firstname != "") { $query .= "firstname LIKE '%" . $firstname . "%' "; } if ($firstname != "" and $lastname != "") { $query .= "AND "; } if ($lastname != "") { $query .= "lastname LIKE '%" . $lastname . "%' "; } $query .= "GROUP BY g.pk_guest_id "; $query .= "ORDER BY lastname, firstname "; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Guest::asearch()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { unset($addresses); $query = "SELECT pk_fk_address_id, address_type FROM {$tbl_guest_address} WHERE pk_fk_guest_id = " . MetabaseFetchResult($gDatabase, $result, $row, 0); $result2 = MetabaseQuery($gDatabase, $query); if (!$result2) { $errorhandler->display('SQL', 'Guest::asearch()', $query); } for ($row2 = 0; ($eor = MetabaseEndOfResult($gDatabase, $result2)) == 0; ++$row2) { $addresses[$row2] = $this->getAddress(MetabaseFetchResult($gDatabase, $result2, $row2, 0), MetabaseFetchResult($gDatabase, $result2, $row2, 1)); } $color = 0; if ($row % 2 != 0) { $color = 1; } $guest[$row] = array('guestid' => MetabaseFetchResult($gDatabase, $result, $row, 0), 'firstname' => MetabaseFetchResult($gDatabase, $result, $row, 1), 'lastname' => MetabaseFetchResult($gDatabase, $result, $row, 2), 'company' => MetabaseFetchResult($gDatabase, $result, $row, 3), 'addresses' => $addresses, 'color' => $color); } } return $guest; }
/** * price::getall() * * get all prices * * @param char $price_type price type 'N' normal 'A' advanced * @access public * @return array prices * @since 2004-01-01 * @author Christian Ehret <*****@*****.**> */ function getall($price_type) { global $gDatabase, $request, $tbl_price, $tbl_price2, $errorhandler; $prices = array(); if ($price_type == 'N') { $query = "SELECT fk_roomcat_id, fk_bookingcat_id, fk_season_id,\n\t\t\t\t price_person, price_children, price_absolute, price_type,\n\t\t\t\t price_person_short, price_children_short, price_absolute_short,\n\t\t\t\t price_children2, price_children2_short, price_children3, price_children3_short\n\t\t\t\t FROM {$tbl_price} "; $result = MetabaseQuery($gDatabase, $query); if ($result) { for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['person'] = MetabaseFetchResult($gDatabase, $result, $row, 3); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['children'] = MetabaseFetchResult($gDatabase, $result, $row, 4); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['absolute'] = MetabaseFetchResult($gDatabase, $result, $row, 5); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['type'] = MetabaseFetchResult($gDatabase, $result, $row, 6); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['person_short'] = MetabaseFetchResult($gDatabase, $result, $row, 7); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['children_short'] = MetabaseFetchResult($gDatabase, $result, $row, 8); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['absolute_short'] = MetabaseFetchResult($gDatabase, $result, $row, 9); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['children2'] = MetabaseFetchResult($gDatabase, $result, $row, 10); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['children2_short'] = MetabaseFetchResult($gDatabase, $result, $row, 11); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['children3'] = MetabaseFetchResult($gDatabase, $result, $row, 12); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['children3_short'] = MetabaseFetchResult($gDatabase, $result, $row, 13); } } if ($request->GetVar('debug', 'get') == 'true') { print $query; print '<br><br>'; print '<pre>'; print_r($result); print '</pre><br><br>'; print '<pre>'; print_r($prices); print '</pre>'; } } else { $query = "SELECT fk_roomcat_id, fk_bookingcat_id, fk_season_id,\n\t\t\t\t price, price_short, persons_included, price_additional,\n\t\t\t\t price_short_additional\n\t\t\t\t FROM {$tbl_price2} "; $result = MetabaseQuery($gDatabase, $query); if ($result) { for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['price'] = MetabaseFetchResult($gDatabase, $result, $row, 3); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['price_short'] = MetabaseFetchResult($gDatabase, $result, $row, 4); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['person'] = MetabaseFetchResult($gDatabase, $result, $row, 5); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['additional'] = MetabaseFetchResult($gDatabase, $result, $row, 6); $prices[MetabaseFetchResult($gDatabase, $result, $row, 2)][MetabaseFetchResult($gDatabase, $result, $row, 0)][MetabaseFetchResult($gDatabase, $result, $row, 1)]['additional_short'] = MetabaseFetchResult($gDatabase, $result, $row, 7); } } if ($request->GetVar('debug', 'get') == 'true') { print $query; print '<br><br>'; print '<pre>'; print_r($result); print '</pre><br><br>'; print '<pre>'; print_r($prices); print '</pre>'; } } return $prices; }
/** * Calendar::getdates() * * This function returns an array with all dates. * * @return array dates * @access public * @since 2005-01-11 * @author Christian Ehret <*****@*****.**> */ function getdates() { global $gDatabase, $tbl_booking_detail, $request, $errorhandler; $dates = array(); $j = 0; $query = "SELECT DATE_FORMAT(min( start_date ) ,'%Y') \n\t\t FROM {$tbl_booking_detail} "; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Calendar::getdates()', $query); } else { $startyear = MetabaseFetchResult($gDatabase, $result, 0, 0); $todaydate = getdate(); $todayyear = $todaydate['year']; $i = 0; for ($year = $startyear; $year <= $todayyear; ++$year) { $dates[$i] = $year; ++$i; } for ($j = 0; $j <= 20; ++$j) { $dates[$i] = $year + $j; ++$i; } } return $dates; }
/** * Newsletter::send() * * This function sends eMail. * * @param array $cats categories * @param string $sender sender * @param string $senderemail sender email * @param string $subject subject * @param string $body body * @param boolean $andop and operator * @param boolean $salutation insert salutation * @return number number of mails * @access public * @since 2004-07-10 * @author Christian Ehret <*****@*****.**> */ function send($cats, $sender, $senderemail, $subject, $body, $andop, $salutation) { global $gDatabase, $tbl_guest, $tbl_guestcat, $tbl_guest_guestcat, $tbl_guest_address, $tbl_address, $errorhandler, $request; set_time_limit(0); $num = 0; if ($andop) { $query = "SELECT t0.pk_fk_guest_id, a.email, g.firstname, g.lastname\n\t\t\t\t FROM "; for ($i = 0; $i < count($cats); $i++) { $query .= "{$tbl_guest_guestcat} t{$i} "; if ($i !== count($cats) - 1) { $query .= ", "; } } $query .= "LEFT JOIN {$tbl_guest_address} ga ON t0.pk_fk_guest_id = ga.pk_fk_guest_id AND\n\t\t\t\t \t\t\t\t\t\t\t ga.default_address = 'Y'\t\t\n\t\t\t\t LEFT JOIN {$tbl_address} a ON ga.pk_fk_address_id = a.pk_address_id \n\t\t\t\t\t LEFT JOIN {$tbl_guest} g ON t0.pk_fk_guest_id = g.pk_guest_id "; $query .= "WHERE "; for ($i = 0; $i < count($cats); $i++) { $query .= "t{$i}.pk_fk_guestcat_id = {$cats[$i]} "; if ($i > 0) { $query .= "AND t0.pk_fk_guest_id = t{$i}.pk_fk_guest_id "; } if ($i !== count($cats) - 1) { $query .= "AND "; } } $query .= "AND NOT ISNULL( a.email ) "; } else { $query = "SELECT DISTINCT ggc.pk_fk_guest_id, a.email, g.firstname, g.lastname \n\t\t\t\t FROM {$tbl_guest_guestcat} ggc\n\t\t\t\t LEFT JOIN {$tbl_guest_address} ga ON ggc.pk_fk_guest_id = ga.pk_fk_guest_id AND\n\t\t\t\t \t\t\t\t\t\t\t ga.default_address = 'Y'\t\t\n\t\t\t\t LEFT JOIN {$tbl_address} a ON ga.pk_fk_address_id = a.pk_address_id \n\t\t\t\t LEFT JOIN {$tbl_guest} g ON ggc.pk_fk_guest_id = g.pk_guest_id\t\t \n\t\t\t\t WHERE ("; for ($i = 0; $i < count($cats); $i++) { $query .= "ggc.pk_fk_guestcat_id = " . $cats[$i]; if ($i !== count($cats) - 1) { $query .= " OR "; } } $query .= ") AND NOT ISNULL( a.email ) "; } $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Newsletter::send()', $query); } else { $row = 0; if ($salutation) { include_once "guestclass.inc.php"; $guestclass = new Guest(); } for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { if ($salutation) { $salutationtxt = $guestclass->getGreeting(MetabaseFetchResult($gDatabase, $result, $row, 0)) . "\n"; } else { $salutationtxt = ""; } $files = $_FILES; $message = $salutationtxt; $message .= $body; $email = MetabaseFetchResult($gDatabase, $result, $row, 1); $firstname = MetabaseFetchResult($gDatabase, $result, $row, 2); $lastname = MetabaseFetchResult($gDatabase, $result, $row, 3); $from = $sender . " <" . $senderemail . ">"; $recipient = $firstname . " " . $lastname . " <" . $email . ">"; $mime_boundary = "<<<:" . md5(uniqid(mt_rand(), 1)); $content = ""; $header = "From: {$from}\r\n"; $header .= "Reply-To: {$from}\r\n"; $header .= "X-Priority: 3 (Normal)\r\n"; $header .= "X-Mailer: PHP/" . phpversion() . "\r\n"; $header .= "MIME-Version: 1.0\r\n"; if (is_array($files)) { $header .= "Content-Type: multipart/mixed;\r\n"; $header .= " boundary=\"" . $mime_boundary . "\"\r\n"; $content = "This is a multi-part message in MIME format.\r\n\r\n"; $content .= "--" . $mime_boundary . "\r\n"; } $content .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\r\n"; $content .= "Content-Transfer-Encoding: 8bit\r\n\r\n"; $content .= "{$message}\r\n\r\n"; if (is_array($files)) { $content .= "--" . $mime_boundary . "\r\n"; foreach ($files as $filename => $filelocation) { $filename = $filelocation['name']; $filelocation = $filelocation['tmp_name']; if (is_readable($filelocation)) { $data = chunk_split(base64_encode(implode("", file($filelocation)))); $content .= "Content-Disposition: attachment;\r\n"; if (!function_exists("mime_content_type")) { $mimecontenttype = "application/octet-stream"; } else { $mimecontenttype = mime_content_type($filelocation); } $content .= "Content-Type: " . $mimecontenttype . ";"; $content .= " name=\"" . $filename . "\"\r\n"; $content .= "Content-Transfer-Encoding: base64\r\n\r\n"; $content .= $data . "\r\n"; $content .= "--" . $mime_boundary . "\r\n"; } } } mail($recipient, $subject, $content, $header); $num++; } } return $num; }
/** * Kassa::getTimeline() * * This function returns all bought articles for one guest. * * @param number $guestid guest id * @param date $start start date * @param date $end end date * @param string $order order desc or asc * @param array $cats categories * @return array articles * @access public * @since 2004-01-06 * @author Christian Ehret <*****@*****.**> */ function getTimeline($guestid, $start, $end, $order, $cats = array()) { global $gDatabase2, $tbl_bararticle, $tbl_user, $tbl_bought, $tbl_barguest, $request, $errorhandler, $articlerows; $article = array(); if (count($cats) > 0) { $catstr = "AND ba.fk_bararticlecat_id IN ("; for ($i = 0; $i < count($cats); $i++) { if ($i > 0) { $catstr .= ", "; } $catstr .= $cats[$i]; } $catstr .= ")"; } else { return array(); } list($day, $month, $year) = split('.', $start); $query = "SELECT ba.pk_bararticle_id, ba.description, ba.price, DATE_FORMAT( b.timestamp, '%d.%m.%Y, %H:%i' ), num, pk_bought_id, paid,\n\t\t\t\t DATE_FORMAT( b.updated_date, '%d.%m.%Y, %H:%i Uhr' ), u2.firstname, u2.lastname,\n\t\t\t\t DATE_FORMAT( b.inserted_date, '%d.%m.%Y, %H:%i Uhr' ), u1.firstname, u1.lastname \n FROM {$tbl_bought} b\n\t\t\t\t \t\t LEFT JOIN {$tbl_barguest} bg ON bg.pk_barguest_id = b.fk_barguest_id\n\t\t\t\t \t LEFT JOIN {$tbl_bararticle} ba ON b.fk_bararticle_id = ba.pk_bararticle_id\n\t\t\t\t\t\t LEFT JOIN {$tbl_user} u1 ON b.fk_inserted_user_id = u1.pk_user_id\n\t\t\t\t\t\t LEFT JOIN {$tbl_user} u2 ON b.fk_updated_user_id = u2.pk_user_id\n\t\t\t\t\t\t WHERE bg.pk_barguest_id = {$guestid} \n\t\t\t\t\t\t {$catstr} "; if ($start !== "") { list($day, $month, $year) = split('[.]', $start); $query .= "AND UNIX_TIMESTAMP(b.timestamp) >= " . mktime(0, 0, 0, $month, $day, $year) . " "; } if ($end !== "") { list($day, $month, $year) = split('[.]', $end); $query .= "AND UNIX_TIMESTAMP(b.timestamp) <= " . mktime(0, 0, 0, $month, $day + 1, $year) . " "; } $query .= "ORDER BY b.timestamp " . $order; $result = MetabaseQuery($gDatabase2, $query); if (!$result) { $errorhandler->display('SQL', 'Kassa::getTimeline()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase2, $result)) == 0; ++$row) { $color = 0; if ($row % 2 != 0) { $color = 1; } $total = MetabaseFetchResult($gDatabase2, $result, $row, 2) * MetabaseFetchResult($gDatabase2, $result, $row, 4); // print "paid: ".MetabaseFetchBooleanResult($gDatabase2, $result, $row, 6); if (MetabaseFetchBooleanResult($gDatabase2, $result, $row, 6)) { $sum2 += $total; $sum += $total; $paid = $total; } else { $sum += $total; $paid = "0.00"; } $article[$row] = array('articleid' => MetabaseFetchResult($gDatabase2, $result, $row, 0), 'description' => MetabaseFetchResult($gDatabase2, $result, $row, 1), 'price' => MetabaseFetchResult($gDatabase2, $result, $row, 2), 'timestamp' => MetabaseFetchResult($gDatabase2, $result, $row, 3), 'num' => MetabaseFetchResult($gDatabase2, $result, $row, 4), 'boughtid' => MetabaseFetchResult($gDatabase2, $result, $row, 5), 'paid' => MetabaseFetchBooleanResult($gDatabase2, $result, $row, 6), 'updated' => MetabaseFetchResult($gDatabase2, $result, $row, 7), 'updateduser' => MetabaseFetchResult($gDatabase2, $result, $row, 8) . " " . MetabaseFetchResult($gDatabase2, $result, $row, 9), 'inserted' => MetabaseFetchResult($gDatabase2, $result, $row, 10), 'inserteduser' => MetabaseFetchResult($gDatabase2, $result, $row, 11) . " " . MetabaseFetchResult($gDatabase2, $result, $row, 12), 'total1' => number_format($total, 2, '.', ''), 'total2' => number_format($paid, 2, '.', ''), 'color' => $color); } $color = 0; if ($row % 2 != 0) { $color = 1; } $article[$row] = array('articleid' => 0, 'description' => "Summe:", 'price' => "", 'timestamp' => "", 'num' => "", 'boughtid' => "", 'paid' => "", 'updated' => "", 'total1' => number_format($sum, 2, '.', ''), 'total2' => number_format($sum2, 2, '.', ''), 'color' => $color); $sum -= $sum2; $article[$row + 1] = array('articleid' => 0, 'description' => "zu zahlen:", 'price' => "", 'timestamp' => "", 'num' => "", 'boughtid' => "", 'paid' => "", 'updated' => "", 'total1' => number_format($sum, 2, '.', ''), 'total2' => "", 'color' => $color); } return $article; }
/** * Category::getallwithstatus() * * Get all categories with status if * subscribed or not * * @param number $guestid id of the guest * @return array categories and * @access public * @since 2003-07-24 * @author Christian Ehret <*****@*****.**> */ function getallwithstatus($guestid) { global $gDatabase, $request, $tbl_guest_guestcat, $errorhandler; $allcat = $this->getall(); $cat = array(); $query = sprintf("SELECT pk_fk_guestcat_id " . "FROM {$tbl_guest_guestcat} " . "WHERE pk_fk_guest_id = %s ", $guestid); $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'GuestCategory::getallwithstatus()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $cat[$row] = array('catid' => MetabaseFetchResult($gDatabase, $result, $row, 0)); } } for ($i = 0; $i < count($allcat); $i++) { $allcat[$i][subscribed] = 'no'; for ($j = 0; $j < count($cat); $j++) { if ($allcat[$i][catid] == $cat[$j][catid]) { $allcat[$i][subscribed] = 'yes'; } } } return $allcat; }
/** * roomchangelist::getdates() * * This function returns an array with all dates. * * @return array dates * @access public * @since 2004-06-12 * @author Christian Ehret <*****@*****.**> */ function getdates() { global $gDatabase, $tbl_booking, $request, $errorhandler; $dates = array(); $j = 0; $query = "SELECT DATE_FORMAT(min( start_date ) ,'%Y'), DATE_FORMAT(max( end_date ),'%Y') \n\t\t FROM {$tbl_booking} "; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'roomchangelist::getdates()', $query); } else { $startyear = MetabaseFetchResult($gDatabase, $result, 0, 0); $endyear = MetabaseFetchResult($gDatabase, $result, 0, 1); for ($year = $startyear; $year <= $endyear; ++$year) { for ($i = 1; $i <= 12; $i++) { $dates[$j] = $i . '/' . $year; $j++; } } } return $dates; }
function getPageRows($query, $obj) { global $mdb; $this->queryAssign('getPageRows', $query); $db_res = $this->query($query, $obj); $rows = @MetabaseFetchResult($mdb, $db_res, 0, "num"); return $rows; }
function VerifyFetchedValues($database, $result, $row, &$data, &$value, &$field) { return strcmp($value = MetabaseFetchResult($database, $result, $row, "user_name"), $data[$field = "user_name"]) || strcmp($value = MetabaseFetchResult($database, $result, $row, "user_password"), $data[$field = "user_password"]) || strcmp($value = MetabaseFetchBooleanResult($database, $result, $row, "subscribed"), $data[$field = "subscribed"]) || strcmp($value = MetabaseFetchResult($database, $result, $row, "user_id"), $data[$field = "user_id"]) || ($value = MetabaseFetchDecimalResult($database, $result, $row, "quota")) != $data[$field = "quota"] || strcmp($value = MetabaseFetchFloatResult($database, $result, $row, "weight"), $data[$field = "weight"]) || strcmp($value = MetabaseFetchDateResult($database, $result, $row, "access_date"), $data[$field = "access_date"]) || strcmp($value = MetabaseFetchTimeResult($database, $result, $row, "access_time"), $data[$field = "access_time"]) || strcmp($value = MetabaseFetchTimestampResult($database, $result, $row, "approved"), $data[$field = "approved"]); }
/** * createEmailConfirmation() * * Create a mailto link for email confirmation * * @param number $bookid id of booking * @return string mailto link * @access public * @since 2003-10-12 * @author Christian Ehret <*****@*****.**> */ function createEmailConfirmation($bookid) { global $tbl_booking, $tbl_guest, $tbl_address, $tbl_guest_address, $tbl_bookingcat, $tbl_country, $gDatabase, $errorhandler, $request; include_once 'guestclass.inc.php'; $guest = new Guest(); $query = "SELECT {$tbl_booking}.fk_bookingcat_id, {$tbl_booking}.fk_guest_id, \n\t UNIX_TIMESTAMP(start_date), UNIX_TIMESTAMP(end_date), \n\t\t\t TO_DAYS( end_date ) - TO_DAYS( start_date ) AS days, \n\t\t\t {$tbl_booking}.persons, children, {$tbl_guest}.firstname, \n\t\t\t {$tbl_guest}.lastname, {$tbl_bookingcat}.bookingcat, \n\t\t\t DATE_FORMAT({$tbl_guest}.date_of_birth , '%d.%m.%Y'), \n\t\t\t postalcode, city, address, country_de, email, \n\t\t\t booking_type, {$tbl_guest}.formal_greeting, \n\t\t\t {$tbl_guest}.gender, \n\t\t\t COALESCE( CASE WHEN {$tbl_bookingcat}.description = '' THEN NULL ELSE {$tbl_bookingcat}.description END, CASE WHEN {$tbl_bookingcat}.bookingcat = '' THEN NULL ELSE {$tbl_bookingcat}.bookingcat END, '' ),\n\t\t\t children2, children3, children0 \n\t\t\t FROM {$tbl_booking} \n\t\t\t LEFT JOIN {$tbl_guest} ON ({$tbl_booking}.fk_guest_id = {$tbl_guest}.pk_guest_id) \n\t\t\t LEFT JOIN {$tbl_guest_address} ON ({$tbl_guest_address}.default_address = " . MetabaseGetBooleanFieldValue($gDatabase, true) . " \n\t\t\t AND {$tbl_guest}.pk_guest_id = {$tbl_guest_address}.pk_fk_guest_id) \n\t\t\t LEFT JOIN {$tbl_address} ON ({$tbl_address}.pk_address_id = {$tbl_guest_address}.pk_fk_address_id) \n\t\t\t LEFT JOIN {$tbl_bookingcat} ON ({$tbl_booking}.fk_bookingcat_id = {$tbl_bookingcat}.pk_bookingcat_id) \n\t\t\t LEFT JOIN {$tbl_country} ON (fk_country_id = {$tbl_country}.pk_country_id )\n\t\t\t WHERE pk_booking_id = " . $bookid; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Booking::emailConfirmation()', $query); } else { if (MetabaseNumberOfRows($gDatabase, $result) == 1) { $booking = array(); $str = ""; $bookingtype = ""; $bookingstr = ""; $isformal = MetabaseFetchBooleanResult($gDatabase, $result, 0, 16); $dirihnen = "Dir"; if ($isformal) { $dirihnen = "Ihnen"; } switch (MetabaseFetchResult($gDatabase, $result, 0, 16)) { case 'R': $bookingtype = "Reservierungsbestätigung"; $bookingstr = "Reservierung"; break; case 'B': $bookingtype = "Buchungsbestätigung"; $bookingstr = "Buchung"; break; case 'P': $bookingtype = "Buchungsbestätigung"; $bookingstr = "Buchung"; break; } $body = ""; $body .= $guest->GetGreeting(MetabaseFetchResult($gDatabase, $result, 0, 1)) . "\n"; $body .= "hiermit bestätigen wir " . $dirihnen . " folgende " . $bookingstr . ":\n\n"; $body .= "Anreise: " . date("d. m. Y", MetabaseFetchResult($gDatabase, $result, 0, 2)) . "\n"; $body .= "Abreise: " . date("d. m. Y", MetabaseFetchResult($gDatabase, $result, 0, 3)) . "\n"; $body .= "Kategorie: " . MetabaseFetchResult($gDatabase, $result, 0, 19) . "\n"; $body .= "Erwachsene: " . MetabaseFetchResult($gDatabase, $result, 0, 5) . "\n"; $body .= $request->GetVar('children0', 'session') . ": " . MetabaseFetchResult($gDatabase, $result, 0, 22) . "\n"; $body .= $request->GetVar('children1', 'session') . ": " . MetabaseFetchResult($gDatabase, $result, 0, 6) . "\n"; $body .= $request->GetVar('children2', 'session') . ": " . MetabaseFetchResult($gDatabase, $result, 0, 20) . "\n"; $body .= $request->GetVar('children3', 'session') . ": " . MetabaseFetchResult($gDatabase, $result, 0, 21) . "\n\n"; $body .= "für:\n"; $body .= MetabaseFetchResult($gDatabase, $result, 0, 7) . " " . MetabaseFetchResult($gDatabase, $result, 0, 8) . "\n"; $body .= MetabaseFetchResult($gDatabase, $result, 0, 13) . "\n"; $body .= MetabaseFetchResult($gDatabase, $result, 0, 11) . " " . MetabaseFetchResult($gDatabase, $result, 0, 12) . "\n"; $body .= MetabaseFetchResult($gDatabase, $result, 0, 14) . "\n\n"; $str = "mailto:" . MetabaseFetchResult($gDatabase, $result, 0, 7) . "%20" . MetabaseFetchResult($gDatabase, $result, 0, 8) . "%20<" . MetabaseFetchResult($gDatabase, $result, 0, 15) . ">?subject={$bookingtype}" . "&body=" . rawurlencode($body); } return $str; } }
/** * season::getOneYear() * * get all season data of one year * * @param number $year year * @return array season data * @access public * @since 2003-12-31 * @author Christian Ehret <*****@*****.**> */ function getOneYear($year) { global $gDatabase, $tbl_season, $errorhandler, $request; $season = array(); $query = "SELECT pk_season_id, name \n\t\t FROM {$tbl_season} \n\t\t\t\t WHERE ISNULL(fk_deleted_user_id) \n\t\t\t\t AND DATE_FORMAT( start_date, '%Y' ) = {$year}\n\t\t\t\t ORDER BY start_date "; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Season::getOneYear()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $season[$row] = array('seasonid' => MetabaseFetchResult($gDatabase, $result, $row, 0), 'name' => MetabaseFetchResult($gDatabase, $result, $row, 1)); } } return $season; }
/** * Guestlist::getBirthdayReminders() * * This function returns a list of guests wich have their birthday and the reminder set. * * @return array guests * @access public * @since 2004-07-26 * @author Christian Ehret <*****@*****.**> */ function getBirthdayReminders() { global $gDatabase, $tbl_guest, $request, $errorhandler; $days = $request->GetVar('birthday_days', 'Session'); $guests = array(); $query = "SELECT pk_guest_id, firstname, lastname, DATE_FORMAT(date_of_birth ,'%d.%m.%Y'),\n\t\t\t\t\t\t DATE_FORMAT(now(), '%Y') - DATE_FORMAT(date_of_birth ,'%Y')\n\t\t FROM {$tbl_guest}\n\t\t\t\t\t\t WHERE DATE_FORMAT( date_of_birth, '%m%d' ) BETWEEN DATE_FORMAT( now(), '%m%d' ) AND DATE_FORMAT( DATE_ADD(now(), INTERVAL {$days} DAY), '%m%d' ) \t\t\t\t \n\t\t\t\t\t\t AND birthday_reminder = " . MetabaseGetBooleanFieldValue($gDatabase, true) . "\n\t\t\t\t\t\t ORDER BY DATE_FORMAT( date_of_birth, '%d') "; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Guestlist::getBirthdayReminders()', $query); } else { for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $color = 0; if ($row % 2 != 0) { $color = 1; } $guests[$row] = array('guestid' => MetabaseFetchResult($gDatabase, $result, $row, 0), 'firstname' => MetabaseFetchResult($gDatabase, $result, $row, 1), 'lastname' => MetabaseFetchResult($gDatabase, $result, $row, 2), 'birthday' => MetabaseFetchResult($gDatabase, $result, $row, 3), 'age' => MetabaseFetchResult($gDatabase, $result, $row, 4), 'color' => $color); } $color = 0; if ($row % 2 != 0) { $color = 1; } return $guests; } }
/** * RoomCategory::get() * * This function returns all categories of a price_type. * * @param char $price_type price type * @return array categories * @access public * @since 2004-03-20 * @author Christian Ehret <*****@*****.**> */ function get($price_type) { global $gDatabase, $tbl_roomcat, $errorhandler, $request; $cat = array(); $query = sprintf("SELECT pk_roomcat_id, roomcat, price_type \n\t\t\t\t FROM {$tbl_roomcat} \n\t\t\t\t WHERE ISNULL(fk_deleted_user_id) \n\t\t\t\t AND price_type = %s\n\t\t\t\t ORDER BY roomcat", MetabaseGetTextFieldValue($gDatabase, $price_type)); $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'RoomCategory::get()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $color = 0; $articles = ""; if ($row % 2 != 0) { $color = 1; } $cat[$row] = array('catid' => MetabaseFetchResult($gDatabase, $result, $row, 0), 'name' => MetabaseFetchResult($gDatabase, $result, $row, 1), 'price_type' => MetabaseFetchResult($gDatabase, $result, $row, 2), 'color' => $color); } } return $cat; }
function DumpDatabase($arguments) { if (!isset($arguments["Output"])) { return "it was not specified a valid output function"; } $output = $arguments["Output"]; $eol = isset($arguments["EndOfLine"]) ? $arguments["EndOfLine"] : "\n"; $dump_definition = isset($arguments["Definition"]); $sequences = array(); if (isset($this->database_definition["SEQUENCES"])) { for ($error = "", Reset($this->database_definition["SEQUENCES"]), $sequence = 0; $sequence < count($this->database_definition["SEQUENCES"]); Next($this->database_definition["SEQUENCES"]), $sequence++) { $sequence_name = Key($this->database_definition["SEQUENCES"]); if (isset($this->database_definition["SEQUENCES"][$sequence_name]["on"])) { $table = $this->database_definition["SEQUENCES"][$sequence_name]["on"]["table"]; } else { $table = ""; } $sequences[$table][] = $sequence_name; } } $previous_database_name = strcmp($this->database_definition["name"], "") ? MetabaseSetDatabase($this->database, $this->database_definition["name"]) : ""; $output("<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>{$eol}"); $output("<database>{$eol}{$eol} <name>" . $this->database_definition["name"] . "</name>{$eol} <create>" . $this->database_definition["create"] . "</create>{$eol}"); for ($error = "", Reset($this->database_definition["TABLES"]), $table = 0; $table < count($this->database_definition["TABLES"]); Next($this->database_definition["TABLES"]), $table++) { $table_name = Key($this->database_definition["TABLES"]); $output("{$eol} <table>{$eol}{$eol} <name>{$table_name}</name>{$eol}"); $output("{$eol} <declaration>{$eol}"); $fields = $this->database_definition["TABLES"][$table_name]["FIELDS"]; for (Reset($fields), $field_number = 0; $field_number < count($fields); $field_number++, Next($fields)) { $field_name = Key($fields); $field = $fields[$field_name]; if (!isset($field["type"])) { return "it was not specified the type of the field \"{$field_name}\" of the table \"{$table_name}\""; } $output("{$eol} <field>{$eol} <name>{$field_name}</name>{$eol} <type>" . $field["type"] . "</type>{$eol}"); switch ($field["type"]) { case "integer": if (isset($field["unsigned"])) { $output(" <unsigned>1</unsigned>{$eol}"); } break; case "text": case "clob": case "blob": if (isset($field["length"])) { $output(" <length>" . $field["length"] . "</length>{$eol}"); } break; case "boolean": case "date": case "timestamp": case "time": case "float": case "decimal": break; default: return "type \"" . $field["type"] . "\" is not yet supported"; } if (isset($field["notnull"])) { $output(" <notnull>1</notnull>{$eol}"); } if (isset($field["default"])) { $output(" <default>" . $this->EscapeSpecialCharacters($field["default"]) . "</default>{$eol}"); } $output(" </field>{$eol}"); } if (isset($this->database_definition["TABLES"][$table_name]["INDEXES"])) { $indexes = $this->database_definition["TABLES"][$table_name]["INDEXES"]; for (Reset($indexes), $index_number = 0; $index_number < count($indexes); $index_number++, Next($indexes)) { $index_name = Key($indexes); $index = $indexes[$index_name]; $output("{$eol} <index>{$eol} <name>{$index_name}</name>{$eol}"); if (isset($indexes[$index_name]["unique"])) { $output(" <unique>1</unique>{$eol}"); } for (Reset($index["FIELDS"]), $field_number = 0; $field_number < count($index["FIELDS"]); $field_number++, Next($index["FIELDS"])) { $field_name = Key($index["FIELDS"]); $field = $index["FIELDS"][$field_name]; $output(" <field>{$eol} <name>{$field_name}</name>{$eol}"); if (isset($field["sorting"])) { $output(" <sorting>" . $field["sorting"] . "</sorting>{$eol}"); } $output(" </field>{$eol}"); } $output(" </index>{$eol}"); } } $output("{$eol} </declaration>{$eol}"); if ($dump_definition) { if (isset($this->database_definition["TABLES"][$table_name]["initialization"])) { $output("{$eol} <initialization>{$eol}"); $instructions = $this->database_definition["TABLES"][$table_name]["initialization"]; for (Reset($instructions), $instruction = 0; $instruction < count($instructions); $instruction++, Next($instructions)) { switch ($instructions[$instruction]["type"]) { case "insert": $output("{$eol} <insert>{$eol}"); $fields = $instructions[$instruction]["FIELDS"]; for (Reset($fields), $field_number = 0; $field_number < count($fields); $field_number++, Next($fields)) { $field_name = Key($fields); $output("{$eol} <field>{$eol} <name>{$field_name}</name>{$eol} <value>" . $this->EscapeSpecialCharacters($fields[$field_name]) . "</value>{$eol} </field>{$eol}"); } $output("{$eol} </insert>{$eol}"); break; } } $output("{$eol} </initialization>{$eol}"); } } else { if (count($this->database_definition["TABLES"][$table_name]["FIELDS"]) == 0) { return "the definition of the table \"{$table_name}\" does not contain any fields"; } if (strcmp($error = $this->GetFields($table_name, $query_fields), "")) { return $error; } if ($support_summary_functions = MetabaseSupport($this->database, "SummaryFunctions")) { if (($result = MetabaseQuery($this->database, "SELECT COUNT(*) FROM {$table_name}")) == 0) { return MetabaseError($this->database); } $rows = MetabaseFetchResult($this->database, $result, 0, 0); MetabaseFreeResult($this->database, $result); } if (($result = MetabaseQuery($this->database, "SELECT {$query_fields} FROM {$table_name}")) == 0) { return MetabaseError($this->database); } if (!$support_summary_functions) { $rows = MetabaseNumberOfRows($this->database, $result); } if ($rows > 0) { $output("{$eol} <initialization>{$eol}"); for ($row = 0; $row < $rows; $row++) { $output("{$eol} <insert>{$eol}"); for (Reset($fields), $field_number = 0; $field_number < count($fields); $field_number++, Next($fields)) { $field_name = Key($fields); if (!MetabaseResultIsNull($this->database, $result, $row, $field_name)) { $field = $fields[$field_name]; $output("{$eol} <field>{$eol} <name>{$field_name}</name>{$eol} <value>"); switch ($field["type"]) { case "integer": case "text": $output($this->EscapeSpecialCharacters(MetabaseFetchResult($this->database, $result, $row, $field_name))); break; case "clob": if (!($lob = MetabaseFetchCLOBResult($this->database, $result, $row, $field_name))) { return MetabaseError($this->database); } while (!MetabaseEndOfLOB($lob)) { if (MetabaseReadLOB($lob, $data, 8000) < 0) { return MetabaseLOBError($lob); } $output($this->EscapeSpecialCharacters($data)); } MetabaseDestroyLOB($lob); break; case "blob": if (!($lob = MetabaseFetchBLOBResult($this->database, $result, $row, $field_name))) { return MetabaseError($this->database); } while (!MetabaseEndOfLOB($lob)) { if (MetabaseReadLOB($lob, $data, 8000) < 0) { return MetabaseLOBError($lob); } $output(bin2hex($data)); } MetabaseDestroyLOB($lob); break; case "float": $output($this->EscapeSpecialCharacters(MetabaseFetchFloatResult($this->database, $result, $row, $field_name))); break; case "decimal": $output($this->EscapeSpecialCharacters(MetabaseFetchDecimalResult($this->database, $result, $row, $field_name))); break; case "boolean": $output($this->EscapeSpecialCharacters(MetabaseFetchBooleanResult($this->database, $result, $row, $field_name))); break; case "date": $output($this->EscapeSpecialCharacters(MetabaseFetchDateResult($this->database, $result, $row, $field_name))); break; case "timestamp": $output($this->EscapeSpecialCharacters(MetabaseFetchTimestampResult($this->database, $result, $row, $field_name))); break; case "time": $output($this->EscapeSpecialCharacters(MetabaseFetchTimeResult($this->database, $result, $row, $field_name))); break; default: return "type \"" . $field["type"] . "\" is not yet supported"; } $output("</value>{$eol} </field>{$eol}"); } } $output("{$eol} </insert>{$eol}"); } $output("{$eol} </initialization>{$eol}"); } MetabaseFreeResult($this->database, $result); } $output("{$eol} </table>{$eol}"); if (isset($sequences[$table_name])) { for ($sequence = 0; $sequence < count($sequences[$table_name]); $sequence++) { if (!$this->DumpSequence($sequences[$table_name][$sequence], $output, $eol, $dump_definition)) { return MetabaseError($this->database); } } } } if (isset($sequences[""])) { for ($sequence = 0; $sequence < count($sequences[""]); $sequence++) { if (!$this->DumpSequence($sequences[""][$sequence], $output, $eol, $dump_definition)) { return MetabaseError($this->database); } } } $output("{$eol}</database>{$eol}"); if (strcmp($previous_database_name, "")) { MetabaseSetDatabase($this->database, $previous_database_name); } return $error; }
/** * auth::auth_validatelogin() * * validate login * * @access public * @since 2003-07-24 * @author Christian Ehret <*****@*****.**> * @return number user id */ function auth_validatelogin() { global $gDatabase2, $tbl_employee, $tbl_hotel, $uid, $firstname, $request, $sess, $smarty, $errorhandler; $auth_challenge = session_id(); $auth_username = $request->GetVar('username', 'post'); $auth_password = $request->GetVar('password', 'post'); $auth_response = $request->GetVar('response', 'post'); $this->auth["uname"] = $auth_username; ## This provides access for "loginform.ihtml" $query = sprintf("SELECT e.pk_employee_id, e.password, e.firstname, e.lastname, \n\t\t e.login, e.fk_hotel_id, h.database_schema, h.hotel_code \n\t\t\t\t\t\t FROM {$tbl_employee} e, {$tbl_hotel} h \n\t\t\t\t\t\t WHERE e.login = %s \n\t\t\t\t\t\t AND e.locked = %s \n\t\t\t\t\t\t AND ISNULL(deleted_date)\n\t\t\t\t\t\t AND e.fk_hotel_id = h.pk_hotel_id ", MetabaseGetTextFieldValue($gDatabase2, addslashes($auth_username)), MetabaseGetBooleanFieldValue($gDatabase2, false)); $result = MetabaseQuery($gDatabase2, $query); if (!$result) { $errorhandler->display('SQL', 'auth::auth_validatelogin()', $query); } else { if (MetabaseNumberOfRows($gDatabase2, $result) != 0) { if ($result) { $uid = MetabaseFetchResult($gDatabase2, $result, 0, 0); $pass = MetabaseFetchResult($gDatabase2, $result, 0, 1); ## Password is stored as a md5 hash $firstname = MetabaseFetchResult($gDatabase2, $result, 0, 2); $lastname = MetabaseFetchResult($gDatabase2, $result, 0, 3); $login = MetabaseFetchResult($gDatabase2, $result, 0, 4); $hotelid = MetabaseFetchResult($gDatabase2, $result, 0, 5); $schema = MetabaseFetchResult($gDatabase2, $result, 0, 6); $hotel_code = MetabaseFetchResult($gDatabase2, $result, 0, 7); } } } $exspected_response = md5("{$auth_username}:{$pass}:{$auth_challenge}"); // # True when JS is disabled if ($auth_response == "") { if (md5($auth_password) != $pass) { // # md5 hash for non-JavaScript browsers return false; } else { $sess->SetVar("firstname", $firstname); $sess->SetVar("lastname", $lastname); $sess->SetVar("login", $login); $sess->SetVar("uid", $uid); $sess->SetVar("authenticated", 'valid'); $sess->SetVar("hotelid", $hotelid); $sess->SetVar("schema", $schema); $sess->SetVar("hotel_code", $hotel_code); return $uid; } } // # Response is set, JS is enabled if ($exspected_response != $auth_response) { return false; } else { $sess->SetVar('firstname', $firstname); $sess->SetVar('lastname', $lastname); $sess->SetVar('login', $login); $sess->SetVar('uid', $uid); $sess->SetVar('authenticated', 'valid'); $sess->SetVar("hotelid", $hotelid); $sess->SetVar("schema", $schema); $sess->SetVar("hotel_code", $hotel_code); return $uid; } }
/** * Timetracker::getpresent() * * This function returns an array with all dates. * * @return array employees * @access public * @since 2004-11-02 * @author Christian Ehret <*****@*****.**> */ function getpresent() { global $gDatabase, $tbl_timetracker, $tbl_employee, $request, $errorhandler; $employees = array(); $query = "SELECT DATE_FORMAT(tt.start_date, '%d.%m.%Y %H:%i' ), e.lastname, e.firstname\n\t\t FROM {$tbl_timetracker} tt\n\t\t\t\t\t\t LEFT JOIN {$tbl_employee} e ON tt.fk_employee_id = e.pk_employee_id\n\t\t\t\t\t\t WHERE ISNULL(tt.end_date) AND ISNULL(tt.deleted_date)\n\t\t\t\t\t\t ORDER BY tt.start_date"; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Timetracker::getpresent()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $color = 0; if ($row % 2 != 0) { $color = 1; } $employees[$row] = array('start_date' => MetabaseFetchResult($gDatabase, $result, $row, 0), 'lastname' => MetabaseFetchResult($gDatabase, $result, $row, 1), 'firstname' => MetabaseFetchResult($gDatabase, $result, $row, 2), 'color' => $color); } } return $employees; }
/** * article::getone() * * get a article * * @param $articleid article id * @return array article * @access public * @since 2004-03-09 * @author Christian Ehret <*****@*****.**> */ function getone($articleid) { global $gDatabase, $tbl_article, $errorhandler, $request; $article = array(); $query = "SELECT pk_article_id, article, price_netto, price_brutto, mwst\n\t\t\t\t FROM {$tbl_article} \n\t\t\t\t WHERE pk_article_id = {$articleid} \n\t\t\t\t ORDER BY article "; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Article::getone()', $query); } else { $row = 0; $article = array('articleid' => MetabaseFetchResult($gDatabase, $result, $row, 0), 'article' => MetabaseFetchResult($gDatabase, $result, $row, 1), 'price_netto' => MetabaseFetchResult($gDatabase, $result, $row, 2), 'price_brutto' => MetabaseFetchResult($gDatabase, $result, $row, 3), 'mwst' => MetabaseFetchResult($gDatabase, $result, $row, 4)); } return $article; }
/** * DefaultData::´setfield() * * This function updates a given field and updates the session value * * @param number $id id of field * @param string $value value * @access public * @since 2003-08-01 * @author Christian Ehret <*****@*****.**> */ function setfield($id, $value) { global $tbl_default, $tbl_hotel_default, $gDatabase, $request, $sess, $errorhandler; $query = sprintf("SELECT fieldtype, default_name " . "FROM {$tbl_default} " . "WHERE pk_default_id = %s ", $id); $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'defaultdata::setfield()', $query); } else { $fieldname = MetabaseFetchResult($gDatabase, $result, 0, 1); if (MetabaseFetchResult($gDatabase, $result, 0, 0) == "int") { $field = "integer_value"; $inputvalue = MetabaseGetTextFieldValue($gDatabase, $value); } else { if (MetabaseFetchResult($gDatabase, $result, 0, 0) == "boolean") { $field = "boolean_value"; $inputvalue = MetabaseBooleanFieldValue($gDatabase, $value); } else { if (MetabaseFetchResult($gDatabase, $result, 0, 0) == "date") { $field = "datetime_value"; $inputvalue = MetabaseGetTextFieldValue($gDatabase, $value); } else { $field = "string_value"; $inputvalue = MetabaseGetTextFieldValue($gDatabase, $value); } } } $query = sprintf("SELECT updated_date " . "FROM {$tbl_hotel_default} " . "WHERE pk_fk_hotel_id = %s " . "AND pk_fk_default_id = %s ", $request->GetVar('hotelid', 'session'), $id); $result = MetabaseQuery($gDatabase, $query); $rows = MetabaseNumberOfRows($gDatabase, $result); if ($rows == 0) { $query = sprintf("INSERT INTO {$tbl_hotel_default} " . "(pk_fk_hotel_id, pk_fk_default_id, {$field}, " . "fk_inserted_user_id, inserted_date) " . "VALUES (%s, %s, %s, %s, NOW()) ", $request->GetVar('hotelid', 'session'), $id, $inputvalue, $request->GetVar('uid', 'session')); } else { $query = sprintf("UPDATE {$tbl_hotel_default} " . "SET {$field} = %s, " . "fk_updated_user_id = %s, " . "updated_date = NOW(), " . "WHERE pk_fk_hotel_id = %s " . "AND pk_fk_default_id = %s ", $inputvalue, $request->GetVar('uid', 'session'), $request->GetVar('hotelid', 'session'), $id); } $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'defaultdata::setfield()', $query); } else { $sess->SetVar($fieldname, $value); } } }
/** * Get the suggestions from the database and write to array */ function getSuggestions($prefix, &$arr) { global $gDatabase, $tbl_guest, $errorhandler; // firstly clean up the data //$o = $prefix; //setlocale (LC_ALL, 'de_DE'); // $prefix = ltrim(preg_replace("/^[[:alpha:]]+$/", '', strtolower($prefix))); $prefix = preg_replace('/\\s+/', ' ', strtolower($prefix)); if (strlen($prefix) > 0) { $query = sprintf("SELECT lastname, firstname FROM {$tbl_guest} \n\t\t\t\t\t WHERE lastname LIKE '%s%%' AND ISNULL(deleted_date)\n\t\t\t\t\t LIMIT %d", $prefix, $this->suggestion_limit); $result = MetabaseQuery($gDatabase, $query); if (!$result) { return; } else { for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $arr[$row] = array(MetabaseFetchResult($gDatabase, $result, $row, 0), MetabaseFetchResult($gDatabase, $result, $row, 1)); } } } }
/** * Statistics::getByDayAndHour() * * This function returns statistics of articles by day and hour. * * @param string $thestart start date * @param string $theend end date * @param int $id category * @param int $from from hour * @param int $till till hour * @return array statistic * @access public * @since 2004-12-10 * @author Christian Ehret <*****@*****.**> */ function getByDayAndHour($thestart, $theend, $id, $from = 0, $till = 23) { global $gDatabase, $tbl_bought, $tbl_bararticle, $request, $errorhandler; $statistic = array(); $query = "SELECT sum(num), sum( num * price ), DATE_FORMAT( timestamp, '%d.%m.%Y' ) AS DAY, DATE_FORMAT( timestamp, '%H' ) AS HOUR\n\t\t FROM {$tbl_bought} \n\t\t\t\t\t\t LEFT JOIN {$tbl_bararticle} ON {$tbl_bought}.fk_bararticle_id = {$tbl_bararticle}.pk_bararticle_id\n\t\t\t\t\t\t WHERE timestamp >= '{$thestart}'\n\t\t\t\t\t\t AND timestamp <= '{$theend}' "; if ($id != -1) { $query .= " AND {$tbl_bararticle}.fk_bararticlecat_id = {$id} "; } if (!($from == 0 && $till == 23)) { $query .= " AND ("; if ($from <= $till) { for ($i = $from; $i <= $till; $i++) { $query .= "DATE_FORMAT( timestamp, '%H' ) = {$i}"; if ($i != $till) { $query .= " OR "; } } } else { for ($i = $from; $i <= 23; $i++) { $query .= "DATE_FORMAT( timestamp, '%H' ) = {$i}"; $query .= " OR "; } for ($i = 0; $i <= $till; $i++) { $query .= "DATE_FORMAT( timestamp, '%H' ) = {$i}"; if ($i != $till) { $query .= " OR "; } } } $query .= ") "; } $query .= "\t\t GROUP BY DAY, HOUR\n\t\t\t\t\t\t ORDER BY HOUR "; $result = MetabaseQuery($gDatabase, $query); if (!$result) { $errorhandler->display('SQL', 'Statistics::get()', $query); } else { $row = 0; for ($row = 0; ($eor = MetabaseEndOfResult($gDatabase, $result)) == 0; ++$row) { $statistic[$row] = array('num' => MetabaseFetchResult($gDatabase, $result, $row, 0), 'price' => MetabaseFetchResult($gDatabase, $result, $row, 1), 'hour' => MetabaseFetchResult($gDatabase, $result, $row, 2), 'color' => $color); } } return $statistic; }