PHP - Need Help Modifying A Script
I need help modifying this script. I wanna add a "File Size" to it. So it will check file sized and set a maximum.
Thanks. Code: [Select] <?php //Windows way $uploadLocation = "C:\\www\\upload\\"; //Unix, Linux way //$uploadLocation = "\tmp"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html> <head> <title>X-NET File Uploader</title> <link href="style/style.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="main"> <div id="caption">UPLOAD FILE</div> <div id="icon"> </div> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="fileForm" id="fileForm" enctype="multipart/form-data"> File to upload:<center> <table> <tr><td><input name="upfile" type="file" size="36"></td></tr> <tr><td align="center"><br/><input class="text" type="submit" name="submitBtn" value="Upload"></td></tr> </table></center> </form> <?php if (isset($_POST['submitBtn'])){ ?> <div id="caption">RESULT</div> <div id="icon2"> </div> <div id="result"> <table width="100%"> <?php $target_path = $uploadLocation . basename( $_FILES['upfile']['name']); if(move_uploaded_file($_FILES['upfile']['tmp_name'], $target_path)) { echo "The file: ". basename( $_FILES['upfile']['name']). " has been uploaded!"; } else{ echo "There was an error uploading the file, please try again!"; } ?> </table> </div> <?php } ?> <div> </body> Similar TutorialsI know I may sound like a nab, but here I go: Code: [Select] $ric=10; $price=$price+($price/$ric); Basically I want to add a 10% to the price value this is inside a "for", and price values is taken from a csv file. Said value is for example: $price=4,36 after the script takes place, the value goes to: $price=4796 While i aimed to obtain 4,80 (a 2 precision float). Can anyone help me? It's the first time I mess with float numbers. EDIT: Or at least direct me to a more efficient way to apply % on doubles, while preserving the original precision مرحبا من فضلك مساعدة ماذا يفتقر هذا الرمز للعمل؟ مطلوب عدم تكرار الحقل في ملف نصي يرجى تعديل الكود <?php if(isset($_POST['send'])){ $b1 = $_POST['b1']; $b2 = $_POST['b2']; $file = fopen("xm.txt", "a+"); for($i = 0; $i < count($file); $i++){ $read = explode("||" ,$file[$i]); if($read[0] == $b1 ){ echo 'Duplicate'; } else { fwrite($random_file,$b1.'||'.$b2."\r\n"); fclose($random_file); } } } ?> Edited May 13, 2020 by k7l2010 Hi I need help adding $inputUri to the function checkURL($string) Hi can someone help me with this. I have a inputbox that displays a default text "Input ID Here...". I need to take $inputUri and check it against function checkUrl($string) to see if its still there. If the text hasn't been cleared then display the addError message Code: [Select] public function checkUrl($string) { $inputUri = 'Input ID Here...'; if(empty($string) || preg_match("#^([A-Z0-9][A-Z0-9_ -]*(?:.[A-Z0-9][A-Z0-9_ -]*)+):?(d+)?/?#i", $string))) { return true; } else { if( isset($this) ) { $this->addError("Error: Input Your ID"); } return false; } } Hi Guys, I have an array that contains a few records from mysql. The array looks like so Array ( [0] => Array ( [id] => 1 [name] => New Product [url] => New-Product [title] => Title Used On Heading [description] => Write a 3 to 5 Paragraph summary of product [preview_image] => 0 [body_image] => 0 [status] => 1 ) [1] => Array ( [id] => 2 [name] => New Product [url] => New-Product [title] => Title Used On Heading [description] => Write a 3 to 5 Paragraph summary of product [preview_image] => 0 [body_image] => 0 [status] => 0 ) ) I am trying to modify the preview_image value on each of the arrays in this array like so; //modify the products array foreach($data['raw_products'] as $data['products']) { //set the preview image row $data['products']['preview_image'] = anchor('admin/list_products/#', "View IMG", array("onHover" => "admin.previewIMG('".$data['products']['preview_image']."')", "class" => "noLink")); //set the body image row $data['products']['body_image'] = anchor('admin/list_products/#', "View IMG", array("onHover" => "admin.bodyIMG('".$data['products']['body_image']."')", "class" => "noLink")); } It works fine for one record, but then when I print_r($data['products']) I only see one record. Any help would be greatly appreciated. What is all dependent on PHP?
I mean lets say I removed echo from phps source code.
Then I add function my_echo() which is the exact same code basically, what all would I need to update to allow my_echo() to be implemented correctly
Obviously I would need to modify every one of my php scripts on my webserver to replace echo with my_echo, but is there anything else?
I know i could just append my_echo to phps source, or modify the echo function itself, but this is conceptually and thats not the actual process I'm looking for right now.
Any insight would be greatly appreciated!
Hello All,
Apologies if i am going about this the incorrect way, but after over 8 hours of coding and not being able to solve my problem i am forced to seek help on forums for the first time.
I have a wordpress website and have installed a third party plugin that allows me to enter item details and display them front end to users who can then filter by category.
You can see the working example here and a screenshot highlighting the different sections here.
The plugin works fine, displaying products based on the category and sub category they are assigned to, however the layout becomes distorted when the screen size is reduced. Images have been included below:
Larger screen size
Smaller screen size
I have been doing some reading and i think that rather than using multiple <div> tags (as the plugin creator has done), i have instead tried to use 3 separate tables. (one for the sidebar, one for the main section, and then a table with two columns to hold each)
My plan is shown here.
I have successfully managed to re-code the sidebar on the left into a table, however i am struggling to modify the main section.
Unfortunately i cannot explain much about the code as it was not written by me, i can tell you that three are 3 different layouts available: Thumb, List and Detail.
I am only using Detail.
I have attempted to modify the code multiple times, but i cannot get the main table and list table to work correctly.
I have included the modified code where i have only changed the sidebar. I have kept the rest as standard to show you all what i am working with to begin with.
Points of interest:
I have been applying the main table at line 431 and ending it at 437.
I have been applying the list table at line 423.
The list table items (rows) begin at 558
<?php /* The function that creates the HTML on the front-end, based on the parameters * supplied in the product-catalog shortcode */ function Insert_Product_Catalog($atts) { // Include the required global variables, and create a few new ones global $wpdb, $categories_table_name, $subcategories_table_name, $tags_table_name, $tagged_items_table_name, $catalogues_table_name, $catalogue_items_table_name, $items_table_name; global $ReturnString, $ProdCats, $ProdSubCats, $ProdTags, $ProdCatString, $ProdSubCatString, $ProdTagString, $Catalogue_ID, $Catalogue_Layout_Format, $Catalogue_Sidebar, $Full_Version; $ReturnString = ""; $Filter = get_option("UPCP_Filter_Type"); $Color = get_option("UPCP_Color_Scheme"); $Links = get_option("UPCP_Product_Links"); $Detail_Image = get_option("UPCP_Details_Image"); $Pretty_Links = get_option("UPCP_Pretty_Links"); $Mobile_Style = get_option("UPCP_Mobile_SS"); $Pagination_Location = get_option("UPCP_Pagination_Location"); $CaseInsensitiveSearch = get_option("UPCP_Case_Insensitive_Search"); $Maintain_Filtering = get_option("UPCP_Maintain_Filtering"); $Products_Per_Page = get_option("UPCP_Products_Per_Page"); $ProductSearch = get_option("UPCP_Product_Search"); $Products_Pagination_Label = get_option("UPCP_Products_Pagination_Label"); $Product_Name_Search_Label = get_option("UPCP_Product_Name_Search_Label"); $No_Results_Found_Label = get_option("UPCP_No_Results_Found_Label"); if ($Products_Pagination_Label != "") {$Products_Pagination_Text = $Products_Pagination_Label;} else {$Products_Pagination_Text = __(' products', 'UPCP');} if ($Product_Search_Text_Label != "") {$Product_Name_Text = $Product_Name_Search_Label;} else { if ($ProductSearch == "namedesc" or $ProductSearch == "namedesccust") {$Product_Name_Text = __("Search...", 'UPCP');} else {$Product_Name_Text = __("Name...", 'UPCP');} } // Get the attributes passed by the shortcode, and store them in new variables for processing extract( shortcode_atts( array( "id" => "1", "excluded_layouts" => "None", "starting_layout" => "", "products_per_page" => "", "current_page" => 1, "sidebar" => "Yes", "only_inner" => "No", "ajax_reload" => "No", "ajax_url" => "", "request_count" => 0, "category" => "", "subcategory" => "", "tags" => "", "prod_name" => ""), $atts ) ); // Select the catalogue information from the database $Catalogue = $wpdb->get_row("SELECT * FROM $catalogues_table_name WHERE Catalogue_ID=" . $id); $CatalogueItems = $wpdb->get_results("SELECT * FROM $catalogue_items_table_name WHERE Catalogue_ID=" . $id . " ORDER BY Position"); // Add any additional CSS in-line if ($Catalogue->Catalogue_Custom_CSS != "") { $HeaderBar .= "<style type='text/css'>"; $HeaderBar .= $Catalogue->Catalogue_Custom_CSS; $HeaderBar .= "</style>"; } if ($Detail_Image != "") { $HeaderBar .= "<style type='text/css'>"; $HeaderBar .= ".upcp-thumb-details-link, .upcp-list-details-link, .upcp-detail-details-link {"; $HeaderBar .= "background: url('" . $Detail_Image . "');"; $HeaderBar .= "}"; $HeaderBar .= "</style>"; } $Top_JS .= "<script language='JavaScript' type='text/javascript'>"; if ($Maintain_Filtering == "Yes") {$Top_JS .= "var maintain_filtering = 'Yes';";} else {$Top_JS .= "var maintain_filtering = 'No';";} $Top_JS .= "</script>"; $HeaderBar .= $Top_JS; $HeaderBar .= "<form id='upcp-hidden-filtering-form' method='post'>"; $HeaderBar .= "<input type='hidden' id='upcp-selected-categories' name='categories' value='" . $_POST['categories'] . "' />"; $HeaderBar .= "<input type='hidden' id='upcp-selected-subcategories' name='subcategories' value='" . $_POST['subcategories'] . "' />"; $HeaderBar .= "<input type='hidden' id='upcp-selected-tags' name='tags' value='" . $_POST['tags'] . "' />"; $HeaderBar .= "<input type='hidden' id='upcp-selected-prod-name' name='prod_name' value='" . $_POST['prod_name'] . "' />"; $HeaderBar .= "</form>"; if (get_query_var('single_product') != "" or $_GET['SingleProduct'] != "") { $ReturnString .= $HeaderBar; $ReturnString .= SingleProductPage(); return $ReturnString; } $Catalogue_ID = $id; $Catalogue_Sidebar = $sidebar; $Starting_Layout = ucfirst($starting_layout); if ($excluded_layouts != "None") {$Excluded_Layouts = explode(",", $excluded_layouts);} else {$Excluded_Layouts = array();} if (isset($_GET['categories'])) {$category = explode(",", $_GET['categories']);} elseif (isset($_POST['categories']) and $_POST['categories'] != "") {$category = explode(",", $_POST['categories']);} elseif ($category == "") {$category = array();} else {$category = explode(",", $category);} if (isset($_GET['sub-categories'])) {$subcategory = explode(",", $_GET['sub-categories']);} elseif (isset($_POST['subcategories']) and $_POST['subcategories'] != "") {$subcategory = explode(",", $_POST['subcategories']);} elseif ($subcategory == "") {$subcategory = array();} else {$subcategory = explode(",", $subcategory);} if (isset($_GET['tags'])) {$tags = explode(",", $_GET['tags']);} elseif (isset($_POST['tags']) and $_POST['tags'] != "") {$tags = explode(",", $_POST['tags']);} elseif ($tags == "") {$tags = array();} else {$tags = explode(",", $tags);} if (isset($_POST['prod_name']) and $_POST['prod_name'] != "") {$prod_name = $_POST['prod_name'];} //Pagination early work if ($products_per_page == "") {$products_per_page = $Products_Per_Page;} if ($category != "" or $subcategory != "" or $tags != "" or $prod_name != "") {$Filtered = "Yes";} else {$Filtered = "No";} $ReturnString .= "<div class='upcp-Hide-Item' id='upcp-shortcode-atts'>"; $ReturnString .= "<div class='shortcode-attr' id='upcp-catalogue-id'>" . $id . "</div>"; $ReturnString .= "<div class='shortcode-attr' id='upcp-catalogue-sidebar'>" . $sidebar . "</div>"; $ReturnString .= "<div class='shortcode-attr' id='upcp-starting-layout'>" . $starting_layout . "</div>"; $ReturnString .= "<div class='shortcode-attr' id='upcp-current-layout'>" . $starting_layout . "</div>"; $ReturnString .= "<div class='shortcode-attr' id='upcp-exclude-layouts'>" . $excluded_layouts . "</div>"; $ReturnString .= "<div class='shortcode-attr' id='upcp-current-page'>" . $current_page . "</div>"; $ReturnString .= "<div class='shortcode-attr' id='upcp-default-search-text'>" . $Product_Name_Text . "</div>"; if ($ajax_reload == "Yes") {$ReturnString .= "<div class='shortcode-attr' id='upcp-base-url'>" . $ajax_url . "</div>";} else { $uri_parts = explode('?', $_SERVER['REQUEST_URI'], 2); if ($uri_parts[0] != "/") {$ReturnString .= "<div class='shortcode-attr' id='upcp-base-url'>" . $uri_parts[0] . "</div>";} else {$ReturnString .= "<div class='shortcode-attr' id='upcp-base-url'>/?" . $uri_parts[1] . "</div>";} } $ReturnString .= "</div>"; if (sizeOf($Excluded_Layouts)>0) {for ($i=0; $i<sizeOf($Excluded_Layouts); $i++) {$ExcludedLayouts[$i] = ucfirst(trim($Excluded_Layouts[$i]));}} else {$ExcludedLayouts = array();} if ($Starting_Layout == "") { if (!in_array("Thumbnail", $Excluded_Layouts)) {$Starting_Layout = "Thumbnail";} elseif (!in_array("List", $Excluded_Layouts)) {$Starting_Layout = "List";} else {$Starting_Layout = "Detail";} } // Make sure that the layout is set if ($layout_format != "Thumbnail" and $layout_format != "List") { if ($Catalogue->Catalogue_Layout_Format != "") {$format = $Catalogue->Catalogue_Layout_Format;} else {$format = "Thumbnail";} } else {$format = $layout_format;} // Arrays to store what categories, sub-categories and tags are applied to the product in the catalogue $ProdCats = array(); $ProdSubCats = array(); $ProdTags = array(); $ProdThumbString .= "<div id='prod-cat-" . $id . "' class='prod-cat thumb-display "; if ($Starting_Layout != "Thumbnail") {$ProdThumbString .= "hidden-field";} $ProdThumbString .= "'>\n"; $ProdThumbString .= "%upcp_pagination_placeholder_top%"; $ProdListString .= "<div id='prod-cat-" . $id . "' class='prod-cat list-display "; if ($Starting_Layout != "List") {$ProdListString .= "hidden-field";} $ProdListString .= "'>\n"; $ProdListString .= "%upcp_pagination_placeholder_top%"; $ProdDetailString .= "<div id='prod-cat-" . $id . "' class='prod-cat detail-display "; if ($Starting_Layout != "Detail") {$ProdDetailString .= "hidden-field";} $ProdDetailString .= "'>\n"; $ProdDetailString .= "%upcp_pagination_placeholder_top%"; $Product_Count = 0; foreach ($CatalogueItems as $CatalogueItem) { // If the item is a product, then simply call the AddProduct function to add it to the code if ($CatalogueItem->Item_ID != "" and $CatalogueItem->Item_ID != 0) { $Product = $wpdb->get_row("SELECT * FROM $items_table_name WHERE Item_ID=" . $CatalogueItem->Item_ID); $ProdTagObj = $wpdb->get_results("SELECT Tag_ID FROM $tagged_items_table_name WHERE Item_ID=" . $CatalogueItem->Item_ID); $ProdTag = ObjectToArray($ProdTagObj); $NameSearchMatch = SearchProductName($Product->Item_ID, $Product->Item_Name, $Product->Item_Description, $prod_name, $CaseInsensitiveSearch, $ProductSearch); if (sizeOf($tags) == 0) {$Tag_Check = "Yes";} else {$Tag_Check = CheckTags($tags, $ProdTag, $Tag_Logic);} if ($products_per_page < 1000000) {$Pagination_Check = CheckPagination($Product_Count, $products_per_page, $current_page, $Filtered);} else {$Pagination_Check = "OK";} if ($NameSearchMatch == "Yes") { if ($Product->Item_Display_Status != "Hide") { if (sizeOf($category) == 0 or in_array($Product->Category_ID, $category)) { if (sizeOf($subcategory) == 0 or in_array($Product->SubCategory_ID, $subcategory)) { if ($Tag_Check == "Yes") { if ($Pagination_Check == "OK") { $HeaderBar .= "<a id='hidden_FB_link-" . $CatalogueItem->Item_ID . "' class='fancybox' href='#prod-cat-addt-details-" . $CatalogueItem->Item_ID . "'></a>"; if (!in_array("Thumbnail", $ExcludedLayouts)) {$ProdThumbString .= AddProduct("Thumbnail", $CatalogueItem->Item_ID, $Product, $ProdTagObj, $ajax_reload, $ajax_url);} if (!in_array("List", $ExcludedLayouts)) {$ProdListString .= AddProduct("List", $CatalogueItem->Item_ID, $Product, $ProdTagObj, $ajax_reload, $ajax_url);} if (!in_array("Detail", $ExcludedLayouts)) {$ProdDetailString .= AddProduct("Detail", $CatalogueItem->Item_ID, $Product, $ProdTagObj, $ajax_reload, $ajax_url);} } $Product_Count++; }}}}} if ($ajax_reload == "No") {FilterCount($Product, $ProdTagObj);} unset($NameSearchMatch); } // If the item is a category, then add the appropriate extra HTML and call the AddProduct function // for each individual product in the category if ($CatalogueItem->Category_ID != "" and $CatalogueItem->Category_ID != 0) { if (sizeOf($category) == 0 or in_array($CatalogueItem->Category_ID, $category)) { $CatProdCount = 0; $Category = $wpdb->get_row("SELECT Category_Name FROM $categories_table_name WHERE Category_ID=" . $CatalogueItem->Category_ID); $ProdThumbString .= "<div id='prod-cat-category-" . $CatalogueItem->Category_ID . "' class='prod-cat-category upcp-thumb-category'>\n"; $ProdListString .= "<div id='prod-cat-category-" . $CatalogueItem->Category_ID . "' class='prod-cat-category upcp-list-category'>\n"; $ProdDetailString .= "<div id='prod-cat-category-" . $CatalogueItem->Category_ID . "' class='prod-cat-category upcp-detail-category'>\n"; $ProdThumbString .= "%Category_Label%"; $ProdListString .= "%Category_Label%"; $ProdDetailString .= "%Category_Label%"; $CatThumbHead = "<div id='prod-cat-category-label-" . $CatalogueItem->Category_ID . "' class='prod-cat-category-label upcp-thumb-category-label'>" . $Category->Category_Name ."</div>\n"; $CatListHead = "<div id='prod-cat-category-label-" . $CatalogueItem->Category_ID . "' class='prod-cat-category-label upcp-list-category-label'>" . $Category->Category_Name ."</div>\n"; $CatDetailHead = "<div id='prod-cat-category-label-" . $CatalogueItem->Category_ID . "' class='prod-cat-category-label upcp-detail-category-label'>" . $Category->Category_Name ."</div>\n"; $Products = $wpdb->get_results("SELECT * FROM $items_table_name WHERE Category_ID=" . $CatalogueItem->Category_ID); foreach ($Products as $Product) { $ProdTagObj = $wpdb->get_results("SELECT Tag_ID FROM $tagged_items_table_name WHERE Item_ID=" . $Product->Item_ID); $ProdTag = ObjectToArray($ProdTagObj); $NameSearchMatch = SearchProductName($Product->Item_ID, $Product->Item_Name, $Product->Item_Description, $prod_name, $CaseInsensitiveSearch, $ProductSearch); if (sizeOf($tags) == 0) {$Tag_Check = "Yes";} else {$Tag_Check = CheckTags($tags, $ProdTag, $Tag_Logic);} if ($products_per_page < 1000000) {$Pagination_Check = CheckPagination($Product_Count, $products_per_page, $current_page, $Filtered);} else {$Pagination_Check = "OK";} if ($NameSearchMatch == "Yes") { if ($Product->Item_Display_Status != "Hide") { if (sizeOf($subcategory) == 0 or in_array($Product->SubCategory_ID, $subcategory)) { if ($Tag_Check == "Yes") { if ($Pagination_Check == "OK") { $HeaderBar .= "<a id='hidden_FB_link-" . $Product->Item_ID . "' class='fancybox' href='#prod-cat-addt-details-" . $Product->Item_ID . "'></a>"; if (!in_array("Thumbnail", $ExcludedLayouts)) {$ProdThumbString .= AddProduct("Thumbnail", $Product->Item_ID, $Product, $ProdTagObj, $ajax_reload, $ajax_url);} if (!in_array("List", $ExcludedLayouts)) {$ProdListString .= AddProduct("List", $Product->Item_ID, $Product, $ProdTagObj, $ajax_reload, $ajax_url);} if (!in_array("Detail", $ExcludedLayouts)) {$ProdDetailString .= AddProduct("Detail", $Product->Item_ID, $Product, $ProdTagObj, $ajax_reload, $ajax_url);} $CatProdCount++; } $Product_Count++; }}}} if ($ajax_reload == "No") {FilterCount($Product, $ProdTagObj);} unset($NameSearchMatch); } if ($CatProdCount > 0) { $ProdThumbString = str_replace("%Category_Label%", $CatThumbHead, $ProdThumbString); $ProdListString = str_replace("%Category_Label%", $CatListHead, $ProdListString); $ProdDetailString = str_replace("%Category_Label%", $CatDetailHead, $ProdDetailString); } else { $ProdThumbString = str_replace("%Category_Label%", "", $ProdThumbString); $ProdListString = str_replace("%Category_Label%", "", $ProdListString); $ProdDetailString = str_replace("%Category_Label%", "", $ProdDetailString); } $ProdThumbString .= "</div>"; $ProdListString .= "</div>"; $ProdDetailString .= "</div>"; }} // If the item is a sub-category, then add the appropriate extra HTML and call the AddProduct function // for each individual product in the sub-category if ($CatalogueItem->SubCategory_ID != "" and $CatalogueItem->SubCategory_ID != 0) { if (sizeOf($subcategory) == 0 or in_array($CatalogueItem->SubCategory_ID, $subcategory)) { $Products = $wpdb->get_results("SELECT * FROM $items_table_name WHERE SubCategory_ID=" . $CatalogueItem->SubCategory_ID); foreach ($Products as $Product) { $ProdTagObj = $wpdb->get_results("SELECT Tag_ID FROM $tagged_items_table_name WHERE Item_ID=" . $Product->Item_ID); $ProdTag = ObjectToArray($ProdTagObj); $NameSearchMatch = SearchProductName($Product->Item_ID, $Product->Item_Name, $Product->Item_Description, $prod_name, $CaseInsensitiveSearch, $ProductSearch); if (sizeOf($tags) == 0) {$Tag_Check = "Yes";} else {$Tag_Check = CheckTags($tags, $ProdTag, $Tag_Logic);} if ($products_per_page < 1000000) {$Pagination_Check = CheckPagination($Product_Count, $products_per_page, $current_page, $Filtered);} else {$Pagination_Check = "OK";} if ($NameSearchMatch == "Yes") { if ($Product->Item_Display_Status != "Hide") { if (sizeOf($category) == 0 or in_array($Product->Category_ID, $category)) { if ($Tag_Check == "Yes") { if ($Pagination_Check == "OK") { $HeaderBar .= "<a id='hidden_FB_link-" . $Product->Item_ID . "' class='fancybox' href='#prod-cat-addt-details-" . $Product->Item_ID . "'></a>"; if (!in_array("Thumbnail", $ExcludedLayouts)) {$ProdThumbString .= AddProduct("Thumbnail", $Product->Item_ID, $Product, $ProdTagObj, $ajax_reload, $ajax_url);} if (!in_array("List", $ExcludedLayouts)) {$ProdListString .= AddProduct("List", $Product->Item_ID, $Product, $ProdTagObj, $ajax_reload, $ajax_url);} if (!in_array("Detail", $ExcludedLayouts)) {$ProdDetailString .= AddProduct("Detail", $Product->Item_ID, $Product, $ProdTagObj, $ajax_reload, $ajax_url);} } $Product_Count++; }}}} if ($ajax_reload == "No") {FilterCount($Product, $ProdTagObj);} unset($NameSearchMatch); } }} //if ($Pagination_Check == "Over") {break;} } if ($Product_Count == 0) { $ProdThumbString .= $No_Results_Found_Label; $ProdListString .= $No_Results_Found_Label; $ProdDetailString .= $No_Results_Found_Label; } $ProdThumbString .= "<div class='upcp-clear'></div>\n"; $ProdListString .= "<div class='upcp-clear'></div>\n"; $ProdDetailString .= "<div class='upcp-clear'></div>\n"; if ($Pagination_Location == "Bottom" or $Pagination_Location == "Both") { $ProdThumbString .= "%upcp_pagination_placeholder_bottom%"; $ProdListString .= "%upcp_pagination_placeholder_bottom%"; $ProdDetailString .= "%upcp_pagination_placeholder_bottom%"; /*$ProdThumbString .= "<div class='upcp-clear'></div>\n"; $ProdListString .= "<div class='upcp-clear'></div>\n"; $ProdDetailString .= "<div class='upcp-clear'></div>\n";*/ } $ProdThumbString .= "</div>\n"; $ProdListString .= "</div>\n"; $ProdDetailString .= "</div>\n"; if (in_array("Thumbnail", $ExcludedLayouts)) {unset($ProdThumbString);} if (in_array("List", $ExcludedLayouts)) {unset($ProdListString);} if (in_array("Detail", $ExcludedLayouts)) {unset($ProdDetailString);} //Deal with creating the page counter, if pagination is neccessary if ($Filtered == "Yes") {$Total_Products = $Product_Count;} else {$Total_Products = $Catalogue->Catalogue_Item_Count;} if ($Total_Products > $products_per_page) { $Num_Pages = ceil($Total_Products / $products_per_page); $PrevPage = max($current_page - 1, 1); $NextPage = min($current_page + 1, $Num_Pages); $PaginationString .= "<div class='catalogue-nav'>"; $PaginationString .= "<span class='displaying-num'>" . $Total_Products . $Products_Pagination_Text . "</span>"; $PaginationString .= "<span class='pagination-links'>"; $PaginationString .= "<a class='first-page' title='Go to the first page' href='#' onclick='UPCP_DisplayPage(\"1\")'>«</a>"; $PaginationString .= "<a class='prev-page' title='Go to the previous page' href='#' onclick='UPCP_DisplayPage(\"" . $PrevPage . "\")'>‹</a>"; $PaginationString .= "<span class='paging-input'>" . $current_page . __(' of ', 'UPCP') . "<span class='total-pages'>" . $Num_Pages . "</span></span>"; $PaginationString .= "<a class='next-page' title='Go to the next page' href='#' onclick='UPCP_DisplayPage(\"" . $NextPage . "\")'>›</a>"; $PaginationString .= "<a class='last-page' title='Go to the last page' href='#' onclick='UPCP_DisplayPage(\"" . $Num_Pages . "\")'>»</a>"; $PaginationString .= "</span>"; $PaginationString .= "</div>"; if ($current_page == 1) {$PaginationString = str_replace("first-page", "first-page disabled", $PaginationString);} if ($current_page == 1) {$PaginationString = str_replace("prev-page", "prev-page disabled", $PaginationString);} if ($current_page == $Num_Pages) {$PaginationString = str_replace("next-page", "next-page disabled", $PaginationString);} if ($current_page == $Num_Pages) {$PaginationString = str_replace("last-page", "last-page disabled", $PaginationString);} /*if ($current_page != 1) {$PaginationString .= "<a href='#' onclick='UPCP_DisplayPage(\"1\")>" . __('First', 'UPCP') . "</a>";} if ($current_page != 1) {$PaginationString .= "<a href='#' onclick='UPCP_DisplayPage(\"" . $current_page - 1 . "\")>" . __('Previous', 'UPCP') . "</a>";} $PaginationString .= "<span class='paging-input'>" . $current_page . __(' of ', 'UPCP') . "<span class='total-pages'>" . $Num_Pages . "</span></span>"; if ($current_page != $Num_Pages) {$PaginationString .= "<a href='#' onclick='UPCP_DisplayPage(\"" . $current_page + 1 . "\")>" . __('Next', 'UPCP') . "</a>";} if ($current_page != $Num_Pages) {$PaginationString .= "<a href='#' onclick='UPCP_DisplayPage(\"" . $Num_Pages . "\")>" . __('Last', 'UPCP') . "</a>";}*/ } if ($Pagination_Location == "Bottom") { $ProdThumbString = str_replace("%upcp_pagination_placeholder_top%", "", $ProdThumbString); $ProdListString = str_replace("%upcp_pagination_placeholder_top%", "", $ProdListString); $ProdDetailString = str_replace("%upcp_pagination_placeholder_top%", "", $ProdDetailString); } if ($Pagination_Location == "Top") { $ProdThumbString = str_replace("%upcp_pagination_placeholder_bottom%", "", $ProdThumbString); $ProdListString = str_replace("%upcp_pagination_placeholder_bottom%", "", $ProdListString); $ProdDetailString = str_replace("%upcp_pagination_placeholder_bottom%", "", $ProdDetailString); } $ProdThumbString = str_replace("%upcp_pagination_placeholder_top%", $PaginationString, $ProdThumbString); $ProdListString = str_replace("%upcp_pagination_placeholder_top%", $PaginationString, $ProdListString); $ProdDetailString = str_replace("%upcp_pagination_placeholder_top%", $PaginationString, $ProdDetailString); $ProdThumbString = str_replace("%upcp_pagination_placeholder_bottom%", $PaginationString, $ProdThumbString); $ProdListString = str_replace("%upcp_pagination_placeholder_bottom%", $PaginationString, $ProdListString); $ProdDetailString = str_replace("%upcp_pagination_placeholder_bottom%", $PaginationString, $ProdDetailString); // Create string from the arrays, should use the implode function instead foreach ($ProdCats as $key=>$value) {$ProdCatString .= $key . ",";} $ProdCatString = trim($ProdCatString, " ,"); foreach ($ProdSubCats as $key=>$value) {$ProdSubCatString .= $key . ",";} $ProdSubCatString = trim($ProdSubCatString, " ,"); foreach ($ProdTags as $key=>$value) {$ProdTagString .= $key . ",";} $ProdTagString = trim($ProdTagString, " ,"); // If the sidebar is requested, add it if (($sidebar == "Yes" or $sidebar == "yes" or $sidebar == "YES") and $only_inner != "Yes") { $SidebarString = BuildSidebar($category, $subcategory, $tags, $prod_name); } if ($Mobile_Style == "Yes") { $MobileMenuString .= "<div id='prod-cat-mobile-menu' class='upcp-mobile-menu'>\n"; $MobileMenuString .= "<div id='prod-cat-mobile-search'>\n"; if ($Tag_Logic == "OR") {$MobileMenuString .= "<input type='text' id='upcp-mobile-search' class='jquery-prod-name-text mobile-search' name='Mobile_Search' value='" . __('Product Name', 'UPCP') . "...' onfocus='FieldFocus(this);' onblur='FieldBlur(this);' onkeyup='UPCP_Filer_Results_OR();'>\n";} else {$MobileMenuString .= "<input type='text' id='upcp-mobile-search' class='jquery-prod-name-text mobile-search' name='Mobile_Search' value='" . __('Product Name', 'UPCP') . "...' onfocus='FieldFocus(this);' onblur='FieldBlur(this);' onkeyup='UPCP_Filer_Results();'>\n";} $MobileMenuString .= "</div>"; $MobileMenuString .= "</div>"; } $HeaderBar .= "<div class='prod-cat-header-div " . $Color . "-prod-cat-header-div'>"; $HeaderBar .= "<div class='prod-cat-header-padding'></div>"; $HeaderBar .= "<div id='starting-layout' class='hidden-field'>" . $Starting_Layout . "</div>"; if (!in_array("Thumbnail", $ExcludedLayouts)) { $HeaderBar .= "<a href='#' onclick='ToggleView(\"Thumbnail\");return false;' title='Thumbnail'><div class='upcp-thumb-toggle-icon " . $Color . "-thumb-icon'></div></a>"; } if (!in_array("List", $ExcludedLayouts)) { $HeaderBar .= "<a href='#' onclick='ToggleView(\"List\"); return false;' title='List'><div class='upcp-list-toggle-icon " . $Color . "-list-icon'></div></a>"; } if (!in_array("Detail", $ExcludedLayouts)) { $HeaderBar .= "<a href='#' onclick='ToggleView(\"Detail\"); return false;' title='Detail'><div class='upcp-details-toggle-icon " . $Color . "-details-icon'></div></a>"; } $HeaderBar .= "<div class='upcp-clear'></div>"; $HeaderBar .= "</div>"; $Bottom_JS .= "<script language='JavaScript' type='text/javascript'>"; if (isset($_GET['Product_ID'])) {$Bottom_JS .= "jQuery(window).load(OpenProduct('" . $_GET['Product_ID'] . "'));";} $Bottom_JS .= "</script>"; $InnerString .= "<div class='prod-cat-inner'>" . $ProdThumbString . "<div class='upcp-clear'></div>" . $ProdListString . "<div class='upcp-clear'></div>" . $ProdDetailString . "<div class='upcp-clear'></div></div>"; if ($only_inner == "Yes") { $ReturnArray['request_count'] = $request_count; $ReturnArray['message'] = $InnerString; return json_encode($ReturnArray); } $ReturnString .= "<div class='prod-cat-container'>"; $ReturnString .= $HeaderBar; $ReturnString .= $MobileMenuString; $ReturnString .= $InnerString; $ReturnString .= $SidebarString; $ReturnString .= $Bottom_JS; $ReturnString .= "<div class='upcp-clear'></div></div>"; return $ReturnString; } /* Function to add the HTML for an individual product to the catalog */ function AddProduct($format, $Item_ID, $Product, $Tags, $AjaxReload = "No", $AjaxURL = "") { // Add the required global variables global $wpdb, $categories_table_name, $subcategories_table_name, $tags_table_name, $tagged_items_table_name, $catalogues_table_name, $catalogue_items_table_name, $items_table_name, $item_images_table_name; global $ProdCats, $ProdSubCats, $ProdTags, $ReturnString; $ReadMore = get_option("UPCP_Read_More"); $Links = get_option("UPCP_Product_Links"); $Pretty_Links = get_option("UPCP_Pretty_Links"); $Detail_Desc_Chars = get_option("UPCP_Desc_Chars"); $CF_Conversion = get_option("UPCP_CF_Conversion"); $Details_Label = get_option("UPCP_Details_Label"); if ($Details_Label != "") {$Details_Text = $Details_Label;} else {$Details_Text = __("Details", 'UPCP');} if ($Links == "New") {$NewWindow = true;} else {$NewWindow = false;} if ($CF_Conversion != "No") {$Description = ConvertCustomFields($Product->Item_Description);} else {$Description = $Product->Item_Description;} $Description = str_replace("[upcp-price]", $Product->Item_Price, $Description); //Select the product info, tags and images for the product $Item_Images = $wpdb->get_results("SELECT Item_Image_URL, Item_Image_ID FROM $item_images_table_name WHERE Item_ID=" . $Item_ID); $TagsString = ""; if ($Product->Item_Photo_URL != "" and strlen($Product->Item_Photo_URL) > 7 and substr($Product->Item_Photo_URL, 0, 7) != "http://") { $PhotoCode = $Product->Item_Photo_URL; $PhotoCode = do_shortcode($PhotoCode); } elseif ($Product->Item_Photo_URL != "" and strlen($Product->Item_Photo_URL) > 7) { $PhotoURL = htmlspecialchars($Product->Item_Photo_URL, ENT_QUOTES); $PhotoCode = "<img src='" . $PhotoURL . "' alt='" . $Product->Item_Name . " Image' id='prod-cat-thumb-" . $Product->Item_ID . "' class='prod-cat-thumb-image upcp-thumb-image'>"; } else { $PhotoURL = plugins_url('ultimate-product-catalogue/images/No-Photo-Available.jpg'); $PhotoCode = "<img src='" . $PhotoURL . "' alt='" . $Product->Item_Name . " Image' id='prod-cat-thumb-" . $Product->Item_ID . "' class='prod-cat-thumb-image upcp-thumb-image'>"; } //Create the tag string for filtering foreach ($Tags as $Tag) {$TagsString .= $Tag->Tag_ID . ", ";} $TagsString = trim($TagsString, " ,"); // Check whether the FancyBox for WordPress plugin is activated $plugin = "fancybox-for-wordpress/fancybox.php"; include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); $FancyBox_Installed = is_plugin_active($plugin); $uri_parts = explode('?', $_SERVER['REQUEST_URI'], 2); $FB_Perm_URL = $uri_parts[0] . "?" . $uri_parts[1]; if ($uri_parts[1] == "") {$FB_Perm_URL .= "Product_ID=" . $Product->Item_ID;} else {$FB_Perm_URL .= "&Product_ID=" . $Product->Item_ID;} if ($AjaxReload == "Yes") {$Base = $AjaxURL;} else {$Base = $uri_parts[0];} if ($Product->Item_Link != "") {$ItemLink = $Product->Item_Link;} elseif ($FancyBox_Installed) {$ItemLink = "#prod-cat-addt-details-" . $Product->Item_ID; $FancyBoxClass = true;} elseif ($Pretty_Links == "Yes") {$ItemLink = $Base . "product/" . $Product->Item_Slug . "/?" . $uri_parts[1];} else {$ItemLink = $Base . "?" . $uri_parts[1] . "&SingleProduct=" . $Product->Item_ID;} //Create the listing for the thumbnail layout display if ($format == "Thumbnail") { $ProductString .= "<div id='prod-cat-item-" . $Product->Item_ID . "' class='prod-cat-item upcp-thumb-item'>\n"; $ProductString .= "<div id='prod-cat-thumb-div-" . $Product->Item_ID . "' class='prod-cat-thumb-image-div upcp-thumb-image-div'>"; $ProductString .= "<a class='upcp-catalogue-link "; if ($FancyBoxClass and !$NewWindow) {$ProductString .= "fancybox";} $ProductString .= "' "; if ($NewWindow) {$ProductString .= "target='_blank'";} $ProductString .= " href='" . $ItemLink . "' onclick='RecordView(" . $Product->Item_ID . ");'>"; $ProductString .= $PhotoCode; $ProductString .= "</a>"; $ProductString .= "</div>\n"; $ProductString .= "<div id='prod-cat-title-" . $Product->Item_ID . "' class='prod-cat-title upcp-thumb-title'>"; $ProductString .= "<a class='upcp-catalogue-link "; if ($FancyBoxClass and !$NewWindow) {$ProductString .= "fancybox";} $ProductString .= " no-underline'"; if ($NewWindow) {$ProductString .= "target='_blank'";} $ProductString .= " href='" . $ItemLink . "' onclick='RecordView(" . $Product->Item_ID . ");'>" . $Product->Item_Name . "</a>"; $ProductString .= AddCustomFields($Product->Item_ID, "thumbs"); $ProductString .= "</div>\n"; $ProductString .= "<div id='prod-cat-price-" . $Product->Item_ID . "' class='prod-cat-price upcp-thumb-price'>" . $Product->Item_Price . "</div>\n"; $ProductString .= "<a class='upcp-catalogue-link "; if ($FancyBoxClass and !$NewWindow) {$ProductString .= "fancybox";} $ProductString .= "' "; if ($NewWindow) {$ProductString .= "target='_blank'";} $ProductString .= " href='" . $ItemLink . "' onclick='RecordView(" . $Product->Item_ID . ");'>"; $ProductString .= "<div id='prod-cat-details-link-" . $Product->Item_ID . "' class='prod-cat-details-link upcp-thumb-details-link'>" . $Details_Text . "</div>\n"; $ProductString .= "</a>"; } //Create the listing for the list layout display if ($format == "List") { $ProductString .= "<div id='prod-cat-item-" . $Product->Item_ID . "' class='prod-cat-item upcp-list-item'>\n"; $ProductString .= "<div id='prod-cat-title-" . $Product->Item_ID . "' class='prod-cat-title upcp-list-title' onclick='ToggleItem(" . $Product->Item_ID . ");'>" . $Product->Item_Name . "</div>\n"; $ProductString .= "<div id='prod-cat-price-" . $Product->Item_ID . "' class='prod-cat-price upcp-list-price' onclick='ToggleItem(" . $Product->Item_ID . ");'>" . $Product->Item_Price . "</div>\n"; $ProductString .= "<div id='prod-cat-details-" . $Product->Item_ID . "' class='prod-cat-details upcp-list-details hidden-field'>\n"; $ProductString .= "<div id='prod-cat-thumb-div-" . $Product->Item_ID . "' class='prod-cat-thumb-image-div upcp-list-image-div'>"; $ProductString .= "<a class='upcp-catalogue-link "; if ($FancyBoxClass and !$NewWindow) {$ProductString .= "fancybox";} $ProductString .= "' "; if ($NewWindow) {$ProductString .= "target='_blank'";} $ProductString .= " href='" . $ItemLink . "' onclick='RecordView(" . $Product->Item_ID . ");'>"; $ProductString .= $PhotoCode; $ProductString .= "</a>"; $ProductString .= "</div>\n"; $ProductString .= "<div id='prod-cat-desc-" . $Product->Item_ID . "' class='prod-cat-desc upcp-list-desc'>" . $Description . "</div>\n"; $ProductString .= "<a class='upcp-catalogue-link "; if ($FancyBoxClass and !$NewWindow) {$ProductString .= "fancybox";} $ProductString .= "' "; if ($NewWindow) {$ProductString .= "target='_blank'";} $ProductString .= " href='" . $ItemLink . "' onclick='RecordView(" . $Product->Item_ID . ");'>"; $ProductString .= "<div id='prod-cat-details-link-" . $Product->Item_ID . "' class='prod-cat-details-link upcp-list-details-link'>" . __("Images", 'UPCP') . "</div>\n"; $ProductString .= "</a>"; $ProductString .= "</div>"; } //Create the listing for the detail layout display if ($format == "Detail") { $ProductString .= "<div id='prod-cat-item-" . $Product->Item_ID . "' class='prod-cat-item upcp-detail-item'>\n"; $ProductString .= "<div id='prod-cat-detail-div-" . $Product->Item_ID . "' class='prod-cat-detail-image-div upcp-detail-image-div'>"; $ProductString .= "<a class='upcp-catalogue-link "; if ($FancyBoxClass and !$NewWindow) {$ProductString .= "fancybox";} $ProductString .= "' "; if ($NewWindow) {$ProductString .= "target='_blank'";} $ProductString .= " href='" . $ItemLink . "' onclick='RecordView(" . $Product->Item_ID . ");'>"; $ProductString .= $PhotoCode; $ProductString .= "</a>"; $ProductString .= "</div>\n"; $ProductString .= "<div id='prod-cat-mid-div-" . $Product->Item_ID . "' class='prod-cat-mid-detail-div upcp-mid-detail-div'>"; $ProductString .= "<div id='prod-cat-title-" . $Product->Item_ID . "' class='prod-cat-title upcp-detail-title'>" . $Product->Item_Name . "</div>\n"; if ($ReadMore == "Yes") {$ProductString .= "<div id='prod-cat-desc-" . $Product->Item_ID . "' class='prod-cat-desc upcp-detail-desc'>" . strip_tags(substr($Description, 0, $Detail_Desc_Chars));} else {$ProductString .= "<div id='prod-cat-desc-" . $Product->Item_ID . "' class='prod-cat-desc upcp-detail-desc'>" . strip_tags($Description);} if ($ReadMore == "Yes") { if (strlen($Description) > $Detail_Desc_Chars) { $ProductString .= "... <a class='upcp-catalogue-link "; if ($FancyBoxClass and !$NewWindow) {$ProductString .= "fancybox";} $ProductString .= "' "; if ($NewWindow) {$ProductString .= "target='_blank'";} $ProductString .= " href='" . $ItemLink . "' onclick='RecordView(" . $Product->Item_ID . ");'>" . __("Read More", 'UPCP') . "</a>"; } } $ProductString .= AddCustomFields($Product->Item_ID, "details"); $ProductString .= "</div>\n"; $ProductString .= "</div>"; $ProductString .= "<div id='prod-cat-end-div-" . $Product->Item_ID . "' class='prod-cat-end-detail-div upcp-end-detail-div'>"; $ProductString .= "<div id='prod-cat-price-" . $Product->Item_ID . "' class='prod-cat-price upcp-detail-price'>" . $Product->Item_Price . "</div>\n"; $ProductString .= "<a class='upcp-catalogue-link "; if ($FancyBoxClass and !$NewWindow) {$ProductString .= "fancybox";} $ProductString .= "' "; if ($NewWindow) {$ProductString .= "target='_blank'";} $ProductString .= " href='" . $ItemLink . "' onclick='RecordView(" . $Product->Item_ID . ");'>"; $ProductString .= "<div id='prod-cat-details-link-" . $Product->Item_ID . "' class='prod-cat-details-link upcp-detail-details-link'>" . $Details_Text . "</div>\n"; $ProductString .= "</a>"; $ProductString .= "</div>"; } if ($FancyBox_Installed) { $ProductString .= "<div style='display:none;' id='upcp-fb-" . $Product->Item_ID . "'>"; $ProductString .= "<div id='prod-cat-addt-details-" . $Product->Item_ID . "' class='prod-cat-addt-details'>"; $ProductString .= "<div id='prod-cat-addt-details-thumbs-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-thumbs-div'>"; $ProductString .= "<img src='" . $PhotoURL . "' id='prod-cat-addt-details-thumb-P". $Product->Item_ID . "' class='prod-cat-addt-details-thumb' onclick='ZoomImage(\"" . $Product->Item_ID . "\", \"0\");'>"; foreach ($Item_Images as $Image) {$ProductString .= "<img src='" . htmlspecialchars($Image->Item_Image_URL, ENT_QUOTES) . "' id='prod-cat-addt-details-thumb-". $Image->Item_Image_ID . "' class='prod-cat-addt-details-thumb' onclick='ZoomImage(\"" . $Product->Item_ID . "\", \"" . $Image->Item_Image_ID . "\");'>";} $ProductString .= "</div>"; $ProductString .= "<div id='prod-cat-addt-details-right-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-right-div'>"; $ProductString .= "<h2 class='prod-cat-addt-details-title'><a class='no-underline' href='http://" . $_SERVER['HTTP_HOST'] . $FB_Perm_URL . "'>" . $Product->Item_Name . "<img class='upcp-product-url-icon' src='" . get_bloginfo('wpurl') . "/wp-content/plugins/ultimate-product-catalogue/images/insert_link.png' /></a></h2>"; $ProductString .= "<div id='prod-cat-addt-details-main-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-main-div'>"; $ProductString .= "<a class='upcp-no-pointer' onclick='return false'>"; $ProductString .= "<img src='" . $PhotoURL . "' alt='" . $Product->Item_Name . " Image' id='prod-cat-addt-details-main-" . $Product->Item_ID . "' class='prod-cat-addt-details-main'>"; $ProductString .= "</a>"; $ProductString .= "</div>"; $ProductString .= "<div class='upcp-clear'></div>"; $ProductString .= "<div id='prod-cat-addt-details-desc-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-desc-div'>"; $ProductString .= $Description; $ProductString .= AddCustomFields($Product->Item_ID, "details"); $ProductString .= "</div>"; $ProductString .= "</div></div></div>"; //$ProductString .= "</div>"; } // Add hidden fields with the category, sub-category and tag ID's for each product $ProductString .= "<div id='prod-cat-category-jquery-" . $Product->Item_ID . "' class='prod-cat-category-jquery jquery-hidden'> " . $Product->Category_ID . ",</div>\n"; $ProductString .= "<div id='prod-cat-subcategory-jquery-" . $Product->Item_ID . "' class='prod-cat-subcategory-jquery jquery-hidden'> " . $Product->SubCategory_ID . ",</div>\n"; $ProductString .= "<div id='prod-cat-tag-jquery-" . $Product->Item_ID . "' class='prod-cat-tag-jquery jquery-hidden'> " . $TagsString . ",</div>\n"; $ProductString .= "<div id='prod-cat-title-jquery-" . $Product->Item_ID . "' class='prod-cat-title-jquery jquery-hidden'> " . $Product->Item_Name . ",</div>\n"; $ProductString .= "<div class='upcp-clear'></div>\n"; $ProductString .= "</div>\n"; return $ProductString; } function SingleProductPage() { global $wpdb, $items_table_name, $item_images_table_name, $fields_table_name, $fields_meta_table_name, $tagged_items_table_name, $tags_table_name; $Pretty_Links = get_option("UPCP_Pretty_Links"); $Filter_Title = get_option("UPCP_Filter_Title"); $Single_Page_Price = get_option("UPCP_Single_Page_Price"); $Custom_Product_Page = get_option("UPCP_Custom_Product_Page"); $Product_Page_Serialized = get_option("UPCP_Product_Page_Serialized"); $Mobile_Product_Page_Serialized = get_option("UPCP_Product_Page_Serialized_Mobile"); $PP_Grid_Width = get_option("UPCP_PP_Grid_Width"); $PP_Grid_Height = get_option("UPCP_PP_Grid_Height"); $Top_Bottom_Padding = get_option("UPCP_Top_Bottom_Padding"); $Left_Right_Padding = get_option("UPCP_Left_Right_Padding"); $CF_Conversion = get_option("UPCP_CF_Conversion"); $Back_To_Catalogue_Label = get_option("UPCP_Back_To_Catalogue_Label"); if ($Back_To_Catalogue_Label != "") {$Back_To_Catalogue_Text = $Back_To_Catalogue_Label;} else {$Back_To_Catalogue_Text = __("Back to Catalogue", 'UPCP');} if ($Pretty_Links == "Yes") {$Product = $wpdb->get_row("SELECT * FROM $items_table_name WHERE Item_Slug='" . trim(get_query_var('single_product'), "/? ") . "'");} else {$Product = $wpdb->get_row("SELECT * FROM $items_table_name WHERE Item_ID='" . $_GET['SingleProduct'] . "'");} $Item_Images = $wpdb->get_results("SELECT Item_Image_URL, Item_Image_ID FROM $item_images_table_name WHERE Item_ID=" . $Product->Item_ID); $Links = get_option("UPCP_Product_Links"); if ($CF_Conversion != "No") {$Description = ConvertCustomFields($Product->Item_Description);} else {$Description = $Product->Item_Description;} $Description = str_replace("[upcp-price]", $Product->Item_Price, $Description); $Description = do_shortcode($Description); //Edit the title if that option has been selected if ($Filter_Title == "Yes") { add_action( 'init', 'UPCP_Filter_Title', 20, $Product->Item_Name); } //Create the tag string for filtering $Tags = $wpdb->get_results("SELECT Tag_ID FROM $tagged_items_table_name WHERE Item_ID=" . $Product->Item_ID); if (is_array($Tags)) { foreach ($Tags as $Tag) { $TagInfo = $wpdb->get_row("SELECT Tag_Name FROM $tags_table_name WHERE Tag_ID=" . $Tag->Tag_ID); $TagsString .= $TagInfo->Tag_Name . ", "; } } $TagsString = trim($TagsString, " ,"); if ($Product->Item_Photo_URL != "" and strlen($Product->Item_Photo_URL) > 7 and substr($Product->Item_Photo_URL, 0, 7) != "http://") { $PhotoCode = $Product->Item_Photo_URL; $PhotoCode = do_shortcode($PhotoCode); } elseif ($Product->Item_Photo_URL != "" and strlen($Product->Item_Photo_URL) > 7) { $PhotoURL = htmlspecialchars($Product->Item_Photo_URL, ENT_QUOTES); $PhotoCode .= "<img src='" . $PhotoURL . "' alt='" . $Product->Item_Name . " Image' id='prod-cat-addt-details-main-" . $Product->Item_ID . "' class='prod-cat-addt-details-main'>"; $PhotoCodeMobile .= "<img src='" . $PhotoURL . "' alt='" . $Product->Item_Name . " Image' id='prod-cat-addt-details-main-mobile-" . $Product->Item_ID . "' class='prod-cat-addt-details-main'>"; } else { $PhotoURL = plugins_url('ultimate-product-catalogue/images/No-Photo-Available.jpg'); $PhotoCode .= "<img src='" . $PhotoURL . "' alt='" . $Product->Item_Name . " Image' id='prod-cat-addt-details-main-" . $Product->Item_ID . "' class='prod-cat-addt-details-main'>"; $PhotoCodeMobile .= "<img src='" . $PhotoURL . "' alt='" . $Product->Item_Name . " Image' id='prod-cat-addt-details-main-mobile-" . $Product->Item_ID . "' class='prod-cat-addt-details-main'>"; } $uri_parts = explode('?', $_SERVER['REQUEST_URI'], 2); $SP_Perm_URL = $uri_parts[0] . "?" . $uri_parts[1]; $Return_URL = $uri_parts[0]; if ($Pretty_Links == "Yes") {$Return_URL = substr($uri_parts[0], 0, strrpos($uri_parts[0], "/", -2)-8) . "/?" . $uri_parts[1];} elseif ($uri_parts[0] == "/") {$Return_URL .= "?" . substr($uri_parts[1], 0, strpos($uri_parts[1], "&"));} if ($uri_parts[1] == "") {$SP_Perm_URL .= "Product_ID=" . $Product->Item_ID;} else {$SP_Perm_URL .= "&Product_ID=" . $Product->Item_ID;} if ($Custom_Product_Page == "No") { $ProductString .= "<div class='upcp-standard-product-page'>"; $ProductString .= "<div class='prod-cat-back-link'>"; $ProductString .= "<a class='upcp-catalogue-link' href='" . $Return_URL . "'>« " . $Back_To_Catalogue_Text . "</a>"; $ProductString .= "</div>"; $ProductString .= "<div id='prod-cat-addt-details-" . $Product->Item_ID . "' class='prod-cat-addt-details'>"; $ProductString .= "<div id='prod-cat-addt-details-thumbs-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-thumbs-div'>"; if (isset($PhotoURL)) {$ProductString .= "<img src='" . $PhotoURL . "' id='prod-cat-addt-details-thumb-P". $Product->Item_ID . "' class='prod-cat-addt-details-thumb' onclick='ZoomImage(\"" . $Product->Item_ID . "\", \"0\");'>";} foreach ($Item_Images as $Image) {$ProductString .= "<img src='" . htmlspecialchars($Image->Item_Image_URL, ENT_QUOTES) . "' id='prod-cat-addt-details-thumb-". $Image->Item_Image_ID . "' class='prod-cat-addt-details-thumb' onclick='ZoomImage(\"" . $Product->Item_ID . "\", \"" . $Image->Item_Image_ID . "\");'>";} $ProductString .= "</div>"; $ProductString .= "<div id='prod-cat-addt-details-right-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-right-div'>"; $ProductString .= "<h2 class='prod-cat-addt-details-title'><a class='no-underline' href='http://" . $_SERVER['HTTP_HOST'] . $SP_Perm_URL . "'>" . $Product->Item_Name . "<img class='upcp-product-url-icon' src='" . get_bloginfo('wpurl') . "/wp-content/plugins/ultimate-product-catalogue/images/insert_link.png' /></a></h2>"; if ($Single_Page_Price == "Yes") {$ProductString .= "<h3 class='prod-cat-addt-details-price'>" . $Product->Item_Price . "</h3>";} $ProductString .= "<div id='prod-cat-addt-details-main-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-main-div'>"; $ProductString .= $PhotoCode; $ProductString .= "</div>"; $ProductString .= "<div class='upcp-clear'></div>"; $ProductString .= "<div id='prod-cat-addt-details-desc-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-desc-div'>"; $ProductString .= $Description . "</div>"; $ProductString .= "<div class='upcp-clear'></div>\n"; $ProductString .= "</div>\n"; $ProductString .= "</div>\n"; $ProductString .= "</div>\n"; $ProductString .= "<div class='upcp-standard-product-page-mobile'>"; $ProductString .= "<div class='prod-cat-back-link'>"; $ProductString .= "<a class='upcp-catalogue-link' href='" . $Return_URL . "'>« " . $Back_To_Catalogue_Text . "</a>"; $ProductString .= "</div>"; $ProductString .= "<h2 class='prod-cat-addt-details-title'><a class='no-underline' href='http://" . $_SERVER['HTTP_HOST'] . $SP_Perm_URL . "'>" . $Product->Item_Name . "<img class='upcp-product-url-icon' src='" . get_bloginfo('wpurl') . "/wp-content/plugins/ultimate-product-catalogue/images/insert_link.png' /></a></h2>"; if ($Single_Page_Price == "Yes") {$ProductString .= "<h3 class='prod-cat-addt-details-price'>" . $Product->Item_Price . "</h3>";} $ProductString .= $PhotoCodeMobile; $ProductString .= "<div class='upcp-clear'></div>"; $ProductString .= "<div id='prod-cat-addt-details-" . $Product->Item_ID . "' class='prod-cat-addt-details'>"; $ProductString .= "<div id='prod-cat-addt-details-thumbs-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-thumbs-div'>"; if (isset($PhotoURL)) {$ProductString .= "<img src='" . $PhotoURL . "' id='prod-cat-addt-details-thumb-P". $Product->Item_ID . "' class='prod-cat-addt-details-thumb' onclick='ZoomImage(\"" . $Product->Item_ID . "\", \"0\");'>";} foreach ($Item_Images as $Image) {$ProductString .= "<img src='" . htmlspecialchars($Image->Item_Image_URL, ENT_QUOTES) . "' id='prod-cat-addt-details-thumb-". $Image->Item_Image_ID . "' class='prod-cat-addt-details-thumb' onclick='ZoomImage(\"" . $Product->Item_ID . "\", \"" . $Image->Item_Image_ID . "\");'>";} $ProductString .= "<div class='upcp-clear'></div>"; $ProductString .= "</div>"; $ProductString .= "<div id='prod-cat-addt-details-desc-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-desc-div'>"; $ProductString .= $Description . "</div>"; $ProductString .= "<div class='upcp-clear'></div>\n"; $ProductString .= "</div>\n"; $ProductString .= "</div>\n"; } else { if ($Custom_Product_Page == "Large" or $Mobile_Product_Page_Serialized != "") {$ProductString .= "<div class='upcp-custom-large-product-page'>";} echo "<script language='JavaScript' type='text/javascript'>"; echo "var pp_grid_width = " . $PP_Grid_Width . ";"; echo "var pp_grid_height = " . $PP_Grid_Height . ";"; echo "var pp_top_bottom_padding = " . $Top_Bottom_Padding . ";"; echo "var pp_left_right_padding = " . $Left_Right_Padding . ";"; echo "</script>"; $Gridster = json_decode(stripslashes($Product_Page_Serialized)); $ProductString .= "<div class='gridster'>"; $ProductString .= "<ul>"; $ProductString .= BuildGridster($Gridster, $Product, $Item_Images, $Description, $PhotoURL, $SP_Perm_URL, $Return_URL, $TagsString); $ProductString .= "</ul>"; $ProductString .= "</div>"; if ($Custom_Product_Page == "Large") { $ProductString .= "</div>"; $ProductString .= "<div class='upcp-standard-product-page-mobile'>"; $ProductString .= "<div class='prod-cat-back-link'>"; $ProductString .= "<a class='upcp-catalogue-link' href='" . $Return_URL . "'>« " . $Back_To_Catalogue_Text . "</a>"; $ProductString .= "</div>"; $ProductString .= "<h2 class='prod-cat-addt-details-title'><a class='no-underline' href='http://" . $_SERVER['HTTP_HOST'] . $SP_Perm_URL . "'>" . $Product->Item_Name . "<img class='upcp-product-url-icon' src='" . get_bloginfo('wpurl') . "/wp-content/plugins/ultimate-product-catalogue/images/insert_link.png' /></a></h2>"; if ($Single_Page_Price == "Yes") {$ProductString .= "<h3 class='prod-cat-addt-details-price'>" . $Product->Item_Price . "</h3>";} $ProductString .= $PhotoCodeMobile; $ProductString .= "<div class='upcp-clear'></div>"; $ProductString .= "<div id='prod-cat-addt-details-" . $Product->Item_ID . "' class='prod-cat-addt-details'>"; $ProductString .= "<div id='prod-cat-addt-details-thumbs-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-thumbs-div'>"; if (isset($PhotoURL)) {$ProductString .= "<img src='" . $PhotoURL . "' id='prod-cat-addt-details-thumb-P1-". $Product->Item_ID . "' class='prod-cat-addt-details-thumb' onclick='ZoomImage(\"" . $Product->Item_ID . "\", \"0\");'>";} foreach ($Item_Images as $Image) {$ProductString .= "<img src='" . htmlspecialchars($Image->Item_Image_URL, ENT_QUOTES) . "' id='prod-cat-addt-details-thumb-". $Image->Item_Image_ID . "' class='prod-cat-addt-details-thumb' onclick='ZoomImage(\"" . $Product->Item_ID . "\", \"" . $Image->Item_Image_ID . "\");'>";} $ProductString .= "<div class='upcp-clear'></div>"; $ProductString .= "</div>"; $ProductString .= "<div id='prod-cat-addt-details-desc-div-" . $Product->Item_ID . "' class='prod-cat-addt-details-desc-div'>"; $ProductString .= $Description . "</div>"; $ProductString .= "<div class='upcp-clear'></div>\n"; $ProductString .= "</div>\n"; $ProductString .= "</div>\n"; } elseif ($Mobile_Product_Page_Serialized != "") { $ProductString .= "</div>"; $ProductString .= "<div class='upcp-standard-product-page-mobile'>"; $Gridster = json_decode(stripslashes($Mobile_Product_Page_Serialized)); $ProductString .= "<div class='gridster-mobile'>"; $ProductString .= "<ul>"; $ProductString .= BuildGridster($Gridster, $Product, $Item_Images, $Description, $PhotoURL, $SP_Perm_URL, $Return_URL, $TagsString); $ProductString .= "</ul>"; $ProductString .= "</div>"; $ProductString .= "</div>\n"; } } return $ProductString; } function BuildSidebar($category, $subcategory, $tags, $prod_name) { global $wpdb, $Full_Version, $ProdCats, $ProdSubCats, $ProdTags, $ProdCatString, $ProdSubCatString, $ProdTagString; global $categories_table_name, $subcategories_table_name, $tags_table_name; $Color = get_option("UPCP_Color_Scheme"); $Tag_Logic = get_option("UPCP_Tag_Logic"); $ProductSearch = get_option("UPCP_Product_Search"); $Product_Sort = get_option("UPCP_Product_Sort"); $Sidebar_Order = get_option("UPCP_Sidebar_Order"); $Categories_Label = get_option("UPCP_Categories_Label"); $SubCategories_Label = get_option("UPCP_SubCategories_Label"); $Tags_Label = get_option("UPCP_Tags_Label"); $Sort_By_Label = get_option("UPCP_Sort_By_Label"); $Product_Name_Search_Label = get_option("UPCP_Product_Name_Search_Label"); $Product_Search_Text_Label = get_option("UPCP_Product_Name_Text_Label"); if ($Categories_Label != "") {$Categories_Text = $Categories_Label;} else {$Categories_Text = __("Categories:", 'UPCP');} if ($SubCategories_Label != "") {$SubCategories_Text = $SubCategories_Label;} else {$SubCategories_Text = __("Sub-Categories:", 'UPCP');} if ($Tags_Label != "") {$Tags_Text = $Tags_Label;} else {$Tags_Text = __("Tags:", 'UPCP');} if ($Sort_By_Label != "") {$Sort_Text = $Sort_By_Label;} else {$Sort_Text = __('Sort By:', 'UPCP');} if ($Product_Name_Search_Label != "") {$SearchLabel = $Product_Name_Search_Label;} else { if ($ProductSearch == "namedesc" or $ProductSearch == "namedesccust") {$SearchLabel = __("Product Search:", 'UPCP');} else {$SearchLabel = __("Product Name:", 'UPCP');} } if ($prod_name != "") {$Product_Name_Text = $prod_name;} elseif ($Product_Search_Text_Label != "") {$Product_Name_Text = $Product_Search_Text_Label; } else { if ($ProductSearch == "namedesc" or $ProductSearch == "namedesccust") {$Product_Name_Text = __("Search...", 'UPCP');} else {$Product_Name_Text = __("Name...", 'UPCP');} } // Get the categories, sub-categories and tags that apply to the products in the catalog if ($ProdCatString != "") {$Categories = $wpdb->get_results("SELECT Category_ID, Category_Name FROM $categories_table_name WHERE Category_ID in (" . $ProdCatString . ") ORDER BY Category_Name");} if ($ProdSubCatString != "") {$SubCategories = $wpdb->get_results("SELECT SubCategory_ID, SubCategory_Name, Category_ID FROM $subcategories_table_name WHERE SubCategory_ID in (" . $ProdSubCatString . ") ORDER BY SubCategory_Name");} if ($ProdTagString != "") {$Tags = $wpdb->get_results("SELECT Tag_ID, Tag_Name FROM $tags_table_name WHERE Tag_ID in (" . $ProdTagString . ") ORDER BY Tag_Date_Created");} else {$Tags = array();} // My code $SidebarString .= "<table><tbody>"; $SidebarString .= "<form onsubmit='return false;' name='Product_Catalog_Sidebar_Form'>\n"; $SidebarString .= "<tr><td>" . $SearchLabel . "</td></tr>"; $SidebarString .= "<tr><td>"; if ($Filter == "Javascript" and $Tag_Logic == "OR") { $SidebarString .= "<input type='text' id='upcp-name-search' class='jquery-prod-name-text' name='Text_Search' value='" . $Product_Name_Text . "' onfocus='FieldFocus(this);' onblur='FieldBlur(this);' onkeyup='UPCP_Filer_Results_OR();'>\n"; } elseif ($Filter == "Javascript") { $SidebarString .= "<input type='text' id='upcp-name-search' class='jquery-prod-name-text' name='Text_Search' value='" . $Product_Name_Text . "' onfocus='FieldFocus(this);' onblur='FieldBlur(this);' onkeyup='UPCP_Filer_Results();'>\n"; } else { $SidebarString .= "<input type='text' id='upcp-name-search' class='jquery-prod-name-text' name='Text_Search' value='" . $Product_Name_Text . "' onfocus='FieldFocus(this);' onblur='FieldBlur(this);' onkeyup='UPCP_DisplayPage(\"1\");'>\n"; } $SidebarString .= "</td></tr>"; if (sizeof($Categories) > 0) { foreach ($Categories as $key => $row) { $ID[$key] = $row->Category_ID; $Name[$key] = $row->Category_Name; } array_multisort($Name, SORT_ASC, $ID, SORT_DESC, $Categories); unset($ID); unset($Name); $SidebarString .= "<tr><td>" . $Categories_Text . "</td></tr>\n"; foreach ($Categories as $Category) { $SidebarString .= "<tr><td "; if (in_array($Category->Category_ID, $category)) {$SidebarString .= " highlightBlue";} $SidebarString .= "'>\n"; if ($Filter == "Javascript" and $Tag_Logic == "OR") { $SidebarString .= "<input type='checkbox' class='jquery-prod-cat-value' name='Category" . $Category->Category_ID . "' value='" . $Category->Category_ID . "' onclick='UPCP_Filer_Results_OR(); UPCPHighlight(this, \"" . $Color . "\");'>" . $Category->Category_Name . " (" . $ProdCats[$Category->Category_ID] . ")\n"; } elseif ($Filter == "Javascript") { $SidebarString .= "<input type='checkbox' class='jquery-prod-cat-value' name='Category" . $Category->Category_ID . "' value='" . $Category->Category_ID . "' onclick='UPCP_Filer_Results(); UPCPHighlight(this, \"" . $Color . "\");'>" . $Category->Category_Name . " (" . $ProdCats[$Category->Category_ID] . ")\n"; } else { $SidebarString .= "<input type='checkbox' name='Category" . $Category->Category_ID . "' value='" . $Category->Category_ID . "' onclick='UPCP_DisplayPage(\"1\"); UPCPHighlight(this, \"" . $Color . "\");' class='jquery-prod-cat-value'"; if (in_array($Category->Category_ID, $category)) { $SidebarString .= "checked=checked"; } $SidebarString .= "> " . $Category->Category_Name . " (" . $ProdCats[$Category->Category_ID] . ")\n"; } $SidebarString .= "</td></tr>"; if ($Sidebar_Order == "Hierarchical") { foreach ($SubCategories as $SubCategory) { if ($SubCategory->Category_ID == $Category->Category_ID) { $SidebarString .= "<tr><td "; if (in_array($SubCategory->SubCategory_ID, $subcategory)) { $SidebarString .= " highlightBlue"; } $SidebarString .= "'>\n"; if ($Filter == "Javascript" and $Tag_Logic == "OR") { $SidebarString .= "<input type='checkbox' class='jquery-prod-sub-cat-value' name='SubCategory[]' value='" . $SubCategory->SubCategory_ID . "' onclick='UPCP_Filer_Results_OR(); UPCPHighlight(this, \"" . $Color . "\");'> " . $SubCategory->SubCategory_Name . " (" . $ProdSubCats[$SubCategory->SubCategory_ID] . ")\n"; } elseif ($Filter == "Javascript") { $SidebarString .= "<input type='checkbox' class='jquery-prod-sub-cat-value' name='SubCategory[]' value='" . $SubCategory->SubCategory_ID . "' onclick='UPCP_Filer_Results(); UPCPHighlight(this, \"" . $Color . "\");'> " . $SubCategory->SubCategory_Name . " (" . $ProdSubCats[$SubCategory->SubCategory_ID] . ")\n"; } else { $SidebarString .= "<input type='checkbox' name='SubCategory[]' value='" . $SubCategory->SubCategory_ID . "' onclick='UPCP_DisplayPage(\"1\"); UPCPHighlight(this, \"" . $Color . "\");' class='jquery-prod-sub-cat-value'"; if (in_array($SubCategory->SubCategory_ID, $subcategory)) {$SidebarString .= "checked=checked";} $SidebarString .= "> " . $SubCategory->SubCategory_Name . " (" . $ProdSubCats[$SubCategory->SubCategory_ID] . ")\n"; } $SidebarString .= "</td></tr>"; } } } } } if (sizeof($Tags) > 0) { foreach ($Tags as $key => $row) { $ID[$key] = $row->Tag_ID; $Name[$key] = $row->Tag_Name; } array_multisort($Name, SORT_ASC, $ID, SORT_DESC, $Tags); unset($ID); unset($Name); $SidebarString .= "<tr><td>" . $Tags_Text . "</td></tr>"; foreach ($Tags as $Tag) { $SidebarString .= "<tr><td "; if (in_array($Tag->Tag_ID, $tags)) { $SidebarString .= " highlightBlue"; } $SidebarString .= "'>"; if ($Filter == "Javascript" and $Tag_Logic == "OR") { $SidebarString .= "<input type='checkbox' class='jquery-prod-tag-value' name='Tag[]' value='" . $Tag->Tag_ID . "' onclick='UPCP_Filer_Results_OR(); UPCPHighlight(this, \"" . $Color . "\");'>" . $Tag->Tag_Name . "\n"; } elseif ($Filter == "Javascript") { $SidebarString .= "<input type='checkbox' class='jquery-prod-tag-value' name='Tag[]' value='" . $Tag->Tag_ID . "' onclick='UPCP_Filer_Results(); UPCPHighlight(this, \"" . $Color . "\");'> " . $Tag->Tag_Name . "\n"; } else { $SidebarString .= "<input type='checkbox' name='Tag[]' value='" . $Tag->Tag_ID . "' onclick='UPCP_DisplayPage(\"1\"); UPCPHighlight(this, \"" . $Color . "\");' class='jquery-prod-tag-value'"; if (in_array($Tag->Tag_ID, $tags)) { $SidebarString .= "checked=checked"; } $SidebarString .= ">" . $Tag->Tag_Name . "\n"; } $SidebarString .= "</td></tr>"; } } $SidebarString .= "</form></tbody></table>\n"; return $SidebarString; } /*$SidebarString .= "<div id='prod-cat-sidebar-" . $id . "' class='prod-cat-sidebar'>\n"; //$SidebarString .= "<form action='#' name='Product_Catalog_Sidebar_Form'>\n"; $SidebarString .= "<form onsubmit='return false;' name='Product_Catalog_Sidebar_Form'>\n"; //Create the 'Sort By' select box if ($Full_Version == "Yes" and $Product_Sort != "None") { $SidebarString .= "<div id='prod-cat-sort-by' class='prod-cat-sort-by'>"; $SidebarString .= $Sort_Text . "<br>"; $SidebarString .= "<div class='styled-select styled-input'>"; $SidebarString .= "<select name='upcp-sort-by' id='upcp-sort-by' onchange='UPCP_Sort_By();'>"; $SidebarString .= "<option value=''></option>"; if ($Product_Sort == "Price" or $Product_Sort == "Price_Name") { $SidebarString .= "<option value='price_asc'>" . __('Price (Ascending)', 'UPCP') . "</option>"; $SidebarString .= "<option value='price_desc'>" . __('Price (Descending)', 'UPCP') . "</option>"; } if ($Product_Sort == "Name" or $Product_Sort == "Price_Name") { $SidebarString .= "<optio This topic has been moved to Third Party PHP Scripts. http://www.phpfreaks.com/forums/index.php?topic=306573.0 Hi guys. First-timer here, please be gentle. =)
I have 2 files on my server that are virtually identical, except for a script that's only located in one of them. I will soon have to create more similar files with only small changes in each. I'll spare you the long and boring explanation of why, but I now realize that it would be easier if I had a single file with all the code in it, and included that in all the other files. Only problem is, I can't modify included text for unique situations.
Or can I?
It has been brought to my attention that I can fetch the entire thing via file_get_contents(), and modify certain parts of it via str_replace(); so problem solved, right? $content = file_get_contents("code.htm"); $content = str_replace("replace this line","with this line", $content); It works great for short strings, but what about long ones? What if I'm targeting a 100-line javascript function I want stricken on the fly, during the output? I mean I can't exactly just paste 100 lines of code between those quotation marks, can I? Could someone show me what the proper syntax to search/replace a large chunk of code on the fly would be? At first, I pictured something like this... $content = str_replace(" <script type=\"text/javascript\"> Since I get numbers and date from strings, they are in an ugly raw format as e.g. "14728293" and "2011-01-19". How to make the format stylish as "14,728,293" and "January 19, 2011" I would like to modify my php script where my PDF search results would not only display the company name, the country, but also display a limit number link by pages so that not all of the results are shown. I also want the first word searched to go to the first occurrence of the word on the PDF document. What would be the best way to do this? Here is my code: <html> <head></head> <body> <?php if (!isset($_POST['q'])) { ?> <img src="/wvb-logo-slogen.png" border="0" /> <h2>Search</h2> <form method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"> <input type="text" name="q" size="30" /> </form> <?php } else { ?> <img src="/wvb-logo-slogen.png" border="0" /> <h2>Search Results</h2> <?php try { // create object // $swish = new Swish('/usr/local/apache/htdocs/swish/index.swish-e'); $swish = new Swish('/var/www/html/pdf2/index.swish-e'); // get and run query from command-line $queryStr = htmlentities($_POST['q']); $result = $swish->query($queryStr); ?> Found <?php echo $result->hits; ?> match(es) for '<?php echo $queryStr; ?>'. <?php // iterate over result set // print details for each match while($r = $result->nextResult()) { ?> <p> <?php echo $r->swishreccount; ?> <strong> <a href="<?php echo '/pdf2', ltrim($r->swishdocpath, '.') ; ?>"> <?php echo $r->swishdocpath; ?> </a> </strong> (sco <?php echo $r->swishrank; ?>) <br/> <?php echo $r->swishdocpath; ?> </p> <?php } } catch (Exception $e) { die('ERROR: ' . $e->getMessage()); } } ?> </body> </html> Any assistance would be greatly appreciated. Edited by mac_gyver, 15 May 2014 - 08:17 AM. code tags please Hi, I've currently started to modify a chat script of mine to output a moderation panel but the moderation page seems empty(blank) every time I load it. What im trying to do is to take the ID part in my URL via the $_GET and look it up in my database table in the column named id, then select that specific row to be able to retrieve the StringyChat_ip and place it into another table to ban the IP and the second thing im trying to do is to be able to delete the specific row from my table.
My Http link look something like
http://imagecrab.fre.../ban.php?id=159
and my ban.php page where I want to lookup the 159 part and do the banning etc looks like
<? include("admin_code_header.php"); if ($_POST["DeletePost"]) { $id = $_POST['id']; $query = "DELETE FROM ".$dbTable." WHERE id='".$id."'"; mysql_query($query); echo "ID removed from system: ".$id; } if ($_POST["BanIP"]) { $IP_To_Add = $_POST["ip"]; $sql = "INSERT INTO ".$IPBanTable." (ip) VALUES (\"$IP_To_Add\")"; $result = mysql_query($sql); } $result = mysql_query("SELECT * FROM ".$dbTable." WHERE id='".$id."'",$db); while ($myrow = mysql_fetch_array($result)) { $msg = $myrow["StringyChat_message"]; $idm = $myrow["id"]; ?> <html> <form name="form<? echo $myrow["id"];?>" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input name="DeletePost" type="submit" id="DeletePost" value="Delete"> <input name="BanIP" type="submit" id="BanIP" value="Ban <? echo $myrow["StringyChat_ip"];?>"> </form> </html> <? } ?> This topic has been moved to Third Party PHP Scripts. http://www.phpfreaks.com/forums/index.php?topic=308919.0 Hi everyone! I've been working on a php script to replace links that contain a query with direct links to the files they would redirect to. I'm having trouble echoing $year in my script. Listed below is the script, just below ,$result = mysql_query("SELECT * FROM $dbname WHERE class LIKE '%$search%'") or die(mysql_error());, in the script I try to echo $year. It doesn't show up in the table on the webpage. Everything else works fine. Any help wold be appreciated greatly. Thanks in advance. <?php include 'config2.php'; $search=$_GET["search"]; // Connect to server and select database. mysql_connect($dbhost, $dbuser, $dbpass)or die("cannot connect"); mysql_select_db("vetman")or die("cannot select DB"); $result = mysql_query("SELECT * FROM $dbname WHERE class LIKE '%$search%'") or die(mysql_error()); // store the record of the "" table into $row //$current = ''; echo "<table align=center border=1>"; echo "<br>"; echo "<tr>"; echo "<td align=center>"; ?> <div style="float: center;"><a><h1><?php echo $year; ?></h1></a></div> <?php echo "</td>"; echo "</tr>"; echo "</table>"; // keeps getting the next row until there are no more to get if($result && mysql_num_rows($result) > 0) { $i = 0; $max_columns = 2; echo "<table align=center>"; echo "<br>"; while($row = mysql_fetch_array($result)) { // make the variables easy to deal with extract($row); // open row if counter is zero if($i == 0) echo "<tr>"; echo "<td align=center>"; ?> <div style="float: left;"> <div><img src="<?php echo $image1; ?>"></div> </div> <?php echo "</td>"; // increment counter - if counter = max columns, reset counter and close row if(++$i == $max_columns) { echo "</tr>"; $i=0; } // end if } // end while } // end if results // clean up table - makes your code valid! if($i > 0) { for($j=$i; $j<$max_columns;$j++) echo "<td> </td>"; echo '</tr>'; } mysql_close(); ?> </table> Hi i have this upload script which works fine it uploads image to a specified folder and sends the the details to the database. but now i am trying to instead make a modify script which is Update set so i tried to change insert to update but didnt work can someone help me out please this my insert image script which works fine but want to change to modify instead Code: [Select] <?php mysql_connect("localhost", "root", "") or die(mysql_error()) ; mysql_select_db("upload") or die(mysql_error()) ; // my file the name of the input area on the form type is the extension of the file //echo $_FILES["myfile"]["type"]; //myfile is the name of the input area on the form $name = $_FILES["image"] ["name"]; // name of the file $type = $_FILES["image"]["type"]; //type of the file $size = $_FILES["image"]["size"]; //the size of the file $temp = $_FILES["image"]["tmp_name"];//temporary file location when click upload it temporary stores on the computer and gives it a temporary name $error =array(); // this an empty array where you can then call on all of the error messages $allowed_exts = array('jpg', 'jpeg', 'png', 'gif'); // array with the following extension name values $image_type = array('image/jpg', 'image/jpeg', 'image/png', 'image/gif'); // array with the following image type values $location = 'images/'; //location of the file or directory where the file will be stored $appendic_name = "news".$name;//this append the word [news] before the name so the image would be news[nameofimage].gif // substr counts the number of carachters and then you the specify how how many you letters you want to cut off from the beginning of the word example drivers.jpg it would cut off dri, and would display vers.jpg //echo $extension = substr($name, 3); //using both substr and strpos, strpos it will delete anything before the dot in this case it finds the dot on the $name file deletes and + 1 says read after the last letter you delete because you want to display the letters after the dot. if remove the +1 it will display .gif which what we want is just gif $extension = strtolower(substr($name, strpos ($name, '.') +1));//strlower turn the extension non capital in case extension is capital example JPG will strtolower will make jpg // another way of doing is with explode // $image_ext strtolower(end(explode('.',$name))); will explode from where you want in this case from the dot adn end will display from the end after the explode $myfile = $_POST["myfile"]; if (isset($image)) // if you choose a file name do the if bellow { // if extension is not equal to any of the variables in the array $allowed_exts error appears if(in_array($extension, $allowed_exts) === false ) { $error[] = 'Extension not allowed! gif, jpg, jpeg, png only<br />'; // if no errror read next if line } // if file type is not equal to any of the variables in array $image_type error appears if(in_array($type, $image_type) === false) { $error[] = 'Type of file not allowed! only images allowed<br />'; } // if file bigger than the number bellow error message if($size > 2097152) { $error[] = 'File size must be under 2MB!'; } // check if folder exist in the server if(!file_exists ($location)) { $error[] = 'No directory ' . $location. ' on the server Please create a folder ' .$location; } } // if no error found do the move upload function if (empty($error)){ if (move_uploaded_file($temp, $location .$appendic_name)) { // insert data into database first are the field name teh values are the variables you want to insert into those fields appendic is the new name of the image mysql_query("INSERT INTO image (myfile ,image) VALUES ('$myfile', '$appendic_name')") ; exit(); } } else { foreach ($error as $error) { echo $error; } } //echo $type; ?> hey guys im really just after a bit of help/information on 2 things (hope its in the right forum).
1. basically I'm wanting to make payments from one account to another online...like paypal does...im wondering what I would need to do to be able to do this if anyone can shine some light please?
2.as seen on google you type in a query in the search bar and it generates sentences/keywords from a database
example:
so if product "chair" was in the database
whilst typing "ch" it would show "chair" for a possible match
I know it would in tale sql & json but im after a good tutorial/script of some sort.
if anyone can help with some information/sites it would be much appreciated.
Thank you
I'm trying to use this script known as SimpleImage.php that can be found here <a href="http://www.white-hat-web-design.co.uk/articles/php-image-resizing.php">link</a> I'm trying to include what is on the bottom of the page to my existing script can anyone help me I've tried several ways but its not working. Code: [Select] <?php session_start(); error_reporting(E_ALL); ini_set('display_errors','On'); //error_reporting(E_ALL); // image upload folder $image_folder = 'images/classified/'; // fieldnames in form $all_file_fields = array('image1', 'image2' ,'image3', 'image4'); // allowed filetypes $file_types = array('jpg','gif','png'); // max filesize 5mb $max_size = 5000000; //echo'<pre>';print_r($_FILES);exit; $time = time(); $count = 1; foreach($all_file_fields as $fieldname){ if($_FILES[$fieldname]['name'] != ''){ $type = substr($_FILES[$fieldname]['name'], -3, 3); // check filetype if(in_array(strtolower($type), $file_types)){ //check filesize if($_FILES[$fieldname]['size']>$max_size){ $error = "File too big. Max filesize is ".$max_size." MB"; }else{ // new filename $filename = str_replace(' ','',$myusername).'_'.$time.'_'.$count.'.'.$type; // move/upload file $target_path = $image_folder.basename($filename); move_uploaded_file($_FILES[$fieldname]['tmp_name'], $target_path); //save array with filenames $images[$count] = $image_folder.$filename; $count = $count+1; }//end if }else{ $error = "Please use jpg, gif, png files"; }//end if }//end if }//end foreach if($error != ''){ echo $error; }else{ /* -------------------------------------------------------------------------------------------------- SAVE TO DATABASE ------------------------------------------------------------------------------------ -------------------------------------------------------------------------------------------------- */ ?> Hello, I stored a fsockopen function in a separate "called.php" file, in order to run it as another thread when it needs. The called script should return results to the "master.php" script. I'm able to run the script to get the socket working, and I'm able to get results from the called script. I tried for hours but I can't do the twice both My master.php script (with socket working): Code: [Select] <?php $command = "(/mnt/opt/www/called.php $_SERVER[REMOTE_ADDR] &) > /dev/null"; $result = exec($command); echo ("result = $result\r\n"); ?> and my called.php script Code: [Select] #!/mnt/opt/usr/bin/php-cli -q <?php $device = $_SERVER['argv'][1]; $port = "8080"; $fp = fsockopen($device, $port, $errno, $errstr, 5); fwrite($fp, "test"); fclose($fp); echo ("normal end of the called.php script"); ?> In the master script, if I use Code: [Select] $command = "(/mnt/opt/www/called.php $_SERVER[REMOTE_ADDR] &) > /dev/null"; the socket works, but I have nothing in $result (note also that I don't anderstand why the ( ... &) are needed!?) and if I use Code: [Select] $command = "/mnt/opt/www/called.php $_SERVER[REMOTE_ADDR]"; I have the correct text "normal end of the called.php script" in $result but the socket connection is not performed (no errors in php logs) Could you help me to find a way to let's work the two features correctly together? Thank you. Well the subject line is pretty explicit. I found this script that uploads a picture onto a folder on the server called images, then inserts the the path of the image on the images folder onto a VACHAR field in a database table. Code: [Select] <?php //This file inserts the main image into the images table. //address error handling ini_set ('display_errors', 1); error_reporting (E_ALL & ~E_NOTICE); //authenticate user //Start session session_start(); //Connect to database require ('config.php'); //Check whether the session variable id is present or not. If not, deny access. if(!isset($_SESSION['id']) || (trim($_SESSION['id']) == '')) { header("location: access_denied.php"); exit(); } else{ // Check to see if the type of file uploaded is a valid image type function is_valid_type($file) { // This is an array that holds all the valid image MIME types $valid_types = array("image/jpg", "image/jpeg", "image/bmp", "image/gif"); if (in_array($file['type'], $valid_types)) return 1; return 0; } // Just a short function that prints out the contents of an array in a manner that's easy to read // I used this function during debugging but it serves no purpose at run time for this example function showContents($array) { echo "<pre>"; print_r($array); echo "</pre>"; } // Set some constants // This variable is the path to the image folder where all the images are going to be stored // Note that there is a trailing forward slash $TARGET_PATH = "images/"; // Get our POSTed variable $image = $_FILES['image']; // Sanitize our input $image['name'] = mysql_real_escape_string($image['name']); // Build our target path full string. This is where the file will be moved to // i.e. images/picture.jpg $TARGET_PATH .= $image['name']; // Make sure all the fields from the form have inputs if ( $image['name'] == "" ) { $_SESSION['error'] = "All fields are required"; header("Location: member.php"); exit; } // Check to make sure that our file is actually an image // You check the file type instead of the extension because the extension can easily be faked if (!is_valid_type($image)) { $_SESSION['error'] = "You must upload a jpeg, gif, or bmp"; header("Location: member.php"); exit; } // Here we check to see if a file with that name already exists // You could get past filename problems by appending a timestamp to the filename and then continuing if (file_exists($TARGET_PATH)) { $_SESSION['error'] = "A file with that name already exists"; header("Location: member.php"); exit; } // Lets attempt to move the file from its temporary directory to its new home if (move_uploaded_file($image['tmp_name'], $TARGET_PATH)) { // NOTE: This is where a lot of people make mistakes. // We are *not* putting the image into the database; we are putting a reference to the file's location on the server $sql = "insert into images (member_id, image_cartegory, image_date, image) values ('{$_SESSION['id']}', 'main', NOW(), '" . $image['name'] . "')"; $result = mysql_query($sql) or die ("Could not insert data into DB: " . mysql_error()); header("Location: images.php"); echo "File uploaded"; exit; } else { // A common cause of file moving failures is because of bad permissions on the directory attempting to be written to // Make sure you chmod the directory to be writeable $_SESSION['error'] = "Could not upload file. Check read/write persmissions on the directory"; header("Location: member.php"); exit; } } //End of if session variable id is not present. ?> The script seems to work fine because I managed to upload a picture which was successfully inserted into my images folder and into the database. Now the problem is, I can't figure out exactly how to write the script that displays the image on an html page. I used the following script which didn't work. Code: [Select] //authenticate user //Start session session_start(); //Connect to database require ('config.php'); $sql = mysql_query("SELECT* FROM images WHERE member_id = '".$_SESSION['id']."' AND image_cartegory = 'main' "); $row = mysql_fetch_assoc($sql); $imagebytes = $row['image']; header("Content-type: image/jpeg"); print $imagebytes; Seems to me like I need to alter some variables to match the variables used in the insert script, just can't figure out which. Can anyone help?? I have an application which runs on more than one server and need to launch one PHP script from another PHP script. Since this is different than a function call I'm not sure how it's done. I plan to include parameters in the URL I send and use GETs to pick up parameters in the "called" PHP script. Thanks for sugestions |