Пример #1
0
 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);
 }
Пример #2
0
 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);
 }
Пример #3
0
 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);
 }
Пример #5
0
 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();
 }
Пример #8
0
<?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);
Пример #9
0
</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&amp;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>
Пример #10
0
<?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>&nbsp;</p>
		
	<?php 
Пример #11
0
 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`)');
     }
 }