PHP - How Would I Get Rid Of A Part?
I am having problems making it so that if I typed site.php?url=http://example.com it would auto get rid of the http://.
Here's my code. $url="{$_GET['url']}"; str_replace('http://', '', $url); echo "<a href=\"http://$url\">$url</a>"; Similar TutorialsMy query gets the results and orders by one of the fields. Once I get the MySQL results I would like to find the first entry that has a letter as the first character of the same field that the list was ordered by, then split the results in to two parts and swap them. So that the results that have a letter at the start of the same sorted field are as the begining and the results that have the numbers as the start at the end of the array. But also so that the array works the same way as the original results string, so i can use say $results['mysqlfield'] Code: [Select] <? $out = preg_replace('/^(.{701}[^.]*).*/i','$1.',$detrsltnewsrow[news_desc]); echo $out; ?> </td></tr><tr><td colspan="2" class="para" style="padding-left:10px;"> <?= substr(stripslashes(trim($detrsltnewsrow[news_desc])),701) ?> </td></tr> I have the above snippet.. The first php statement, basically grasp the first 701 characters with the closet next stop "." character and out puts it. then out puts the HTML tags I have a problem with the second statement. I want to output anything after what has been outputted by: Code: [Select] <? $out = preg_replace('/^(.{701}[^.]*).*/i','$1.',$detrsltnewsrow[news_desc]); echo $out; ?> So need the correct syntax for Code: [Select] <?= substr(stripslashes(trim($detrsltnewsrow[news_desc])),701) ?> Currently it breaks at exactly the 701 character, want it to continue from the sentence the first code ended in. I'm using PHP to get a list of names from a mysql database, which then produces a drop down list for the user to select an option and then progress to the next page where the selection is displayed with other stuff. My problem is that my drop down list works fine, but when the user goes to the next page only the first part of the string is displayed, ie if the string is Fred Bloggs, only Fred is shown. I can get it to work by adding ' ' around the string name in the option section, but this shows 'Fred Bloggs' in the drop down list which isn't very pretty. I haven't got the actual code to hand at the moment, but any ideas on where I'm going wrong? Cheers Hello.
How would I print the following:
http://site.com/break?return=site2.com
So that I can set a button containing site2.com.
Example: <a href="site2.com"></a>
And so forth:
http://site.com/break?return=site3.com
Would print: <a href="site3.com"></a>
Hi all, I have the following : Code: [Select] print_r($fqlResult); Which gives the following result : Code: [Select] Array ( [0] => Array ( [src_big] => http://a5.sphotos.ak.fbcdn.net/hphotos-ak-ash4/299117_2121699756933_1079004376_2442101_3103384_n.jpg ) ) I want to grab just the image url from it and store it in a seperate variable. Any ideas how I can do this plzzz ? Thanks in advance, Scott.
Hello, I am new to the php community I opened a thread yesterday about an XSS vulnerability when the user is logged in. I'll summarize is in a short quote: Quote http://host/editText.php?fieldname=slogan&content=slogan<img src=x onerror=alert("XSS")> This vulnerability only works if the user is logged in. I want to secure it anyway to give the security companies contacting me about this a break. xyph solved my problem with this: Code: [Select] foreach( $_REQUEST as $key => $val ) $_REQUEST[$key] = htmlentities($val); He warned me it was a risky but I didn't take him that seriously. Well guess he was right. The foreach loop he gave me does protect me from the XSS attack, but it also disables the users to use any kind of code in the pages. Next time xyph warns me its risky, I'll know he means it. Now to my problem, how do I use this foreach loop without disabling the user of using simple html tags? Here's the file (editText.php) where the foreach loop was used: Code: [Select] <?php session_start(); // THE LOOP WAS USED HERE BUT I REMOVED IT DUE TO THE USERS PROBLEM. function getSlug( $page ) { $page = strip_tags( $page ); preg_match_all( "/([a-z0-9A-Z-_]+)/", $page, $matches ); $matches = array_map( "ucfirst", $matches[0] ); $slug = implode( "-", $matches ); return $slug; } $fieldname = $_REQUEST['fieldname']; $encrypt_pass = @file_get_contents("files/password"); if ($_COOKIE['wondercms']!=$encrypt_pass) { echo "You must login before using this function!"; exit; } $content = rtrim(stripslashes($_REQUEST['content'])); // if to only allow specified tags if($fieldname=="title") $content = strip_tags($content); else $content = strip_tags($content,"<audio><source><embed><iframe><p><h1><h2><h3><h4><h5><h6><a><img><u><i><em><strong><b><strike><center><pre>"); $content = trim($content); $content = nl2br($content); if(!$content) $content = "Please be sure to enter some content before saving. Just type anything in here."; $content = preg_replace ("/%u(....)/e", "conv('\\1')", $content); if($fieldname>0 && $fieldname<4) $fname = "attachment$fieldname"; else $fname = $fieldname; $file = @fopen("files/$fname.txt", "w"); if(!$file) { echo "<h2 style='color:red'>*** ERROR *** unable to open content_$fieldname</h2><h3>But don't panic!</h3>". "Please set the correct read/write permissions to the files folder.<br/> Find the /files/ folder and CHMOD it to 751.<br /><br /> If this still gives you problems, open up the /files/ folder, select all files and CHMOD them to 640.<br /><br /> If this doesn't work, contact me <a href='http://krneky.com/en/contact'>right here</a>."; exit; } fwrite($file, $content); fclose($file); echo $content; // convert udf-8 hexadecimal to decimal function conv($hex) { $dec = hexdec($hex); return "&#$dec;"; } ?> Hi People. Thanks to everyone that helped me yesterday with my file that finally connected to the database. However, I have added a new field to my DB and now get further problems. Here is the error message I am getting after I added the "ppr" stuff to both files. Please could someone look at my code and tell me where I'm going wrong. Code: [Select] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Untitled Document</title> </head> <body> <?php include "config01.php"?> <form name = 'form1' method = 'post' action='config01.php'> <table width="700" border="1" cellspacing="5" cellpadding="5"> <caption> Submit Your Airfield Details </caption> <tr> <td width="100"> </td> <td width="200">Your Name</td> <td width="200"><input type='text' name='username' maxlength='30'></td> <td width="100"> </td> </tr> <tr> <td> </td> <td>Height Above MSL</td> <td><input type='text' name='height_above'maxlength= '30'></td> <td> </td> </tr> <tr> <td> </td> <td>Mb Difference</td> <td><input type='text' name='mb_diff'maxlength='40'></td> <td> </td> </tr> <tr> <td> </td> <td>Alternative Airfield</td> <td><input type='text' name='alternative' maxlength='30'></td> <td> </td> </tr> <tr> <td> </td> <td>PPR</td> <td><input type='radio' name='ppr' value="Y"/> Yes <input type='radio' name='ppr' value="N" /> No</td> <td> </td> </tr> <tr> <td><input type='submit' name='submit' value='post' /></td> <td> </td> <td> </td> <td> </td> </tr> </table> </form> </body> </html> Then the code from config01.php Code: [Select] <?php $host = 'localhost'; $usr = "VinnyG"; $password = 'thepassword'; $db_name = 'sitename'; $username = $_POST["username"]; $height_above = $_POST["height_above"]; $mb_diff = $_POST["mb_diff"]; $alternative = $_POST["alternative"]; $ppr = $_POST["ppr"]; //connect to database mysql_connect ("$host","$usr","$password") or die ('Error During Connect:<br>'.mysql_error()); mysql_select_db ("$db_name") or die ('Error Selecting DB:<br>'.mysql_error()); /* $sql01 = "INSERT INTO users SET username = '$username',height_above = '$height_above', mb_diff = $mb_diff, alternative = $alternative"; $result=mysql_query($sql01); */ //mysql_query("INSERT INTO users VALUES ('$username','$height_above','$mb_diff','$alternative')"); //mysql_query("INSERT INTO users (username, height_above, mb_diff, alternative) VALUES ('$username', '$height_above', '$mb_diff', '$alternative'"); //$insert_query = "INSERT INTO users (username, height_above, mb_diff, alternative) VALUES ('$username', '$height_above', '$mb_diff', '$alternative')"; //$insert_action = mysql_query($insert_query) or die ('Error Dring Insert :<br>'.mysql_error().'<br><br>Error occured running the following code :<br>'.$insert_query); //mysql_query("INSERT INTO users VALUES ('$username','$height_above','$mb_diff','$alternative')"); CHANGES FOLLOW THIS LINE . . $query = "INSERT INTO users (username, height_above, mb_diff, alternative, ppr) VALUES ('$username', '$height_above', '$mb_diff', '$alternative', '$ppr'"; if( !$result = mysql_query($query) ) { echo "<br>Query: $query<br>Produced error: " . mysql_error() .'<br>'; } else { echo "Query ran and inserted " . mysql_affected_rows() . "row(s)."; } ?> I only added the one thing and I've gone and broken it already. It was working last night too.. :-( is this part of code correct ? Code: [Select] $query = mysql_query("select * from username WHERE username='$username'"); if(mysql_query($query) > 0) { die("Username already in use."); } else { I am trying to build a news feed which shows the first 100 characters of news copy. I have it working to paste in the full text but am not sure how to insert only the first 100 characters. Code: [Select] <?php while($news_row=mysql_fetch_array($news)) { echo " <div class=\"news_box\"> <h3><a href=\"html/news.html\" rel=\"shadowbox; width=800; height=400;\">".$news_row['news_title']."</a> </h3> ".$news_row['news_copy']." </div>"; } ?> Hey there - I have been trying to limit the number of comments a user can make per day on my social network. Thanks to great help on here I am getting really close, however, there are some bugs that have me banging my head against the wall. I am able to limit, but now, its 1. not limiting PER day and limiting all around ( meaning: I can't make any comments at all today ) 2. it is limiting for EVERY user as opposed to limiting a specific user Here is the code I have: Code: [Select] if(isset($_POST['commentProfileSubmit'])) { if($_POST['ProfileComment'] == "" || $_POST['ProfileComment'] == "Tell the community what's on your mind...") { $valid = false; $error_msgs_comments[] = "Whoops! You forgot to write your airwave."; }else{ if($_POST['ProfileComment'] == "" || $_POST['ProfileComment'] == "Leave ".$prof->first_name." a comment here...") { $valid = false; $error_msgs_comments[] = "Whoops! You forgot to write your comment."; }else{ /* if the person signed in is NOT the profile */ $query = "SELECT * FROM `cysticUsers` WHERE `id` = '" . $prof->id . "'"; $request = mysql_query($query,$connection) or die(mysql_error()); $result = mysql_fetch_array($request); $max_post_per_day = 5; $Email = $result['Email']; $check_profi = $result['check_profi']; $check_reply = $result['check_reply']; if($prof->id != $auth->id && $check_profi == 'checked' && $max_post_per_day < 5) { $to = $Email; $subject = "$auth->first_name $auth->last_name commented on your profile on CysticLife"; $message = "$auth->first_name $auth->last_name commented on your profile on CysticLife: <br /><br />\"$body\"<br /><br /> <a href='http://www.cysticlife.org/Profile_build.php?id=" . $prof->id . "'>Click here to view</a><br /><br />Do LIFE,<br /> The CysticLife Team"; $from = "CysticLife <noreply@cysticlife.org>"; $headers = 'MIME-Version: 1.0' . "\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n"; $headers .= "From: $from"; mail($to, $subject, $message, $headers); } $query = "SELECT COUNT(*) FROM `CysticAirwaves` WHERE `FromUserID` = $auth->id AND `date` = CURDATE()"; $result = mysql_query($query, $connection); $post_count = mysql_result($result, 0); if($post_count >= $max_posts_per_day) { echo "You have reached the maximum number of posts for the day. Try again tomorrow"; } else { $comment = mysql_real_escape_string($_POST['ProfileComment']); $query = "INSERT INTO `CysticAirwaves` (`FromUserID`, `ToUserID`, `comment`, `status`, `statusCommentAirwave`, `date`, `time`) VALUES ('{$auth->id}', '{$prof->id}', '{$comment}', 'active', 'active', CURDATE(), CURTIME())"; mysql_query($query, $connection) or die(mysql_error()); } if($auth->id == $prof->id) { $just_inserted = mysql_insert_id(); $query = "UPDATE `CysticAirwaves` SET `status` = 'dead' WHERE `FromUserID` = '" . $auth->id . "' AND `ToUserID` = '" . $prof->id . "' AND `id` != '" . $just_inserted . "'"; $request = mysql_query($query,$connection); } } } } thanks so much in advanced So, I am making a system that shows if there are new posts or not. How I have it done is a singular array called "Read" will have all of the IDs of the read posts. It is entered in the database like so: $ID2= $_SESSION['UserID']; $ID2 = mysql_real_escape_string($ID2); $Readornot=mysql_query("SELECT * FROM forum_read WHERE Reader_ID='$ID2'"); $Readornot2=mysql_fetch_array($Readornot); if($ID2==0) { } else { if(empty($Readornot2)) { $Read1= array("Read" => $Get_TopicID); $Read2 = implode('-',$Read1); mysql_query("INSERT INTO forum_read (Reader_ID,`Read`) values ('$ID2','$Read2')") or die(mysql_error()); } else { $cr_topicid=$Readornot2['Read']; if(strpos($cr_topicid,'-')) { $cr_topicid=explode('-',$cr_topicid); if(!in_array($Get_TopicID,$cr_topicid,true)) { $Read0=implode('-',$cr_topicid); $Read1= array("Read" => $Read0, $Get_TopicID); $Read2= implode('-',$Read1); mysql_query("UPDATE forum_read SET`Read`='$Read2' WHERE Reader_ID='$ID2'") or die(mysql_error()); } } else { if($cr_topicid==$Get_TopicID) { } else { $Read1= array("Read" => $cr_topicid, $Get_TopicID); $Read2= implode('-',$Read1); mysql_query("UPDATE forum_read SET`Read`='$Read2' WHERE Reader_ID='$ID2'") or die(mysql_error()); } } } } It all works fine and dandy to the point where if it's in the database an icon will be black and white, and if its not it wont, signifying read or unread. What I need to do, however, is make it so when there is a new post, it takes all of the entries in the database with the topic ID out of the database, and strips the one part. What I thought of at first was to use str_replace to replace "-" . $TopicID . "-" with "-" But of course, that won't work, because the very first entry could be the topic ID, so it would just be $TopicID- and not -$TopicID- in the database. So, how would I go about doing this? I'm just trying to find out if php has the ability to check if any file exists, with only part of the filename given.. I have this path: if (file_exists($dir.'/'.$c_file.'/templ_*')) { I added a little star.. That star represents whatever the rest of that file is named for this example.. It could be anything.. So can php match any files that start with "templ_", and say that it does or does not exist?? Thanks I have string like this (without the spaces) [ QUOTE="Adrock"]This is a test message[/QUOTE ] How do i get just what is between the double quotes taking into account in the message there could be double quotes? I've tried this but it doesn't echo anything unless i put the square brackets in but i want the username $origauth = html_entity_decode($message); $b = substr($origauth, strpos($origauth, '&#034') + 1); $c = substr($b, 0, strpos($b, '&#034')); echo $c; I am working with a fellow who runs an eCommerce shop. The transaction resolution comes in on a querystring.
I do not yet know what web server software is being used, nor if any security appliance/software is installed.
One of the values in the querystring starts with the @ character.
We know the web server gets this as there entries in the web server's access log that shows thing value is present.
It is not available in PHP's $_GET array.
We are trying to get an idea of where this value, and it's key, is getting discarded.
Is there a known problem with (actual server software being used not yet known) web server software discarding a key/value if the value has the @ character in the querystring?
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 Hi - newbie to php - I need to search a string and possibly replace part of it. This is how I would do it in perl: Code: [Select] if ($homepage) { if ($homepage !~ /http/i) { $homepage = "http:\/\/" . $homepage; } } I have a homepage field in the database but sometimes people put the http in, and sometimes they leave it out. In perl I can figure it out and format accordingly but it doesn't work in PHP. I'm not sure if the first line even works in PHP. Maybe if to say something like: if $homepage is not equal to nothing. I'm not sure. Any help would be appreciated. Thanks. Hi,
Just wondering if it's possible to get the dynamic part of the URL with the GET method?
I'm getting the address of the URL to add to a database when a user reports an error on that page;
<?php $actual_link = $_SERVER['PHP_SELF'];?>But I've noticed the if the url is for example "profile.php?username=someone" then it is only getting "profile.php". Hi, i have written a section of code for my website and i have been trying to get it to work but whatever i try it will not work Here is the code Code: [Select] $upgrade_user = mysql_query("SELECT * FROM user_info WHERE id='$id'"); while($row = mysql_fetch_array($upgrade_user)){ $real_balance = $row["$balance"]; $real_rank = $row["$rank"]; } echo $real_balance; if($real_rank == 'merchant' && $real_balance > '500'){ $n1x = '<a href="upgrades_info.php?userid=$id&rank=noble"><img src="images/noble.jpg" width="170" height="200" /></a>'; } else { $n1x = '<img src="images/noblex.jpg" width="170" height="200" />'; } It should outbut the first if, but instead it keeps displaying the else, i have checked the $real_rank and it matches merchant and the $real_balance is over 500. Any ideas? I am guessing its a simple error in the way i have written it, but i can't seem to get it to work. Thanks |