/** * Determines what stage of the checkout process the user has reached. * * Possible statuses: * - 'no-shopping-basket' * - 'accounts' * - 'shipping-details' * - 'checkout-error' */ public function get_checkout_status() { // accounts >> shipping-details >> payment-options // // if not logged_in then return accounts // // if you are logged and you haven't confirmed shipping-details then return shipping-details // // if you are logged and you have confirmed shippin-details then return payment-options // $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $shopping_baskets_table = $database->get_table('hpi_shop_shopping_baskets'); $current_session_has_shopping_basket = $shopping_baskets_table->check_for_current_session_in_shopping_baskets(); if (!$current_session_has_shopping_basket) { return 'no-shopping-basket'; } $log_in_manager = Shop_LogInManager::get_instance(); if (!$log_in_manager->is_logged_in()) { return 'accounts'; } elseif ($log_in_manager->is_logged_in()) { if (!$this->are_shipping_details_confirmed()) { return 'shipping-details'; } elseif ($this->are_shipping_details_confirmed()) { return 'payment-options'; } } return 'checkout-error'; }
public function get_table() { $muf = Database_MySQLUserFactory::get_instance(); $mu = $muf->get_for_this_project(); $database = $mu->get_database(); return $database->get_table($this->get_table_name()); }
/** * DEPRECATED! * * Use DB::m() instead. */ public function get_dbh() { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $dbh = $database->get_database_handle(); return $dbh; }
public function log() { #echo "Logging...\n"; $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $server_logs_table = $database->get_table('hc_logging_server_logs'); $server_logs_table->add_log_entry($_SERVER['REMOTE_ADDR'], session_id(), 'NOW()', $_SERVER['REQUEST_URI'], $_SERVER['HTTP_REFERER'], $_SERVER['HTTP_USER_AGENT'], $_SERVER['HTTP_HOST']); }
public function __construct($table_name) { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $table = $database->get_table($table_name); $form_name = $table_name . '_adding'; parent::__construct($table, $form_name); }
public static function test_get_database_class_returns_database_reflection_class() { $database_class_factory = Database_DatabaseClassFactory::get_instance(); $database_class = $database_class_factory->get_database_class(); $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $passwords_file = $mysql_user->get_password_file(); $database_object = $database_class->newInstance($mysql_user, $passwords_file->get_database()); return is_a($database_object, 'Database_Database'); }
public static function get_img($image_id) { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $images_table = $database->get_table('hc_database_images'); $image_row = $images_table->get_row_by_id($image_id); $image_renderer = $image_row->get_renderer(); $img = $image_renderer->get_img_in_public_images(); return $img; }
public function get_photograph_adding_form($photograph_adding_action, $cancel_location) { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $photographs_table = $database->get_table('hpi_shop_photographs'); $photograph_adding_form = new HTMLTags_SimpleOLForm('photograph_adding'); $photograph_adding_form->set_attribute_str('enctype', 'multipart/form-data'); #$photograph_adding_action->set_get_variable('table', $photographs_table->get_name()); $photograph_adding_form->set_action($photograph_adding_action); $photograph_adding_form->set_legend_text('Add a photograph'); /* * The name */ $name_field = $photographs_table->get_field('name'); $name_field_renderer = $name_field->get_renderer(); $input_tag = $name_field_renderer->get_form_input(); $input_tag->set_attribute_str('id', 'name'); $photograph_adding_form->add_input_tag('name', $input_tag); /* THE FULL SIZE IMAGE UPLOAD */ $full_size_image_file_input_tag = new HTMLTags_Input(); $full_size_image_file_input_tag_name = 'display_photograph_file[]'; $full_size_image_file_input_tag->set_attribute_str('type', 'file'); $full_size_image_file_input_tag->set_attribute_str('id', $full_size_image_file_input_tag_name); $full_size_image_file_input_tag->set_attribute_str('name', $full_size_image_file_input_tag_name); $photograph_adding_form->add_input_tag($full_size_image_file_input_tag_name, $full_size_image_file_input_tag, 'Full Size File'); /* THE MEDIUM SIZE IMAGE UPLOAD */ $medium_size_image_file_input_tag = new HTMLTags_Input(); $medium_size_image_file_input_tag_name = 'medium_photograph_file[]'; $medium_size_image_file_input_tag->set_attribute_str('type', 'file'); $medium_size_image_file_input_tag->set_attribute_str('id', $medium_size_image_file_input_tag_name); $medium_size_image_file_input_tag->set_attribute_str('name', $medium_size_image_file_input_tag_name); $photograph_adding_form->add_input_tag($medium_size_image_file_input_tag_name, $medium_size_image_file_input_tag, 'Medium Size File'); /* THE THUMBNAIL IMAGE UPLOAD */ $thumbnail_image_file_input_tag = new HTMLTags_Input(); $thumbnail_image_file_input_tag_name = 'thumbnail_photograph_file[]'; $thumbnail_image_file_input_tag->set_attribute_str('type', 'file'); $thumbnail_image_file_input_tag->set_attribute_str('id', $thumbnail_image_file_input_tag_name); $thumbnail_image_file_input_tag->set_attribute_str('name', $thumbnail_image_file_input_tag_name); $photograph_adding_form->add_input_tag($thumbnail_image_file_input_tag_name, $thumbnail_image_file_input_tag, 'Thumbnail File'); $photograph_adding_form->add_hidden_input('MAX_FILE_SIZE', '1000000'); /* * The add button. */ $photograph_adding_form->set_submit_text('Add'); $photograph_adding_form->set_cancel_location($cancel_location); return $photograph_adding_form; }
public static function process_photographs() { #echo __METHOD__ . "\n"; $tsm_cm = Configuration_ConfigManagerHelper::get_config_manager('plug-ins', 'trackit-stock-management'); /* * Create the database objects. */ $muf = Database_MySQLUserFactory::get_instance(); $mu = $muf->get_for_this_project(); $database = $mu->get_database(); $feed_files_table = $database->get_table('hpi_trackit_stock_management_feed_files'); /* * Get the list of photographs to process. */ $ps = $feed_files_table->get_photographs_to_process(); $cache_dir_name = $tsm_cm->get_cache_dir_name(); $resized_photos_temporary_dir_name = $tsm_cm->get_resized_photos_temporary_dir_name(); if (!is_dir($resized_photos_temporary_dir_name)) { system("mkdir -p {$resized_photos_temporary_dir_name}"); } /* * Resize them. */ foreach ($ps as $p) { $cache_file_name = "{$cache_dir_name}/" . $p->get('name'); #echo "\$cache_file_name: $cache_file_name\n"; $sizes = $tsm_cm->get_photograph_sizes(); for ($i = 0; $i < count($sizes); $i++) { /* * Resize the image in the temporary dir. */ $sizes[$i]['tmp_file_name'] = "{$resized_photos_temporary_dir_name}/" . $sizes[$i]['name'] . '_' . $p->get('name'); $cmd = 'cp "' . $cache_file_name . '" "' . $sizes[$i]['tmp_file_name'] . '"'; #echo "\$cmd: $cmd\n"; system($cmd); $cmd = 'mogrify ' . ' -resize ' . $sizes[$i]['x'] . 'x' . $sizes[$i]['y'] . ' ' . '"' . $sizes[$i]['tmp_file_name'] . '"'; #echo "\$cmd: $cmd\n"; system($cmd); } $feed_files_table->record_process($p->get('name')); } }
public function get_selection_manager($table_name) { #print_r($this->selection_managers); if (!isset($this->selection_managers[$table_name])) { #print_r($this->selection_managers_file); $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $table = $database->get_table($table_name); if (isset($this->selection_managers_file) && $this->selection_managers_file->has_selection_manager($table_name)) { $selection_manager_filename = $this->selection_managers_file->get_selection_manager_filename($table_name); #echo "\$selection_manager_filename: $selection_manager_filename\n"; $selection_manager_file = new FileSystem_PHPClassFile($selection_manager_filename); $selection_manager_file->declare_class(); $selection_manager_reflection_class = new ReflectionClass($selection_manager_file->get_php_class_name()); $this->selection_managers[$table_name] = $selection_manager_reflection_class->newInstance($table); } else { #echo "Using default selection manager for $table_name\n"; $this->selection_managers[$table_name] = $this->default_selection_manager_reflection_class->newInstance($table); } } return $this->selection_managers[$table_name]; }
<?php /** * The redirect script for the shopping basket page. * * @copyright Clear Line Web Design, 2007-08-02 */ $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $shopping_baskets_table = $database->get_table('hpi_shop_shopping_baskets'); /* * Set the default return to page. */ // ADD PRODUCT if (isset($_GET['add_product_id']) && isset($_GET['add_product_quantity'])) { //try { $product_id = $_GET['add_product_id']; $quantity = $_GET['add_product_quantity']; $session_id = session_id(); $last_added_id = $shopping_baskets_table->add_shopping_basket($product_id, $session_id, $quantity); #$return_to .= '&last_added_shopping_basket_id=' . $last_added_id; //} catch (Exception $e) { // print_r(session_id()); // print('Failed to add Product to your Shopping Basket!'); //} } elseif (isset($_GET['edit_shopping_basket_id'])) { $shopping_baskets_table->edit_shopping_basket($_GET['edit_shopping_basket_id'], $_POST['quantity']); $return_to .= '&last_edited_shopping_basket_id=' . $_GET['edit_shopping_basket_id']; } elseif (isset($_GET['delete_shopping_basket_id'])) { $row_to_be_deleted = $shopping_baskets_table->get_row_by_id($_GET['delete_shopping_basket_id']);
public function get_users_table() { $muf = Database_MySQLUserFactory::get_instance(); $mu = $muf->get_for_this_project(); $database = $mu->get_database(); $admin_users_table = $database->get_table('hc_admin_users'); return $admin_users_table; }
public function delete_where($conditions) { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $dbh = $mysql_user->get_database_handle(); $statement = 'DELETE FROM ' . $this->get_name(); if (isset($conditions)) { #$statement .= self::condtions_to_where_clause($conditions); $statement .= $this->condtions_to_where_clause($conditions); } #echo $statement; $rv = mysql_query($statement, $dbh); if ($rv) { return $rv; } else { throw new Database_MySQLException($dbh); } }
public function __construct() { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $this->database = $mysql_user->get_database(); }
public function get_mysql_user() { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); return $mysql_user_factory->get_for_this_project(); }
public function get_comment_adding_form() { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $comments_table = $database->get_table('hpi_shop_comments'); $commenters_table = $database->get_table('hpi_shop_commenters'); $redirect_script_url = new HTMLTags_URL(); $redirect_script_url->set_file('/admin/redirect-script.php'); $redirect_script_url->set_get_variable('type', 'redirect-script'); $redirect_script_url->set_get_variable('module', 'shop'); $redirect_script_url->set_get_variable('page', 'comments'); $cancel_location = new HTMLTags_URL(); $cancel_location->set_file('/admin/shop/comments.html'); $comment_adding_form = new HTMLTags_SimpleOLForm('comment_adding'); $comment_adding_action = clone $redirect_script_url; $comment_adding_action->set_get_variable('add_comment'); $comment_adding_form->set_action($comment_adding_action); $comment_adding_form->set_legend_text('Add a comment'); #Added Status Front Page Name Comment /* * The name */ $name_field = $commenters_table->get_field('name'); $name_field_renderer = $name_field->get_renderer(); $input_tag = $name_field_renderer->get_form_input(); $input_tag->set_attribute_str('id', 'name'); $comment_adding_form->add_input_tag('name', $input_tag); /* * The email */ $email_field = $commenters_table->get_field('email'); $email_field_renderer = $email_field->get_renderer(); $input_tag = $email_field_renderer->get_form_input(); $input_tag->set_attribute_str('id', 'email'); $comment_adding_form->add_input_tag('email', $input_tag); /* * The homepage_title */ $homepage_title_field = $commenters_table->get_field('homepage_title'); $homepage_title_field_renderer = $homepage_title_field->get_renderer(); $input_tag = $homepage_title_field_renderer->get_form_input(); $input_tag->set_attribute_str('id', 'homepage_title'); $comment_adding_form->add_input_tag('homepage_title', $input_tag); /* * The url */ $url_field = $commenters_table->get_field('url'); $url_field_renderer = $url_field->get_renderer(); $input_tag = $url_field_renderer->get_form_input(); $input_tag->set_attribute_str('id', 'url'); $comment_adding_form->add_input_tag('url', $input_tag, 'URL'); /* * The comment */ $comment_field = $comments_table->get_field('comment'); $comment_field_renderer = $comment_field->get_renderer(); $input_tag = $comment_field_renderer->get_form_input(); $input_tag->set_attribute_str('id', 'comment'); $comment_adding_form->add_input_tag('comment', $input_tag); /* * The status enum */ $status_field = $comments_table->get_field('status'); $status_field_renderer = $status_field->get_renderer(); $input_tag = $status_field_renderer->get_form_input(); $input_tag->set_attribute_str('id', 'status'); $comment_adding_form->add_input_tag('status', $input_tag); /* * The front_page enum */ $front_page_field = $comments_table->get_field('front_page'); $front_page_field_renderer = $front_page_field->get_renderer(); $input_tag = $front_page_field_renderer->get_form_input(); $input_tag->set_attribute_str('id', 'front_page'); $comment_adding_form->add_input_tag('front_page', $input_tag); /* * The update button. */ $comment_adding_form->set_submit_text('Add'); $comment_adding_form->set_cancel_location($cancel_location); return $comment_adding_form; }
$tsm_cm = Configuration_ConfigManagerHelper::get_config_manager('plug-ins', 'trackit-stock-management'); if ($debug) { CodeAnalysis_MemoryHelper::cli_print_memory_usage('Created config manager'); } /* * Find out if there is an instance of this file already running. */ $process_stock_text_files_lock_file = TrackitStockManagement_FeedFilesHelper::get_process_stock_text_files_lock_file(); if ($process_stock_text_files_lock_file->is_locked()) { throw new Exception('The process-stock-files script is locked!'); } else { $process_stock_text_files_lock_file->lock(); /* * Create the database objects. */ $muf = Database_MySQLUserFactory::get_instance(); $mu = $muf->get_for_this_project(); $database = $mu->get_database(); if ($debug) { CodeAnalysis_MemoryHelper::cli_print_memory_usage('Created database objects'); } $dbh = $database->get_database_handle(); $feed_files_table = $database->get_table('hpi_trackit_stock_management_feed_files'); if ($debug) { CodeAnalysis_MemoryHelper::cli_print_memory_usage('Created db table objects'); } /* * Get the list of stock files to process. */ $fs = $feed_files_table->get_stock_text_files_to_process(); if ($debug) {
public function render_body_div_content() { /* * Get the database objects. */ $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $products_table = $database->get_table('hpi_shop_products'); $table_renderer = $products_table->get_renderer(); $page_manager = PublicHTML_PageManager::get_instance(); $gvm = Caching_GlobalVarManager::get_instance(); /* * Assemble the HTML */ $content_div = new HTMLTags_Div(); $content_div->set_attribute_str('id', 'content'); /* * Cloned repeatedly throughout. */ #$current_page_url = $gvm->get('current_page_admin_url'); #$redirect_script_url = $gvm->get('redirect_script_admin_url'); $current_page_url = new HTMLTags_URL(); $current_page_url->set_file('/haddock/public-html/public-html/index.php'); $current_page_url->set_get_variable('oo-page'); $current_page_url->set_get_variable('page-class', 'Shop_AdminProductsPage'); $redirect_script_url = Admin_AdminIncluderURLFactory::get_url('plug-ins', 'shop', 'products', 'redirect-script'); $cancel_href = $current_page_url; ######################################################################## # # Forms for changing the contents of the database. # ######################################################################## if (isset($_GET['delete_all'])) { /** * Confirm deleting all the rows in the table. */ $action_div = new HTMLTags_Div(); $action_div->set_attribute_str('id', 'action-div'); $question_delete_all_p = new HTMLTags_P('Are you sure that you want to delete all of the products?'); $action_div->append_tag_to_content($question_delete_all_p); $confirm_delete_all_p = new HTMLTags_P(); $delete_all_href = clone $redirect_script_url; $delete_all_href->set_get_variable('delete_all'); $delete_all_a = new HTMLTags_A('DELETE ALL'); $delete_all_a->set_attribute_str('class', 'cool_button'); $delete_all_a->set_attribute_str('id', 'inline'); $delete_all_a->set_href($delete_all_href); $confirm_delete_all_p->append_tag_to_content($delete_all_a); $confirm_delete_all_p->append_str_to_content(' '); $cancel_a = new HTMLTags_A('Cancel'); $cancel_a->set_attribute_str('class', 'cool_button'); $cancel_a->set_attribute_str('id', 'inline'); $cancel_a->set_href($cancel_href); $confirm_delete_all_p->append_tag_to_content($cancel_a); $action_div->append_tag_to_content($confirm_delete_all_p); $content_div->append_tag_to_content($action_div); } elseif (isset($_GET['delete_id'])) { /** * Confirm deleting a row. */ $row = $products_table->get_row_by_id($_GET['delete_id']); $question_p = new HTMLTags_P(); $question_p->set_attribute_str('class', 'question'); $question_p->append_str_to_content('Are you sure that you want to delete this row?'); $content_div->append_tag_to_content($question_p); /** * Show the user the data in the row. */ $row_renderer = $row->get_renderer(); $content_div->append_tag_to_content($row_renderer->get_all_data_html_table()); # ------------------------------------------------------------------ $answer_p = new HTMLTags_P(); $answer_p->set_attribute_str('class', 'answer'); $delete_link = new HTMLTags_A('DELETE'); $delete_href = clone $redirect_script_url; $delete_href->set_get_variable('delete_id', $row->get_id()); $delete_link->set_href($delete_href); $delete_link->set_attribute_str('class', 'cool_button'); $delete_link->set_attribute_str('id', 'inline'); $answer_p->append_tag_to_content($delete_link); $cancel_link = new HTMLTags_A('Cancel'); $cancel_link->set_href($cancel_href); $cancel_link->set_attribute_str('class', 'cool_button'); $cancel_link->set_attribute_str('id', 'inline'); $answer_p->append_tag_to_content($cancel_link); $content_div->append_tag_to_content($answer_p); } elseif (isset($_GET['edit_id'])) { /* * Edit the values of this product. */ $row_editing_url = clone $redirect_script_url; $row_editing_url->set_get_variable('edit_id', $_GET['edit_id']); $product_row = $products_table->get_row_by_id($_GET['edit_id']); $row_editing_url->set_get_variable('plu_code', $product_row->get_plu_code()); $product_row_renderer = $product_row->get_renderer(); $row_editing_form = $product_row_renderer->get_product_editing_form($row_editing_url, $cancel_href); $content_div->append_tag_to_content($row_editing_form); $explanation_div = new HTMLTags_Div(); $explanation_text = <<<TXT Some other links to edit forms: TXT; $explanation_div->append_tag_to_content(new HTMLTags_P($explanation_text)); $explanation_links_ul = new HTMLTags_UL(); #$explanation_link_li_1 = new HTMLTags_LI(); #$explanation_link_a = new HTMLTags_A('Add a new photograph...'); # #$explanation_link_href = clone $current_page_url; # #$explanation_link_href->set_get_variable('admin-page', 'photographs'); #$explanation_link_href->set_get_variable('add_row', '1'); #$explanation_link_a->set_href($explanation_link_href); # #$explanation_link_li_1->append_tag_to_content($explanation_link_a); #$explanation_links_ul->append_tag_to_content($explanation_link_li_1); $explanation_link_li_2 = new HTMLTags_LI(); $explanation_link_a = new HTMLTags_A('Edit all the tags for this product...'); $explanation_link_href = clone $current_page_url; $explanation_link_href->set_get_variable('edit_tags', '1'); $explanation_link_href->set_get_variable('product_id', $_GET['edit_id']); $explanation_link_a->set_href($explanation_link_href); $explanation_link_li_2->append_tag_to_content($explanation_link_a); $explanation_links_ul->append_tag_to_content($explanation_link_li_2); $explanation_div->append_tag_to_content($explanation_links_ul); $content_div->append_tag_to_content($explanation_div); } elseif (isset($_GET['add_row'])) { /** * Row Adding. */ $row_adding_url = clone $redirect_script_url; $row_adding_url->set_get_variable('add_row'); $row_adding_form = $table_renderer->get_product_adding_form($row_adding_url, $cancel_href); $content_div->append_tag_to_content($row_adding_form); $explanation_div = new HTMLTags_Div(); $explanation_text = <<<TXT Some other links to forms: TXT; $explanation_div->append_tag_to_content(new HTMLTags_P($explanation_text)); $explanation_links_ul = new HTMLTags_UL(); $explanation_link_li_1 = new HTMLTags_LI(); $explanation_link_a = new HTMLTags_A('Add a new photograph...'); $explanation_link_href = clone $current_page_url; $explanation_link_href->set_get_variable('admin-page', 'photographs'); $explanation_link_href->set_get_variable('add_row', '1'); $explanation_link_a->set_href($explanation_link_href); $explanation_link_li_1->append_tag_to_content($explanation_link_a); $explanation_links_ul->append_tag_to_content($explanation_link_li_1); $explanation_div->append_tag_to_content($explanation_links_ul); $content_div->append_tag_to_content($explanation_div); } elseif (isset($_GET['edit_tags']) && isset($_GET['product_id'])) { /** * Row editing. */ $product_row = $products_table->get_row_by_id($_GET['product_id']); $product_row_renderer = $product_row->get_renderer(); $row_editing_form = $product_row_renderer->get_product_tag_editing_form($redirect_script_url, $cancel_href); $content_div->append_tag_to_content($row_editing_form); } elseif (isset($_GET['set_principal_tags']) && isset($_GET['product_id'])) { /** * Row editing. */ $product_row = $products_table->get_row_by_id($_GET['product_id']); $product_row_renderer = $product_row->get_renderer(); $row_editing_form = $product_row_renderer->get_product_principal_tag_editing_form($redirect_script_url, $cancel_href); $content_div->append_tag_to_content($row_editing_form); } elseif (isset($_GET['set_price']) && isset($_GET['product_id'])) { /** * Set Prices */ $set_price_url = clone $redirect_script_url; $set_price_url->set_get_variable('set_price'); $set_price_url->set_get_variable('product_id', $_GET['product_id']); $product_currency_prices_table = $database->get_table('hpi_shop_product_currency_prices'); $product_currency_prices_table_renderer = $product_currency_prices_table->get_renderer(); $price_setting_form = $product_currency_prices_table_renderer->get_product_currency_price_editing_form($_GET['product_id'], $set_price_url, $cancel_href); $content_div->append_tag_to_content($price_setting_form); } elseif (isset($_GET['set_stock_level']) && isset($_GET['product_id'])) { /** * Set Stock Level */ $product_row = $products_table->get_row_by_id($_GET['product_id']); $product_row_renderer = $product_row->get_renderer(); $row_editing_form = $product_row_renderer->get_stock_level_editing_form($redirect_script_url, $cancel_href); $content_div->append_tag_to_content($row_editing_form); } elseif (isset($_GET['stock_level']) && isset($_GET['product_id'])) { /* * Shows the current stock levels for a single product. */ ob_start(); $return_to_p = self::get_back_to_products_link_p(); echo $return_to_p; $id = $_GET['product_id']; $dbh = $database->get_database_handle(); /* * Get product names, sizes, colours and quantities for this product. */ $query = <<<SQL SELECT \thpi_shop_products.name, \thpi_trackit_stock_management_stock_levels.size, \thpi_trackit_stock_management_stock_levels.colour, \thpi_trackit_stock_management_stock_levels.quantity FROM \thpi_shop_products \t\tINNER JOIN hpi_trackit_stock_management_products \t\t\tON hpi_shop_products.id = hpi_trackit_stock_management_products.shop_product_id \t\tINNER JOIN hpi_trackit_stock_management_stock_levels \t\t\tON \t\t\t\thpi_trackit_stock_management_products.product_id \t\t\t\t= \t\t\t\thpi_trackit_stock_management_stock_levels.product_id WHERE \thpi_shop_products.id = {$id} SQL; $result = mysql_query($query, $dbh); if (mysql_num_rows($result)) { $first = TRUE; while ($row = mysql_fetch_assoc($result)) { if ($first) { ?> <table> <caption>Stock Levels for <?php echo $row['name']; ?> </caption> <tr> <th>Size</th> <th>Colour</th> <th>Quantity</th> </tr> <?php $first = FALSE; } ?> <tr> <td><?php echo $row['size']; ?> </td> <td><?php echo $row['colour']; ?> </td> <td><?php echo (int) $row['quantity']; ?> </td> </tr> <?php } echo "</table>\n"; } else { ?> <p class="error"> No product found! </p> <?php } echo $return_to_p; $content_div->append_str_to_content(ob_get_clean()); } elseif (isset($_GET['set_main_photograph']) && isset($_GET['product_id'])) { $product = $products_table->get_row_by_id($_GET['product_id']); $instruction_p = new HTMLTags_P('Set main photograph for ' . $product->get_name()); $content_div->append_tag_to_content($instruction_p); $photographs_table = $database->get_table('hpi_shop_photographs'); $photograhps_ul = new HTMLTags_UL(); $photograhps_ul->set_attribute_str('id', 'photographs'); $photographs = $photographs_table->get_all_rows(); $set_main_photograph_url = clone $redirect_script_url; $set_main_photograph_url->set_get_variable('product_id', $product->get_id()); $set_main_photograph_url->set_get_variable('set_main_photograph'); foreach ($photographs as $photograph) { $li = new HTMLTags_LI(); $pr = $photograph->get_renderer(); $set_main_photograph_to_this_photograph_url = clone $set_main_photograph_url; $set_main_photograph_to_this_photograph_url->set_get_variable('photograph_id', $photograph->get_id()); $tnia = $pr->get_thumbnail_image_a(); $tnia->set_href($set_main_photograph_to_this_photograph_url); $li->append_tag_to_content($tnia); $photograhps_ul->add_li($li); } $content_div->append_tag_to_content($photograhps_ul); } elseif (isset($_GET['set_design_photograph']) && isset($_GET['product_id'])) { $product = $products_table->get_row_by_id($_GET['product_id']); $instruction_p = new HTMLTags_P('Set design photograph for ' . $product->get_name()); $content_div->append_tag_to_content($instruction_p); $photographs_table = $database->get_table('hpi_shop_photographs'); $photograhps_ul = new HTMLTags_UL(); $photograhps_ul->set_attribute_str('id', 'photographs'); $photographs = $photographs_table->get_all_rows(); $set_design_photograph_url = clone $redirect_script_url; $set_design_photograph_url->set_get_variable('product_id', $product->get_id()); $set_design_photograph_url->set_get_variable('set_design_photograph'); foreach ($photographs as $photograph) { $li = new HTMLTags_LI(); $pr = $photograph->get_renderer(); $set_design_photograph_to_this_photograph_url = clone $set_design_photograph_url; $set_design_photograph_to_this_photograph_url->set_get_variable('photograph_id', $photograph->get_id()); $tnia = $pr->get_thumbnail_image_a(); $tnia->set_href($set_design_photograph_to_this_photograph_url); $li->append_tag_to_content($tnia); $photograhps_ul->add_li($li); } $content_div->append_tag_to_content($photograhps_ul); } elseif (isset($_GET['add_extra_photograph']) && isset($_GET['product_id'])) { $product = $products_table->get_row_by_id($_GET['product_id']); $instruction_p = new HTMLTags_P('Add extra photograph for ' . $product->get_name()); $content_div->append_tag_to_content($instruction_p); $photographs_table = $database->get_table('hpi_shop_photographs'); $photograhps_ul = new HTMLTags_UL(); $photograhps_ul->set_attribute_str('id', 'photographs'); $photographs = $photographs_table->get_all_rows(); $url = clone $redirect_script_url; $url->set_get_variable('product_id', $product->get_id()); $url->set_get_variable('add_extra_photograph'); foreach ($photographs as $photograph) { $li = new HTMLTags_LI(); $pr = $photograph->get_renderer(); $this_photograph_url = clone $url; $this_photograph_url->set_get_variable('photograph_id', $photograph->get_id()); $tnia = $pr->get_thumbnail_image_a(); $tnia->set_href($this_photograph_url); $li->append_tag_to_content($tnia); $photograhps_ul->add_li($li); } $content_div->append_tag_to_content($photograhps_ul); } else { /** * LAST ACTION BOX DIV * */ if (isset($_GET['last_deleted_id']) || isset($_GET['last_edited_id']) || isset($_GET['last_added_id']) || isset($_GET['deleted_all'])) { if (isset($_GET['last_deleted_id'])) { $message = 'Deleted product id: ' . $_GET['last_deleted_id']; } elseif (isset($_GET['last_edited_id'])) { $product = $products_table->get_row_by_id($_GET['last_edited_id']); $message = 'Edited ' . $product->get_name(); } elseif (isset($_GET['last_added_id'])) { $product = $products_table->get_row_by_id($_GET['last_added_id']); $message = 'Added ' . $product->get_name(); } elseif (isset($_GET['deleted_all'])) { if ($_GET['deleted_all'] == 'successful') { $message = 'Succesfully deleted all of your products! (Not really - feature disabled)'; } else { $message = 'Failed to delete all of your products.'; } } $last_error_box_div = new HTMLTags_LastActionBoxDiv($message, $current_page_url->get_as_string(), 'message'); $content_div->append_tag_to_content($last_error_box_div); } /** * Links to other pages in the admin section. */ // $page_options_div = new HTMLTags_Div(); // $page_options_div->set_attribute_str('id', 'page-options'); // $other_pages_ul = new HTMLTags_UL(); /** * Link to the add row form. */ #$add_row_li = new HTMLTags_LI(); # #$add_row_a = new HTMLTags_A('Add New Product'); # #$add_row_href = clone $current_page_url; #$add_row_href->set_get_variable('add_row'); # #$add_row_a->set_href($add_row_href); # #$add_row_li->append_tag_to_content($add_row_a); # #$other_pages_ul->append_tag_to_content($add_row_li); /** * Link to the delete all confirmation page. */ // $delete_all_li = new HTMLTags_LI(); // $delete_all_a = new HTMLTags_A('Delete All Products'); // $delete_all_href = clone $current_page_url; // $delete_all_href->set_get_variable('delete_all'); // $delete_all_a->set_href($delete_all_href); // $delete_all_li->append_tag_to_content($delete_all_a); // $other_pages_ul->append_tag_to_content($delete_all_li); // $page_options_div->append_tag_to_content($other_pages_ul); // $content_div->append_tag_to_content($page_options_div); // /* * ---------------------------------------- * See if the variables for constraining the selection of products * have been set in GET. * ---------------------------------------- */ $product_category_id = NULL; if (isset($_GET['product_category_id']) && is_numeric($_GET['product_category_id'])) { $product_category_id = $_GET['product_category_id']; } // $just_with_photos = FALSE; $just_with_photos = TRUE; if (isset($_GET['just_with_photos']) && strtolower($_GET['just_with_photos']) == 'yes') { $just_with_photos = TRUE; } elseif (isset($_GET['just_with_photos']) && strtolower($_GET['just_with_photos']) == 'no') { $just_with_photos = FALSE; } // Hide hidden products // // $just_displayed_products = FALSE; $just_displayed_products = TRUE; if (isset($_GET['just_displayed_products']) && strtolower($_GET['just_displayed_products']) == 'yes') { $just_displayed_products = TRUE; } elseif (isset($_GET['just_displayed_products']) && strtolower($_GET['just_displayed_products']) == 'no') { $just_displayed_products = FALSE; } if (isset($_GET['plu_code'])) { // If PLU Code is set, unset everyhting else $just_with_photos = FALSE; $just_displayed_products = FALSE; } $content_div->append_tag_to_content($this->get_enter_plu_code_form()); /* * ------------------------------------------------------------------------- * The product selecting form. * ------------------------------------------------------------------------- */ $product_category_selecting_form = new HTMLTags_Form(); $product_category_selecting_form->set_attribute_str('name', 'product_category_selecting'); $product_category_selecting_form->set_attribute_str('method', 'GET'); $product_category_selecting_form->set_attribute_str('class', 'table-select-form'); $product_category_selecting_form->set_action(new HTMLTags_URL('/')); $inputs_ol = new HTMLTags_OL(); /* * Select whether you want all products or just those with status==display */ $li = new HTMLTags_LI(); $label = new HTMLTags_Label('Just Display Products'); $label->set_attribute_str('for', 'just_displayed_products'); $li->append_tag_to_content($label); $select = new HTMLTags_Select(); $select->set_attribute_str('name', 'just_displayed_products'); $yes_option = new HTMLTags_Option('Yes'); $yes_option->set_attribute_str('value', 'yes'); $no_option = new HTMLTags_Option('No'); $no_option->set_attribute_str('value', 'no'); if (isset($_GET['just_displayed_products'])) { if ($_GET['just_displayed_products'] == 'no') { $no_option->set_attribute_str('selected', 'TRUE'); } } else { $yes_option->set_attribute_str('selected', 'TRUE'); } $select->add_option($yes_option); $select->add_option($no_option); /* * The default is 'no'. /changed it to yes SAUL * * i.e. Get all the products, regardless of whether they have photos or not. */ if (isset($_GET['just_displayed_products'])) { $select->set_value($_GET['just_displayed_products']); } else { $select->set_value('yes'); } $li->append_tag_to_content($select); $inputs_ol->add_li($li); /* * Select whether you want all products or just those with photos. */ $li = new HTMLTags_LI(); $label = new HTMLTags_Label('Just with Photos'); $label->set_attribute_str('for', 'just_with_photos'); $li->append_tag_to_content($label); $select = new HTMLTags_Select(); $select->set_attribute_str('name', 'just_with_photos'); $yes_option = new HTMLTags_Option('Yes'); $yes_option->set_attribute_str('value', 'yes'); $no_option = new HTMLTags_Option('No'); $no_option->set_attribute_str('value', 'no'); if (isset($_GET['just_with_photos'])) { if ($_GET['just_with_photos'] == 'no') { $no_option->set_attribute_str('selected', 'TRUE'); } } else { $yes_option->set_attribute_str('selected', 'TRUE'); } $select->add_option($yes_option); $select->add_option($no_option); /* * The default is 'no'. /changed it to yes SAUL * * i.e. Get all the products, regardless of whether they have photos or not. */ if (isset($_GET['just_with_photos'])) { $select->set_value($_GET['just_with_photos']); } else { $select->set_value('yes'); } $li->append_tag_to_content($select); $inputs_ol->add_li($li); /* * Select the product_category_id. */ $product_category_li = new HTMLTags_LI(); $product_category_label = new HTMLTags_Label('Product Category'); $product_category_label->set_attribute_str('for', 'product_category_id'); $product_category_li->append_tag_to_content($product_category_label); if (isset($_GET['product_category_id'])) { $product_category_form_select = $table_renderer->get_product_category_form_select($_GET['product_category_id']); } else { $product_category_form_select = $table_renderer->get_product_category_form_select(); } $all_product_categories_option = new HTMLTags_Option('all'); $all_product_categories_option->set_attribute_str('value', 'all'); if ($_GET['product_category_id'] == 'all' || !isset($_GET['product_category_id'])) { $all_product_categories_option->set_attribute_str('selected'); } $product_category_form_select->add_option($all_product_categories_option); $product_category_li->append_tag_to_content($product_category_form_select); $inputs_ol->add_li($product_category_li); /* * The hidden inputs. */ $product_category_selecting_action = clone $current_page_url; $product_category_selecting_action_get_vars = $product_category_selecting_action->get_get_variables(); foreach (array_keys($product_category_selecting_action_get_vars) as $key) { $form_hidden_input = new HTMLTags_Input(); $form_hidden_input->set_attribute_str('type', 'hidden'); $form_hidden_input->set_attribute_str('name', $key); $form_hidden_input->set_attribute_str('value', $product_category_selecting_action_get_vars[$key]); $product_category_selecting_form->append_tag_to_content($form_hidden_input); } /* * The submit button. */ $go_button_li = new HTMLTags_LI(); $go_button = new HTMLTags_Input(); $go_button->set_attribute_str('type', 'submit'); $go_button->set_attribute_str('value', 'Go'); $go_button->set_attribute_str('class', 'submit'); $go_button_li->append_tag_to_content($go_button); $inputs_ol->add_li($go_button_li); $product_category_selecting_form->append_tag_to_content($inputs_ol); $content_div->append_tag_to_content($product_category_selecting_form); #################################################################### # # Display some of the data in the table. # #################################################################### /* * Build the the 'from' and 'where' clauses for the select statements below. * * One counts the rows matching the selection criteria and the other fetches * the data from the database. */ $from_and_where_clauses = <<<SQL FROM \thpi_shop_products \t SQL; if ($just_with_photos) { $from_and_where_clauses .= <<<SQL \t\tINNER JOIN hpi_shop_product_photograph_links \t\t\tON hpi_shop_products.id = hpi_shop_product_photograph_links.product_id \t\tINNER JOIN hpi_shop_photographs \t\t\tON hpi_shop_product_photograph_links.photograph_id = hpi_shop_photographs.id \t\t\t SQL; } if (isset($_GET['plu_code'])) { // If PLU_CODE is set, then nothing else should be // (different form) $plu_code = $_GET['plu_code']; $from_and_where_clauses .= <<<SQL WHERE \thpi_shop_products.plu_code = {$plu_code} SQL; } if (isset($product_category_id) || $just_with_photos || $just_displayed_products) { $from_and_where_clauses .= <<<SQL WHERE SQL; } if (isset($product_category_id)) { $from_and_where_clauses .= <<<SQL \t \thpi_shop_products.product_category_id = {$product_category_id} \t SQL; } if (isset($product_category_id) && ($just_with_photos || $just_displayed_products)) { $from_and_where_clauses .= <<<SQL \tAND SQL; } if ($just_displayed_products) { $from_and_where_clauses .= <<<SQL \thpi_shop_products.status = 'display' \t SQL; } if ($just_with_photos && ($just_displayed_products || isset($product_category_id))) { $from_and_where_clauses .= <<<SQL \tAND SQL; } if ($just_with_photos) { $from_and_where_clauses .= <<<SQL \thpi_shop_product_photograph_links.type = 'main' \t SQL; } $from_and_where_clauses .= <<<SQL \tGROUP BY hpi_shop_products.style_id \t SQL; /* * DIV for limits and previous and nexts. */ $limit_previous_next_div = new HTMLTags_Div(); $limit_previous_next_div->set_attribute_str('class', 'table_pages_div'); /* * To allow the user to set the number of extras to show at a time. */ $limit_action = clone $current_page_url; # echo 'LIMIT: ' . LIMIT . "\n"; # exit; $limit_form = new Database_LimitForm($limit_action, LIMIT, '10 20 50'); // $limit_form->add_hidden_input('module', 'shop'); // $limit_form->add_hidden_input('page', 'products'); $limit_form->add_hidden_input('section', 'haddock'); $limit_form->add_hidden_input('module', 'admin'); $limit_form->add_hidden_input('page', 'admin-includer'); $limit_form->add_hidden_input('type', 'html'); $limit_form->add_hidden_input('admin-section', 'plug-ins'); $limit_form->add_hidden_input('admin-module', 'shop'); $limit_form->add_hidden_input('admin-page', 'products'); $limit_form->add_hidden_input('order_by', ORDER_BY); $limit_form->add_hidden_input('direction', DIRECTION); $limit_form->add_hidden_input('offset', OFFSET); /* * Extra get vars if we've restricted the selection. */ if (isset($product_category_id)) { $limit_form->add_hidden_input('product_category_id', $product_category_id); } if ($just_displayed_products) { $limit_form->add_hidden_input('just_displayed_products', 'yes'); } else { $limit_form->add_hidden_input('just_displayed_products', 'no'); } if ($just_with_photos) { $limit_form->add_hidden_input('just_with_photos', 'yes'); } else { $limit_form->add_hidden_input('just_with_photos', 'no'); } $limit_previous_next_div->append_tag_to_content($limit_form); /* * Go the previous or next list of extras. */ $previous_next_url = clone $current_page_url; $previous_next_url->set_get_variable('order_by', ORDER_BY); $previous_next_url->set_get_variable('direction', DIRECTION); #print_r($previous_next_url); /* * Count the rows in the table that match our selection criteria. */ #$row_count = $products_table->count_all_rows(); $query = <<<SQL SELECT \tCOUNT(hpi_shop_products.id) {$from_and_where_clauses} SQL; if (DEBUG) { echo DEBUG_DELIM_OPEN; echo 'Line: ' . __LINE__ . "\n"; echo 'File: ' . __FILE__ . "\n"; echo 'Class: ' . __CLASS__ . "\n"; echo 'Method: ' . __METHOD__ . "\n"; echo 'get_class($this): ' . get_class($this) . "\n"; echo "\n"; echo '$query: ' . "\n"; print_r($query); echo DEBUG_DELIM_CLOSE; } $dbh = DB::m(); $result = mysql_query($query, $dbh); $row_count = 0; // if ( // $result // && // ($row = mysql_fetch_array($result)) // ) { // $row_count = $row[0]; // } // mysql_num_rows was better since we added the GROUP BY bit if ($result) { $row_count = mysql_num_rows($result); } // echo "\$query: $query\n"; // echo "\$row_count: $row_count\n"; $previous_next_ul = new Database_PreviousNextUL($previous_next_url, OFFSET, LIMIT, $row_count); /* * Extra get vars if we've restricted the selection. */ if (isset($product_category_id)) { $previous_next_url->set_get_variable('product_category_id', $product_category_id); } if ($just_displayed_products) { $previous_next_url->set_get_variable('just_displayed_products', 'yes'); } else { $previous_next_url->set_get_variable('just_displayed_products', 'no'); } if ($just_with_photos) { $previous_next_url->set_get_variable('just_with_photos', 'yes'); } else { $previous_next_url->set_get_variable('just_with_photos', 'no'); } $limit_previous_next_div->append_tag_to_content($previous_next_ul); $content_div->append_tag_to_content($limit_previous_next_div); # ------------------------------------------------------------------ /* * The table. */ $rows_html_table = new HTMLTags_Table(); $rows_html_table->set_attribute_str('class', 'table_pages'); /* * ---------------------------------------- * The caption for the HTML table displaying the products. * ---------------------------------------- */ #if (isset($_GET['product_category_id'])) { # if ($_GET['product_category_id'] == 'all') { # $caption = new HTMLTags_Caption( # 'All Products' # ); # # #$caption->append_str_to_content(' (' . $products_table->count_products() . ')'); # } else { # $product_categories_table = $database->get_table('hpi_shop_product_categories'); # $product_category = $product_categories_table->get_row_by_id($_GET['product_category_id']); # $caption = new HTMLTags_Caption( # 'Products in Category ' . $product_category->get_name() # ); # # #$caption->append_str_to_content(' (' . $product_category->count_products() . ')'); # } #} else { # $caption = new HTMLTags_Caption( # 'All Products' # ); # # #$caption->append_str_to_content(' (' . $products_table->count_products() . ')'); # $caption->append_str_to_content(" ($row_count)"); #} # #$rows_html_table->append_tag_to_content($caption); $caption_str = ''; if (isset($product_category_id)) { $product_categories_table = $database->get_table('hpi_shop_product_categories'); $product_category = $product_categories_table->get_row_by_id($product_category_id); $caption_str .= 'Products in Category "' . $product_category->get_name() . '"'; } else { $caption_str .= 'All Products'; } if (isset($_GET['plu_code'])) { $caption_str .= ' with PLU code ' . $_GET['plu_code']; } if ($just_with_photos) { $caption_str .= ' with photos'; } if ($just_displayed_products) { $caption_str .= ' on display'; } $caption_str .= " ({$row_count})"; $rows_html_table->append_tag_to_content(new HTMLTags_Caption($caption_str)); /* * ---------------------------------------- * The heading row of the HTML table that displays the products. * ---------------------------------------- */ $sort_href = clone $current_page_url; $sort_href->set_get_variable('limit', LIMIT); $sort_href->set_get_variable('offset', OFFSET); /* * Extra get vars if we've restricted the selection. */ if (isset($product_category_id)) { $sort_href->set_get_variable('product_category_id', $product_category_id); } if ($just_displayed_products) { $sort_href->set_get_variable('just_displayed_products', 'yes'); } if ($just_with_photos) { $sort_href->set_get_variable('just_with_photos', 'yes'); } $heading_row = new Database_SortableHeadingTR($sort_href, DIRECTION); $plu_code_header = new HTMLTags_TH('PLU Code'); $heading_row->append_tag_to_content($plu_code_header); $style_id_header = new HTMLTags_TH('Style ID'); $heading_row->append_tag_to_content($style_id_header); $field_names = explode(' ', 'added name'); foreach ($field_names as $field_name) { $heading_row->append_sortable_field_name($field_name); } $photograph_header = new HTMLTags_TH('Photograph'); $heading_row->append_tag_to_content($photograph_header); $brand_header = new HTMLTags_TH('Brand'); $heading_row->append_tag_to_content($brand_header); $product_category_id_header = new HTMLTags_TH('Product Category'); $heading_row->append_tag_to_content($product_category_id_header); $price_header = new HTMLTags_TH('Price'); $heading_row->append_tag_to_content($price_header); #$supplier_header = new HTMLTags_TH('Supplier'); #$heading_row->append_tag_to_content($supplier_header); // $comments_header = new HTMLTags_TH('Comments'); // $heading_row->append_tag_to_content($comments_header); $heading_row->append_tag_to_content(new HTMLTags_TH('Tags')); // $heading_row->append_sortable_field_name('use_stock_level'); // $heading_row->append_sortable_field_name('stock_level'); // $heading_row->append_sortable_field_name('stock_buffer_level'); #$heading_row->append_tag_to_content(new HTMLTags_TH('Stock (Buffer)')); # $heading_row->append_sortable_field_name('sort_order'); // $heading_row->append_tag_to_content(new HTMLTags_TH('Principal Tags')); // $heading_row->append_tag_to_content(new HTMLTags_TH('Tags')); // $heading_row->append_tag_to_content(new HTMLTags_TH('Price')); $heading_row->append_sortable_field_name('status'); $heading_row->append_tag_to_content(new HTMLTags_TH('Stock Level')); $heading_row->append_tag_to_content(new HTMLTags_TH('Edit')); // foreach ( // $table_renderer->get_admin_database_action_ths() // as // $action_th // ) { // $heading_row->append_tag_to_content($action_th); // } $rows_html_table->append_tag_to_content($heading_row); # ------------------------------------------------------------------ #if (isset($_GET['product_category_id'])) { # if ($_GET['product_category_id'] == 'all') { # $rows = $products_table->get_all_rows(ORDER_BY, DIRECTION, OFFSET, LIMIT); # } else { # $conditions = array(); # $conditions['product_category_id'] = $_GET['product_category_id']; # $rows = $products_table->get_rows_where($conditions, ORDER_BY, DIRECTION, OFFSET, LIMIT); # } /* * ---------------------------------------- * Fetch the products from the database table. * ---------------------------------------- */ $query = <<<SQL SELECT \thpi_shop_products.* {$from_and_where_clauses} SQL; /* * Can we do something about these defined constants. * * They're making me feel ill. */ $order_by = ORDER_BY; $direction = DIRECTION; $offset = OFFSET; $limit = LIMIT; $query .= <<<SQL ORDER BY \t{$order_by} {$direction} LIMIT \t{$offset}, {$limit} \t SQL; #echo $query; exit; if (DEBUG) { echo DEBUG_DELIM_OPEN; echo 'Line: ' . __LINE__ . "\n"; echo 'File: ' . __FILE__ . "\n"; echo 'Class: ' . __CLASS__ . "\n"; echo 'Method: ' . __METHOD__ . "\n"; echo 'get_class($this): ' . get_class($this) . "\n"; echo "\n"; echo "\$query: \n{$query}\n"; echo DEBUG_DELIM_CLOSE; } // echo "data \$query: \n$query\n"; $rows = $products_table->get_rows_for_select($query); /* * Display some of the contents of the table. */ foreach ($rows as $row) { $row_renderer = $row->get_renderer(); #$data_tr = $row_renderer->get_admin_database_tr(); $data_tr = $row_renderer->get_admin_products_html_table_tr($current_page_url, $redirect_script_url); $rows_html_table->append_tag_to_content($data_tr); } # ------------------------------------------------------------------ $content_div->append_tag_to_content($rows_html_table); $content_div->append_tag_to_content($limit_previous_next_div); } echo $content_div->get_as_string(); }
public function get_field_renderer_files() { $field_renderer_files = array(); /* * The default field renderer file. */ $default_field_renderer_class_file = new FileSystem_PHPClassFile(PROJECT_ROOT . '/haddock/database/classes/renderers/' . 'Database_FieldRenderer.inc.php'); $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $table_names = $database->get_table_names(); $project_directory = $this->get_project_directory(); $php_class_files = $project_directory->get_php_class_files(); $field_renderer_reflection_class = new ReflectionClass('Database_FieldRenderer'); foreach ($table_names as $table_name) { $table = $database->get_table($table_name); $fields = $table->get_fields(); foreach ($fields as $field) { $field_renderer_files[$table_name][$field->get_name()][] = $default_field_renderer_class_file; foreach ($php_class_files as $php_class_file) { $php_class_file->declare_class(); $php_class_file_reflection_class = $php_class_file->get_reflection_class(); if (!$php_class_file_reflection_class->isAbstract() && $php_class_file_reflection_class->isSubclassOf($field_renderer_reflection_class)) { $field_renderer_files[$table_name][$field->get_name()][] = $php_class_file; } } } } return $field_renderer_files; }
public static function edit_all_products_with_this_products_style_id($product_id, $values) { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $products_table = $database->get_table('hpi_shop_products'); $query = <<<SQL SELECT \thpi_shop_products.style_id FROM \thpi_shop_products \tWHERE \tid = {$product_id} SQL; /* * Create the database objects. */ $muf = Database_MySQLUserFactory::get_instance(); $mu = $muf->get_for_this_project(); $database = $mu->get_database(); $dbh = $database->get_database_handle(); // print_r($query);exit; $result = mysql_query($query, $dbh); // print_r($result);exit; while ($row = mysql_fetch_array($result)) { $style_id = $row['style_id']; // print_r($row);exit; } $products = self::get_all_products_for_style_id($style_id); // print_r($products);exit; foreach ($products as $product) { $products_table->edit_product($product->get_id(), $_POST['name'], $_POST['description'], $_POST['product_category_id'], $_POST['product_brand_id'], $_POST['supplier_id'], $_POST['sort_order']); /* * PRICES */ // $product_currency_prices_table = $database->get_table('hpi_shop_product_currency_prices'); // $currencies_table = $database->get_table('hpi_shop_currencies'); // $currencies = $currencies_table->get_all_rows(); // foreach ($currencies as $currency) // { // $conditions = array(); // $conditions['product_id'] = $_GET['edit_id']; // $conditions['currency_id'] = $currency->get_id(); // $product_currency_prices_table->delete_where($conditions); // $product_currency_prices_table->add_product_currency_price( // $_GET['edit_id'], // $currency->get_id(), // $_POST['price_' . $currency->get_id()] // ); // } /* * TAGS */ $product_tags_table = $database->get_table('hpi_shop_product_tags'); // $product = $products_table->get_row_by_id($_GET['edit_id']); /* * REMOVE ALL PRINCIPAL TAGS FROM PRODUCT */ $products_table->remove_all_principal_tags($product->get_id()); $principal_tags = $product_tags_table->get_principal_tags(); #print_r($principal_tags);exit; foreach ($principal_tags as $principal_tag) { if (isset($_POST['tag_' . $principal_tag->get_id()])) { $product->add_tag($principal_tag); } } /* * PHOTOGRAPHS */ # MAIN PHOTOGRAPH if (isset($_POST['main_photograph_id'])) { $product->add_photograph_by_id($_POST['main_photograph_id'], 'main'); } # DESIGN PHOTOGRAPH if (isset($_POST['design_photograph_id'])) { $product->add_photograph_by_id($_POST['design_photograph_id'], 'design'); } # EXTRAS PHOTOGRAPH // $product->delete_photograph_product_link_of_type('extra'); // $photographs_table = $database->get_table('hpi_shop_photographs'); // $photographs = $photographs_table->get_all_rows(); // foreach ($photographs as $photograph) // { // if (isset($_POST['extra_photograph_id_' . $photograph->get_id()])) // { // $product->add_photograph_by_id($photograph->get_id(), 'extra'); // } // } // } }
public function get_widget_content() { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $people_table = $database->get_table('hpi_mailing_list_people'); $widget_div = new HTMLTags_Div(); $rows_html_ul = new HTMLTags_UL(); $rows_html_ul->set_attribute_str('class', 'people'); $query = <<<SQL SELECT * FROM hpi_mailing_list_people WHERE status = 'new' OR status = 'accepted' ORDER BY `added` DESC LIMIT 0, 5 SQL; try { $rows = $people_table->get_rows_for_select($query); } catch (Exception $e) { } if (count($rows) > 0) { $explanation_p = new HTMLTags_P(); $explanation_txt = <<<TXT The last five people to join the list: TXT; $explanation_p->append($explanation_txt); $widget_div->append($explanation_p); foreach ($rows as $row) { $li = new HTMLTags_LI(); $li->append_str_to_content($row->get_name() . ' (' . $row->get_email() . ')'); $rows_html_ul->append_tag_to_content($li); } } else { $no_people_p = new HTMLTags_P(); $no_people_txt = <<<TXT There are no people in the Mailing List. TXT; $no_people_p->append($no_people_txt); $widget_div->append($no_people_p); } $widget_div->append_tag_to_content($rows_html_ul); $widget_div->append(self::get_mailing_list_links_ul()); return $widget_div; }
public function get_users_table() { $muf = Database_MySQLUserFactory::get_instance(); $mu = $muf->get_for_this_project(); $database = $mu->get_database(); $users_table = $database->get_table('hpi_user_login_users'); // print_r($users_table);exit; return $users_table; }
public function get_comment_editing_form($comment_editing_action, $cancel_location) { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $comment_row = $this->get_element(); $commenter = $comment_row->get_commenter(); $comments_table = $database->get_table('hpi_shop_comments'); $commenters_table = $database->get_table('hpi_shop_commenters'); $comment_editing_form = new HTMLTags_SimpleOLForm('comment_editing'); $comment_editing_action->set_get_variable('edit_id', $comment_row->get_id()); $comment_editing_form->set_action($comment_editing_action); $comment_editing_form->set_legend_text('Edit this comment'); #Added Status Front Page Name Comment /* * The name */ $name_field = $commenters_table->get_field('name'); $name_field_renderer = $name_field->get_renderer(); $input_tag = $name_field_renderer->get_form_input(); $input_tag->set_value($commenter->get_name()); $input_tag->set_attribute_str('id', 'name'); $comment_editing_form->add_input_tag('name', $input_tag); /* * The email */ $email_field = $commenters_table->get_field('email'); $email_field_renderer = $email_field->get_renderer(); $input_tag = $email_field_renderer->get_form_input(); $input_tag->set_value($commenter->get_email()); $input_tag->set_attribute_str('id', 'email'); $comment_editing_form->add_input_tag('email', $input_tag); /* * The homepage_title */ $homepage_title_field = $commenters_table->get_field('homepage_title'); $homepage_title_field_renderer = $homepage_title_field->get_renderer(); $input_tag = $homepage_title_field_renderer->get_form_input(); $input_tag->set_value($commenter->get_homepage_title()); $input_tag->set_attribute_str('id', 'homepage_title'); $comment_editing_form->add_input_tag('homepage_title', $input_tag); /* * The url */ $url_field = $commenters_table->get_field('url'); $url_field_renderer = $url_field->get_renderer(); $input_tag = $url_field_renderer->get_form_input(); $input_tag->set_value($commenter->get_url()); $input_tag->set_attribute_str('id', 'url'); $comment_editing_form->add_input_tag('url', $input_tag, 'URL'); /* * The comment */ $comment_field = $comments_table->get_field('comment'); $comment_field_renderer = $comment_field->get_renderer(); $input_tag = $comment_field_renderer->get_form_input(); $input_tag->set_value($comment_row->get_comment()); $input_tag->set_attribute_str('id', 'comment'); $comment_editing_form->add_input_tag('comment', $input_tag); /* * The product_id */ $product_li = $this->get_product_form_select_li(); $comment_editing_form->add_input_li($product_li); /* * The status enum */ $status_field = $comments_table->get_field('status'); $status_field_renderer = $status_field->get_renderer(); $input_tag = $status_field_renderer->get_form_input(); $input_tag->set_value($comment_row->get_status()); $input_tag->set_attribute_str('id', 'status'); $comment_editing_form->add_input_tag('status', $input_tag); /* * The front_page enum */ $front_page_field = $comments_table->get_field('front_page'); $front_page_field_renderer = $front_page_field->get_renderer(); $input_tag = $front_page_field_renderer->get_form_input(); $input_tag->set_value($comment_row->get_front_page()); $input_tag->set_attribute_str('id', 'front_page'); $comment_editing_form->add_input_tag('front_page', $input_tag); /* * The update button. */ $comment_editing_form->set_submit_text('Update'); $comment_editing_form->set_cancel_location($cancel_location); return $comment_editing_form; }
public static function render_body_div_thank_you() { ?> <div id="thank_you" > <?php echo 'Thank you'; if (isset($_SESSION['last_added_id'])) { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $people_table = $database->get_table('hpi_mailing_list_people'); #$person_row = $people_table->get_row_by_id($_GET['last_added_id']); $person_row = $people_table->get_row_by_id($_SESSION['last_added_id']); $name = $person_row->get_name(); echo ", {$name}.\n"; unset($_SESSION['last_added_id']); } else { echo ".\n"; } ?> </div> <?php }
public function get_stock_level_editing_form($redirect_script_url, $cancel_location) { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $product_row = $this->get_element(); $products_table = $database->get_table('hpi_shop_products'); $product_editing_form = new HTMLTags_SimpleOLForm('stock_level_editing'); $product_editing_action = clone $redirect_script_url; $product_editing_action->set_get_variable('set_stock_level', '1'); $product_editing_action->set_get_variable('product_id', $product_row->get_id()); $product_editing_form->set_action($product_editing_action); $product_editing_form->set_legend_text('Set the stock level for this product'); /* * The stock_level */ $stock_level_field = $products_table->get_field('stock_level'); $stock_level_field_renderer = $stock_level_field->get_renderer(); $input_tag = $stock_level_field_renderer->get_form_input(); $input_tag->set_attribute_str('id', 'stock_level'); $input_tag->set_attribute_str('value', $product_row->get_stock_level()); $product_editing_form->add_input_tag('stock_level', $input_tag); /* * The stock_buffer_level */ $stock_buffer_level_field = $products_table->get_field('stock_buffer_level'); $stock_buffer_level_field_renderer = $stock_buffer_level_field->get_renderer(); $input_tag = $stock_buffer_level_field_renderer->get_form_input(); $input_tag->set_attribute_str('id', 'stock_buffer_level'); $input_tag->set_attribute_str('value', $product_row->get_stock_buffer_level()); $product_editing_form->add_input_tag('stock_buffer_level', $input_tag); /* * The update button. */ $product_editing_form->set_submit_text('Update'); $product_editing_form->set_cancel_location($cancel_location); return $product_editing_form; }
public function get_product_brand_editing_form($redirect_script_url, $cancel_location) { $mysql_user_factory = Database_MySQLUserFactory::get_instance(); $mysql_user = $mysql_user_factory->get_for_this_project(); $database = $mysql_user->get_database(); $product_brand_row = $this->get_element(); $product_brands_table = $database->get_table('hpi_shop_product_brands'); $product_brand_editing_form = new HTMLTags_SimpleOLForm('product_brand_editing'); $product_brand_editing_form->set_attribute_str('enctype', 'multipart/form-data'); $product_brand_editing_action = clone $redirect_script_url; $product_brand_editing_action->set_get_variable('edit_id', $product_brand_row->get_id()); $product_brand_editing_form->set_action($product_brand_editing_action); $product_brand_editing_form->set_legend_text('Edit this product_brand'); /* * The name */ $name_field = $product_brands_table->get_field('name'); $name_field_renderer = $name_field->get_renderer(); $input_tag = $name_field_renderer->get_form_input(); $input_tag->set_value($product_brand_row->get_name()); $input_tag->set_attribute_str('id', 'name'); $product_brand_editing_form->add_input_tag('name', $input_tag); /* * The owner */ $owner_field = $product_brands_table->get_field('owner'); $owner_field_renderer = $owner_field->get_renderer(); $input_tag = $owner_field_renderer->get_form_input(); $input_tag->set_value($product_brand_row->get_owner()); $input_tag->set_attribute_str('id', 'owner'); $product_brand_editing_form->add_input_tag('owner', $input_tag); /* * The description */ $description_field = $product_brands_table->get_field('description'); $description_field_renderer = $description_field->get_renderer(); $input_tag = $description_field_renderer->get_form_input(); $input_tag->set_value($product_brand_row->get_description()); $input_tag->set_attribute_str('id', 'description'); $product_brand_editing_form->add_input_tag('description', $input_tag); /* * The url */ $url_field = $product_brands_table->get_field('url'); $url_field_renderer = $url_field->get_renderer(); $input_tag = $url_field_renderer->get_form_input(); $input_tag->set_value($product_brand_row->get_url()); $input_tag->set_attribute_str('id', 'url'); $product_brand_editing_form->add_input_tag('url', $input_tag); /* * The update button. */ $product_brand_editing_form->set_submit_text('Update'); $product_brand_editing_form->set_cancel_location($cancel_location); return $product_brand_editing_form; }