private function add_row_in_test_table($value, $id = 0) { $parameters = array('value' => $value); $query = 'INSERT INTO ' . $this->test_table . '('; if ($id > 0) { $query .= 'id, '; $parameters['id'] = $id; } $query .= 'value) VALUES ('; if ($id > 0) { $query .= ':id, '; } $query .= ':value)'; $this->querier->inject($query, $parameters); }
private function save_in_db() { $condition = 'WHERE user_id=:user_id'; $parameters = array('user_id' => $this->user_id); $columns = array('autoconnect_key' => $this->key); self::$querier->update(DB_TABLE_MEMBER, $columns, $condition, $parameters); }
private static function get_next_position($block) { $column = 'MAX(position) + 1 AS newPosition'; $condition = 'WHERE block=:block AND enabled=1'; $parameters = array('block' => $block); return (int) self::$querier->get_column_value(DB_TABLE_MENUS, $column, $condition, $parameters); }
private function update_failure_info($failure_id) { $columns = array('last_connection' => $this->last_connection_date, 'connection_attemps' => $this->connection_attempts); $condition = 'WHERE id=:id'; $parameters = array('id' => $failure_id); $this->querier->update(DB_TABLE_INTERNAL_AUTHENTICATION_FAILURES, $columns, $condition, $parameters); }
private function insert_smileys_data() { self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 1, 'code_smiley' => ':o', 'url_smiley' => 'wow.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 2, 'code_smiley' => ':whistle', 'url_smiley' => 'whistle.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 3, 'code_smiley' => ':)', 'url_smiley' => 'smile.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 4, 'code_smiley' => ':lol', 'url_smiley' => 'laugh.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 5, 'code_smiley' => ':p', 'url_smiley' => 'tongue.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 6, 'code_smiley' => ':(', 'url_smiley' => 'sad.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 7, 'code_smiley' => ';)', 'url_smiley' => 'wink.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 8, 'code_smiley' => ':what', 'url_smiley' => 'what.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 9, 'code_smiley' => ':D', 'url_smiley' => 'grin.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 10, 'code_smiley' => '^^', 'url_smiley' => 'happy.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 11, 'code_smiley' => ':|', 'url_smiley' => 'straight.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 12, 'code_smiley' => ':gne', 'url_smiley' => 'gne.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 13, 'code_smiley' => ':top', 'url_smiley' => 'top.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 14, 'code_smiley' => ':party', 'url_smiley' => 'party.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 15, 'code_smiley' => ':devil', 'url_smiley' => 'devil.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 16, 'code_smiley' => ':@', 'url_smiley' => 'angry.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 17, 'code_smiley' => ':\'(', 'url_smiley' => 'cry.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 18, 'code_smiley' => ':crazy', 'url_smiley' => 'crazy.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 19, 'code_smiley' => ':cool', 'url_smiley' => 'cool.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 20, 'code_smiley' => ':night', 'url_smiley' => 'night.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 21, 'code_smiley' => ':vomit', 'url_smiley' => 'vomit.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 22, 'code_smiley' => ':unhappy', 'url_smiley' => 'unhappy.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 23, 'code_smiley' => ':love', 'url_smiley' => 'love.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 24, 'code_smiley' => ':hum', 'url_smiley' => 'confused.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 25, 'code_smiley' => ':drool', 'url_smiley' => 'drooling.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 26, 'code_smiley' => ':cold', 'url_smiley' => 'cold.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 27, 'code_smiley' => ':hot', 'url_smiley' => 'hot.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 28, 'code_smiley' => ':hi', 'url_smiley' => 'hello.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 29, 'code_smiley' => ':bal', 'url_smiley' => 'balloon.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 30, 'code_smiley' => ':bomb', 'url_smiley' => 'bomb.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 31, 'code_smiley' => ':brokenheart', 'url_smiley' => 'brokenheart.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 32, 'code_smiley' => ':cake', 'url_smiley' => 'cake.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 33, 'code_smiley' => ':dead', 'url_smiley' => 'dead.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 34, 'code_smiley' => ':drink', 'url_smiley' => 'drink.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 35, 'code_smiley' => ':flower', 'url_smiley' => 'flower.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 36, 'code_smiley' => ':ghost', 'url_smiley' => 'ghost.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 37, 'code_smiley' => ':gift', 'url_smiley' => 'gift.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 38, 'code_smiley' => ':girly', 'url_smiley' => 'girly.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 39, 'code_smiley' => ':heart', 'url_smiley' => 'heart.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 40, 'code_smiley' => ':hug', 'url_smiley' => 'hug.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 41, 'code_smiley' => ':idea', 'url_smiley' => 'idea.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 42, 'code_smiley' => ':kiss', 'url_smiley' => 'kiss.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 43, 'code_smiley' => ':mail', 'url_smiley' => 'mail.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 44, 'code_smiley' => ':x', 'url_smiley' => 'mute.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 46, 'code_smiley' => ':nerd', 'url_smiley' => 'nerd.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 47, 'code_smiley' => ':sick', 'url_smiley' => 'sick.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 48, 'code_smiley' => ':boring', 'url_smiley' => 'boring.png')); self::$db_querier->insert(self::$smileys_table, array('idsmiley' => 49, 'code_smiley' => ':zombie', 'url_smiley' => 'zombie.png')); }
/** * {@inheritDoc} */ public function authenticate() { $data = $this->get_fb_user_data(); $fb_id = $data['id']; try { $condition = 'WHERE method=:method AND identifier=:identifier'; $parameters = array('method' => self::AUTHENTICATION_METHOD, 'identifier' => $fb_id); return $this->querier->get_column_value(DB_TABLE_AUTHENTICATION_METHOD, 'user_id', $condition, $parameters); } catch (RowNotFoundException $e) { $email_exists = $this->querier->row_exists(DB_TABLE_MEMBER, 'WHERE email=:email', array('email' => $data['email'])); if ($email_exists) { $this->error_msg = LangLoader::get_message('external-auth.account-exists', 'user-common'); } else { $user = new User(); $user->set_display_name(utf8_decode($data['name'])); $user->set_level(User::MEMBER_LEVEL); $user->set_email($data['email']); $auth_method = new FacebookAuthenticationMethod(); $fields_data = array('user_avatar' => 'https://graph.facebook.com/' . $fb_id . '/picture'); return UserService::create($user, $auth_method, $fields_data); } } }
/** * @desc Deletes a category and items. * @param int $id Id of the category to delete. */ public function delete($id) { if (!$this->get_categories_cache()->category_exists($id) || $id == Category::ROOT_CATEGORY) { throw new CategoryNotFoundException($id); } $category = $this->get_categories_cache()->get_category($id); $this->db_querier->delete($this->table_name, 'WHERE id=:id', array('id' => $id)); //Delete items $this->db_querier->delete($this->categories_items_parameters->get_table_name_contains_items(), 'WHERE ' . $this->categories_items_parameters->get_field_name_id_category() . '=:id_category', array('id_category' => $id)); $result = PersistenceContext::get_querier()->select_rows($this->table_name, array('id', 'c_order'), 'WHERE id_parent=:id_parent AND c_order > :order', array('id_parent' => $category->get_id_parent(), 'order' => $category->get_order())); while ($row = $result->fetch()) { $this->db_querier->update($this->table_name, array('c_order' => $row['c_order'] - 1), 'WHERE id=:id', array('id' => $row['id'])); } $this->regenerate_cache(); }
<?php require_once "DBQuerier.inc.php"; // If someone tries to load the page without sending XML through the form, tell them to use that if (!$_POST['xml']) { die("Can't find any input. Are you using the <a href=\"queries.php\">queries form</a>?"); } // Get the XML string and use it in a DOM Document $xml_str = $_POST['xml']; $dom = new DOMDocument('1.0', 'iso-8859-1'); $dom->loadXML($xml_str); // Check if that worked if (!$dom) { die("Oops... Something went wrong when receiving the data."); } // Validate the XML-DOM with the obs.xsd schema //if (!$dom->schemaValidate('obs.xsd')) { // die ("Oops... Something went wrong when parsing the data."); //} // If that went well, get values from the XML $id = $dom->getElementsByTagName('obs_by_id')->item(0)->nodeValue; $dbquerier = new DBQuerier(); $dbquerier->getObsById($id);
</div> <div id="sidebar"> <h2>Current status</h2> <p>Working on cross site forms</p> <p> <?php require_once "DBQuerier.inc.php"; $dbquerier = new DBQuerier(); echo $dbquerier->getCountConfirmedObs(); ?> confirmed observations</p> <h2>Interesting links</h2> <ul> <li><a href="http://www.imo.net">IMO</a></li> <li><a href="http://www.rssd.esa.int/index.php?project=METEOR&page=vmo">ESA Virtual Meteor Observatory</a></li> </ul> <h2>Contact the developer</h2> <ul> <li><a href="mailto:nassia@gmail.com?subject=VFO">E-mail</a></li> </ul>
<?php include "header.inc.php"; include "navigation.inc.php"; require_once "DBQuerier.inc.php"; echo "<h1>Query the database</h1>"; try { $dbquerier = new DBQuerier(); echo "<p>Ask about events in our database! Currently, there are " . $dbquerier->getCountConfirmedObs() . " confirmed observations.<p>"; ?> <form name="query_form" action="queries.php" method="GET"> <div id="query_form"> <h2>View an observation</h2> <fieldset> <label for="obs_by_id">by ID: </label> <?php $dbquerier->getObsIdsDropdown(); ?> <br/> <label for="obs_by_name">by Name: </label> <input type="text" maxlength="50" class="report_form_text" id="obs_by_name" name="obs_by_name" size="20" value="" /> <br/> </fieldset> <input type="submit" id="query_submit_button" value="Query" /> </div> </form> <p> </p> <?php
private function update_kernel_tables() { // Création des nouvelles tables pour l'authentification $tables = self::$db_utils->list_tables(true); // Modification de la table member $columns = self::$db_utils->desc_table(PREFIX . 'member'); if (!in_array(PREFIX . 'authentication_method', $tables) || isset($columns['login'])) { self::$db_utils->drop(array(PREFIX . 'authentication_method')); $fields = array('user_id' => array('type' => 'integer', 'length' => 11, 'notnull' => 1), 'method' => array('type' => 'string', 'length' => 32, 'default' => "''"), 'identifier' => array('type' => 'string', 'length' => 128, 'default' => "''"), 'data' => array('type' => 'text', 'length' => 65000)); $options = array('indexes' => array('method' => array('type' => 'unique', 'fields' => array('method', 'identifier')))); self::$db_utils->create_table(PREFIX . 'authentication_method', $fields, $options); } if (!in_array(PREFIX . 'internal_authentication', $tables) || isset($columns['login'])) { self::$db_utils->drop(array(PREFIX . 'internal_authentication')); $fields = array('user_id' => array('type' => 'integer', 'length' => 11, 'autoincrement' => true, 'notnull' => 1), 'login' => array('type' => 'string', 'length' => 255, 'default' => "''"), 'password' => array('type' => 'string', 'length' => 64, 'default' => "''"), 'registration_pass' => array('type' => 'string', 'length' => 30, 'notnull' => 1, 'default' => 0), 'change_password_pass' => array('type' => 'string', 'length' => 64, 'notnull' => 1, 'default' => "''"), 'connection_attemps' => array('type' => 'boolean', 'length' => 4, 'notnull' => 1, 'default' => 0), 'last_connection' => array('type' => 'integer', 'length' => 11, 'notnull' => 1, 'default' => 0), 'approved' => array('type' => 'boolean', 'length' => 1, 'notnull' => 1, 'default' => 0)); $options = array('primary' => array('user_id'), 'indexes' => array('login' => array('type' => 'unique', 'fields' => 'login'))); self::$db_utils->create_table(PREFIX . 'internal_authentication', $fields, $options); } if (!in_array(PREFIX . 'internal_authentication_failures', $tables) || isset($columns['login'])) { self::$db_utils->drop(array(PREFIX . 'internal_authentication_failures')); $fields = array('id' => array('type' => 'integer', 'length' => 11, 'autoincrement' => true, 'notnull' => 1), 'session_id' => array('type' => 'string', 'length' => 64, 'default' => "''"), 'login' => array('type' => 'string', 'length' => 255, 'default' => "''"), 'connection_attemps' => array('type' => 'boolean', 'length' => 4, 'notnull' => 1, 'default' => 0), 'last_connection' => array('type' => 'integer', 'length' => 11, 'notnull' => 1, 'default' => 0)); $options = array('primary' => array('id'), 'indexes' => array('session_id' => array('type' => 'key', 'fields' => 'session_id'))); self::$db_utils->create_table(PREFIX . 'internal_authentication_failures', $fields, $options); } // Insertions des mots de passe des membres actuels dans la nouvelle table if (isset($columns['login'])) { $result = self::$db_querier->select_rows(PREFIX . 'member', array('user_id', 'login', 'password', 'approbation_pass', 'change_password_pass', 'last_connect', 'user_aprob')); while ($row = $result->fetch()) { self::$db_querier->insert(PREFIX . 'authentication_method', array('user_id' => $row['user_id'], 'method' => PHPBoostAuthenticationMethod::AUTHENTICATION_METHOD, 'identifier' => $row['user_id'])); self::$db_querier->insert(PREFIX . 'internal_authentication', array('user_id' => $row['user_id'], 'login' => $row['login'], 'password' => $row['password'], 'registration_pass' => $row['approbation_pass'], 'change_password_pass' => $row['change_password_pass'], 'connection_attemps' => 0, 'last_connection' => $row['last_connect'], 'approved' => $row['user_aprob'])); } $result->dispose(); } $rows_change = array('login' => 'display_name VARCHAR(255)', 'timestamp' => 'registration_date INT(11)', 'user_groups' => 'groups TEXT', 'user_lang' => 'locale VARCHAR(25)', 'user_theme' => 'theme VARCHAR(50)', 'user_mail' => 'email VARCHAR(50)', 'user_show_mail' => 'show_email INT(4)', 'user_editor' => 'editor VARCHAR(15)', 'user_timezone' => 'timezone VARCHAR(50)', 'user_msg' => 'posted_msg INT(6)', 'user_pm' => 'unread_pm INT(6)', 'user_warning' => 'warning_percentage INT(6)', 'user_readonly' => 'delay_readonly INT(11)', 'user_ban' => 'delay_banned INT(11)', 'last_connect' => 'last_connection_date INT(11)'); foreach ($rows_change as $old_name => $new_name) { if (isset($columns[$old_name])) { self::$db_querier->inject('ALTER TABLE ' . PREFIX . 'member CHANGE ' . $old_name . ' ' . $new_name); } } if (isset($columns['password'])) { self::$db_utils->drop_column(PREFIX . 'member', 'password'); } if (isset($columns['test_connect'])) { self::$db_utils->drop_column(PREFIX . 'member', 'test_connect'); } if (isset($columns['approbation_pass'])) { self::$db_utils->drop_column(PREFIX . 'member', 'approbation_pass'); } if (isset($columns['change_password_pass'])) { self::$db_utils->drop_column(PREFIX . 'member', 'change_password_pass'); } if (isset($columns['user_aprob'])) { self::$db_utils->drop_column(PREFIX . 'member', 'user_aprob'); } if (!isset($columns['autoconnect_key'])) { self::$db_utils->add_column(PREFIX . 'member', 'autoconnect_key', array('type' => 'string', 'length' => 64, 'default' => "''")); } if (isset($columns['login'])) { self::$db_querier->inject('ALTER TABLE ' . PREFIX . 'member DROP KEY `user_id`'); } if (isset($columns['display_name']) && !$columns['display_name']['key'] || !isset($columns['display_name'])) { self::$db_querier->inject('ALTER TABLE ' . PREFIX . 'member ADD UNIQUE KEY `display_name` (`display_name`)'); } if (isset($columns['email']) && !$columns['email']['key'] || !isset($columns['email'])) { self::$db_querier->inject('ALTER TABLE ' . PREFIX . 'member ADD UNIQUE KEY `email` (`email`)'); } // Modification des tables extended fields $columns = self::$db_utils->desc_table(PREFIX . 'member_extended_fields'); if (!isset($columns['user_pmtomail'])) { self::$db_utils->add_column(PREFIX . 'member_extended_fields', 'user_pmtomail', array('type' => 'text', 'notnull' => 1)); self::$db_querier->insert(PREFIX . 'member_extended_fields_list', array('position' => 1, 'name' => LangLoader::get_message('type.user_pmtomail', 'admin-user-common'), 'field_name' => 'user_pmtomail', 'description' => '', 'field_type' => 'MemberUserPMToMailExtendedField', 'possible_values' => 's:0:"";', 'default_value' => '', 'required' => 0, 'display' => 0, 'regex' => 0, 'freeze' => 1, 'auth' => serialize(array('r-1' => 2, 'r0' => 2, 'r1' => 3)))); } // Modification de la table sessions $columns = self::$db_utils->desc_table(PREFIX . 'sessions'); $rows_change = array('session_ip' => 'ip VARCHAR(64)', 'session_time' => 'timestamp INT(11)', 'session_script' => 'location_script VARCHAR(100)', 'session_script_title' => 'location_title VARCHAR(100)', 'modules_parameters' => 'cached_data TEXT'); foreach ($rows_change as $old_name => $new_name) { if (isset($columns[$old_name])) { self::$db_querier->inject('ALTER TABLE ' . PREFIX . 'sessions CHANGE ' . $old_name . ' ' . $new_name); } } if (isset($columns['level'])) { self::$db_utils->drop_column(PREFIX . 'sessions', 'level'); } if (isset($columns['session_script_get'])) { self::$db_utils->drop_column(PREFIX . 'sessions', 'session_script_get'); } if (isset($columns['session_flag'])) { self::$db_utils->drop_column(PREFIX . 'sessions', 'session_flag'); } if (isset($columns['user_theme'])) { self::$db_utils->drop_column(PREFIX . 'sessions', 'user_theme'); } if (isset($columns['user_lang'])) { self::$db_utils->drop_column(PREFIX . 'sessions', 'user_lang'); } if (!isset($columns['data'])) { self::$db_utils->add_column(PREFIX . 'sessions', 'data', array('type' => 'text', 'length' => 65000)); } self::$db_querier->inject('ALTER TABLE ' . PREFIX . 'sessions DROP KEY `user_id`'); self::$db_querier->inject('ALTER TABLE ' . PREFIX . 'sessions ADD KEY `user_id` (`user_id`)'); if (isset($columns['timestamp']) && !$columns['timestamp']['key'] || !isset($columns['timestamp'])) { self::$db_querier->inject('ALTER TABLE ' . PREFIX . 'sessions ADD KEY `timestamp` (`timestamp`)'); } }