This is the first Multi-lingual site I developed for GRP. The site uses a custom designed CMS system with the ability to easily accommodate different languages on the site. The site has gone live in English due to the translations not being available for the other languages but hopefully these will be added soon.
I’ve not posted for a while due to it being a busy couple of months at Peach Digital. I have been working with a number of great clients, Vue Cinemas, Goals, Stewart Milne Homes and Daysoft. Lots of new projects on the go and lots to keep me busy. All good…
I found a nice little plugin today that allows you to use the HTML you want when creating a post. Many people will have found the built in WYSIWYG editor for WordPress frustrating as it adds <br/> tags automatically in place of carriage returns even when you are using the editor in HTML mode.
The following plugin lets you turn this functionality off on a per post basis:
I have seen several posts around the web where people have created custom error handling code in the global.asax file. The problem a lot of developers seem to come across is obtaining the actual line number where the error occured.
The main issue I have seen is developers using the following code to obtain information on the error that has occured:
System.Exception myError = Server.GetLastError();
This is where they are going wrong. The above code gives information on the last error that has been recorded as the event bubbles up through the layers, and not the information that was recorded when the actual error occured. The following line of code will obtain the Exception object describing the original error:
System.Exception myError = Server.GetLasteError().GetBaseException();When an error occurs in my applications I like to send an email to myself with the error information and also write to a log file located on the server. Below is an example of the code I use in the global.asax file to achieve this:
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
if (System.Configuration.ConfigurationManager.AppSettings.Get("SYS_ERROR_LOG_ACTIVE") == "YES") {
System.Exception myError = Server.GetLastError().GetBaseException();
//Do not send email if error is page not found
if (myError.Message.IndexOf("does not exist.") == -1)
{
HttpContext con = HttpContext.Current;
System.Diagnostics.StackTrace myStack = new System.Diagnostics.StackTrace(true);
CreateLogFiles Err = new CreateLogFiles();
Err.ErrorLog("Offending URL: " + con.Request.Url.ToString() + Environment.NewLine +
"Source: " + myError.Source + Environment.NewLine +
"Message: " + myError.Message + Environment.NewLine +
"--- Full Error --- " + Environment.NewLine + myError.StackTrace.ToString());
//Create MailDefinition
System.Web.UI.WebControls.MailDefinition md = new MailDefinition();
md.IsBodyHtml = false;
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage("SENDER EMAIL ADDRESS", "RECIPIENT EMAIL ADDRESS");
msg.Subject = ConfigurationManager.AppSettings.Get("SYS_ADMIN_SITE_NAME") + "Error Details";
msg.Body = "Offending URL: " + con.Request.Url.ToString() + Environment.NewLine +
"Source: " + myError.Source + Environment.NewLine +
"Message: " + myError.Message + Environment.NewLine +
"--- Full Error --- " + Environment.NewLine + myError.StackTrace.ToString();
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
smtp.Send(msg);
}
}
}
If anyone has any questions on the use of this code, fire away.
I came across this video on Steelso’s blog. Totally amazing although possibly a bit cruel having species that are used to migrating thousands of miles stuck in a giant fish tank.
Developed the client login area and dynamic elements of the new XEDO Software website. I used the new fancybox version of lightwindow to show the product screengrabs. The beautiful design was by my fellow blogger Paul Daly.
After thinking my website worked perfect on all browsers, IE8 came along and ruined it!! I can't wait for the day that Microsoft are banned from developing web browsers. The common CSS for centering a DIV on IE8 as shown below doesn't work:
#container{
margin:0 auto;}To solve this you need the following CSS:
body{
text-align: center;}
#container{
margin:0 auto;
text-align:left;
}Using text-align: center; centers the DIV for IE, and the text-align: left; margin: 0 auto; will align the text to the left, and center the DIV for other browsers.
Hopefully this little tip will prevent some page builders from having a nervous breakdown
I wanted to use code snippets today to avoid writting code over and over again. I have found that the documentation on where to find the Code Snippets Manager directs you at Tools > Code Snippets Manager. If you can’t find it here like I found, heres how you add it to the menu:
- Go to the Tools menu and click Customize.
- Select the Commands tab.
- In the Categories section scroll down until you find Tools and select Tools.
- Search for Code Snippets Manager in the Commands section.
- Drag the Code Snippets Manager icon and drop it onto the Tools menu and close the Customize window.
When working with databases there are certain tasks that you will find you need to perform regularly. One such task that I find I often need to perform is to delete duplicate records from a database. The following code requires that your table has an identity column, that will be used to identify the duplicate records.
DELETE FROM YourTable
WHERE ID NOT IN (SELECT MAX(ID ) FROM YourTable GROUP BY Column1, Column2, Column3)
The ID column in this example is the identity column and Column1, Column2 and Column3 contain the duplicate data that you want to identify.
Portfolio Categories
Tools I Use
Web development, custom web based business applications, CMS systems.
Custom CMS systems using Umbracos open source CMS based on ASP.NET.
I use Wordpress for small to medium scale CMS systems.
Dreamweaver, Flash, Flex and Photoshop are my tools of choice for interface design.
Read more about my Skills »
Disclaimer
The ramblings, thoughts and opinions expressed on this website are my own personal opinions and do not represent my employer's views or the views of any companies I have worked for in the past.Latest Blog Posts
About me
Welcome to my portfolio website. My name is Marc Love and I am the Senior Web Developer at D8 Digital based in Glasgow, Scotland.
This site contains a selection of the projects I have worked on throughout my career.
Feel free to visit my Blog or take a closer look at my Portfolio.
Get in touch!
You can contact me using my contact page or the info below.
Mob: 07795 417 980
marc[at]liquidkool[dot]com
