<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>~~Null Pointer Exception~~</title><description>A blog for technical problems and solutions</description><managingEditor>noreply@blogger.com (Dee)</managingEditor><pubDate>Thu, 12 Dec 2024 02:43:03 -0800</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">61</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://thenullhandler.blogspot.com/</link><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle>A blog for technical problems and solutions</itunes:subtitle><itunes:category text="Technology"><itunes:category text="Tech News"/></itunes:category><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><title>DBeaver SSLHandshakeException certificate errors while downloading MySQL drivers</title><link>http://thenullhandler.blogspot.com/2024/04/dbeaver-sslhandshakeexception.html</link><category>SSLHandshakeException
Dbeaver MYsql Driver</category><author>noreply@blogger.com (Dee)</author><pubDate>Mon, 15 Apr 2024 18:48:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-1548093251655284125</guid><description>&lt;p&gt;&amp;nbsp;So, on a blissful morning I had to reinstall my OS and DBeaver as well.&lt;/p&gt;&lt;p&gt;But to my surprise, DBeaver will not download the MYSQL driver. It kept giving some certificate error.&lt;/p&gt;&lt;pre class="lang-sql s-code-block" style="--_cb-line-numbers-bg: var(--black-150); --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border-radius: var(--br-md); border: 0px; box-sizing: inherit; color: #0c0d0e; font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--fs-body1); font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: var(--lh-md); margin-bottom: 0px; margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: var(--su12); scrollbar-color: var(--scrollbar) transparent; vertical-align: baseline; width: auto;"&gt;&lt;code class="hljs language-sql" style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class="lang-sql s-code-block" style="--_cb-line-numbers-bg: var(--black-150); --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border-radius: var(--br-md); border: 0px; box-sizing: inherit; color: #0c0d0e; font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--fs-body1); font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: var(--lh-md); margin-bottom: 0px; margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: var(--su12); scrollbar-color: var(--scrollbar) transparent; vertical-align: baseline; width: auto;"&gt;&lt;code class="hljs language-sql" style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); background-color: #fff2cc; border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"&gt;Network error

Network unavailable:

javax.net.ssl.SSLHandshakeException:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable &lt;span class="hljs-keyword" style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border: 0px; box-sizing: inherit; color: var(--highlight-keyword); font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"&gt;to&lt;/span&gt; find valid certification path &lt;span class="hljs-keyword" style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border: 0px; box-sizing: inherit; color: var(--highlight-keyword); font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"&gt;to&lt;/span&gt; requested target&lt;/code&gt;&lt;/pre&gt;&lt;pre class="lang-sql s-code-block" style="--_cb-line-numbers-bg: var(--black-150); --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border-radius: var(--br-md); border: 0px; box-sizing: inherit; color: #0c0d0e; font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--fs-body1); font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: var(--lh-md); margin-bottom: 0px; margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: var(--su12); scrollbar-color: var(--scrollbar) transparent; vertical-align: baseline; width: auto;"&gt;&lt;code class="hljs language-sql" style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: var(--black-500); --theme-footer-link-color-hover: var(--black-200); --theme-footer-link-color: var(--black-300); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: var(--black-300); --theme-footer-title-color: var(--black-250); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border: 0px; box-sizing: inherit; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The reason being, the java certificate it uses under the hood is expired.&lt;/p&gt;&lt;p&gt;Simple fix to it is remove following line from "&lt;span style="background-color: white; color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI Adjusted&amp;quot;, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Liberation Sans&amp;quot;, sans-serif; font-size: 15px;"&gt;dbeaver.ini&lt;/span&gt;&lt;span style="background-color: white; color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI Adjusted&amp;quot;, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Liberation Sans&amp;quot;, sans-serif; font-size: 15px;"&gt;&amp;nbsp;&lt;/span&gt;" file.&lt;br /&gt;This file is present in the DBeaver install folder.&lt;br /&gt;DBeaver install foder for me was "C:\Users\&amp;lt;user&amp;gt;\AppData\Local\DBeaver"&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;b&gt;&lt;span style="color: #2b00fe;"&gt;-Djavax.net.ssl.trustStoreType=WINDOWS-ROOT&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Thats it. Enjoy databasing &#128540;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Connect your router to another router wirelessly (Wireless Distribution System (WDS))</title><link>http://thenullhandler.blogspot.com/2024/03/connect-your-router-to-another-router.html</link><category>Router WDS</category><author>noreply@blogger.com (Dee)</author><pubDate>Sat, 16 Mar 2024 05:12:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-4602658369501125096</guid><description>&lt;p&gt;I had a situation following situations thta needed to be solved&lt;/p&gt;&lt;p&gt;1. The strength of my primary router was not enough to reach to all parts of my house.&lt;/p&gt;&lt;p&gt;2. I had an old computer that needed to be connected via LAN cable.&lt;/p&gt;&lt;p&gt;Thus I wanted to use another router that could be kept near to the old PC. The second router would connect to the primary router via WIFI (WDS)&lt;/p&gt;&lt;p&gt;Here are the steps used to achieve this goal:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol start="1" style="margin-top: 0cm;" type="1"&gt;
 &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"&gt;Disconnect the primary router&lt;/li&gt;&lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"&gt;Conect to secondary router and Access
     the Secodary router's web-based interface. usually: http://192.168.0.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
 &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"&gt;Set
     the IP address of the router:&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
 &lt;ol start="1" style="margin-top: 0cm;" type="1"&gt;
  &lt;li class="MsoNormal" style="mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;"&gt;Navigate
      to Advanced &amp;gt; Network &amp;gt; LAN and adjust the extended router's IP
      address to match the root router's subnet. (For instance, if the root
      router's IP address is 192.168.0.1, assign the extended router an IP
      address within the range of 192.168.0.2 to 192.168.0.254. For example,
      192.168.0.2.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
  &lt;li class="MsoNormal" style="mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;"&gt;Save
      the changes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
 &lt;/ol&gt;
&lt;/ol&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEhCXMHym-qF92mn2qdzEXyLevAEH_tHlY8O_U7GoFoIPwHBJ_8C1ktofYlKqFmsd455UhfTQSrtmCVp7jyuCaaM4IkXutdL53HdgTdEDnbJQcaCmCqB7GUVkIuzJwXEh8o-9iV37FqJNewjdpzTcuJStpnOfNmIzo_4jbviY1bL9MPAvG66gs-zE0dAuy6b" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="" data-original-height="298" data-original-width="709" height="168" src="https://blogger.googleusercontent.com/img/a/AVvXsEhCXMHym-qF92mn2qdzEXyLevAEH_tHlY8O_U7GoFoIPwHBJ_8C1ktofYlKqFmsd455UhfTQSrtmCVp7jyuCaaM4IkXutdL53HdgTdEDnbJQcaCmCqB7GUVkIuzJwXEh8o-9iV37FqJNewjdpzTcuJStpnOfNmIzo_4jbviY1bL9MPAvG66gs-zE0dAuy6b=w400-h168" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;

&lt;p class="MsoNormal"&gt;Note: After altering the router's IP address, log in again
to the web management page.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;

&lt;ol start="3" style="margin-top: 0cm;" type="1"&gt;
 &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"&gt;Identify
     the SSID for bridging:&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
 &lt;ol start="1" style="margin-top: 0cm;" type="1"&gt;
  &lt;li class="MsoNormal" style="mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;"&gt;Visit
      Advanced &amp;gt; System Tools &amp;gt; System Parameters and focus on the 2.4GHz
      Wireless section. Enable WDS Bridging.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
  &lt;li class="MsoNormal" style="mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;"&gt;Conduct
      a survey and select the root router's SSID. (For example, TP-Link_4F98.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
  &lt;li class="MsoNormal" style="mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;"&gt;If
      the root router has a wireless password, provide it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
  &lt;li class="MsoNormal" style="mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;"&gt;Save
      the settings.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEh6bZsNB48S4-6B0Ja_-gscEVMIEOugzzlzxuEuykyNokCZSTcOI5drbsIIuErxHDfXQP8dtUruLgFh9q4pSuh2JoSDTn7V9gMFGr8D9phD5NpaHlv1b9mYt8ga6clsTmPcrC1uJ-4gdSG7AwKmaEuu25lXOzsz708h56qByPAOtK3TQnIGII-g8ZCS7qaf" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="" data-original-height="525" data-original-width="1011" height="208" src="https://blogger.googleusercontent.com/img/a/AVvXsEh6bZsNB48S4-6B0Ja_-gscEVMIEOugzzlzxuEuykyNokCZSTcOI5drbsIIuErxHDfXQP8dtUruLgFh9q4pSuh2JoSDTn7V9gMFGr8D9phD5NpaHlv1b9mYt8ga6clsTmPcrC1uJ-4gdSG7AwKmaEuu25lXOzsz708h56qByPAOtK3TQnIGII-g8ZCS7qaf=w400-h208" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
 &lt;/ol&gt;
 &lt;li class="MsoNormal" style="mso-list: l0 level1 lfo1; tab-stops: list 36.0pt;"&gt;Deactivate
     DHCP: (&lt;b&gt;Optional step. Try if it doesn't work&lt;/b&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
 &lt;ol start="1" style="margin-top: 0cm;" type="1"&gt;
  &lt;li class="MsoNormal" style="mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;"&gt;Access
      Network &amp;gt; DHCP Server.&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
  &lt;li class="MsoNormal" style="mso-list: l0 level2 lfo1; tab-stops: list 72.0pt;"&gt;Uncheck
      Enable DHCP Server and save the changes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
 &lt;/ol&gt;
&lt;/ol&gt;

&lt;p class="MsoNormal"&gt;Now, verify the WDS status by navigating to Advanced &amp;gt;
Status &amp;gt; Wireless. A "Run" status indicates successful WDS
bridging.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEibW3woB0AxULGiZ0FxTtJUJhX_Vvb5f8F-uo2bF_juIlPjV9i_qiWgorYTT3Hel-Vz6zUk1WP1PLRDn3LGM1tnq2m1DsyZT8vvU91EZ4YXSZ3AfmY3KRtdYWO3DmjwB3EW_LQOwabim9Xoe5LE_gaX8mMTgjkrHV1QdskJA62TAEtSi8KjSFtxUchNX3-_" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="" data-original-height="369" data-original-width="976" height="151" src="https://blogger.googleusercontent.com/img/a/AVvXsEibW3woB0AxULGiZ0FxTtJUJhX_Vvb5f8F-uo2bF_juIlPjV9i_qiWgorYTT3Hel-Vz6zUk1WP1PLRDn3LGM1tnq2m1DsyZT8vvU91EZ4YXSZ3AfmY3KRtdYWO3DmjwB3EW_LQOwabim9Xoe5LE_gaX8mMTgjkrHV1QdskJA62TAEtSi8KjSFtxUchNX3-_=w400-h151" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Now you are good to go!&lt;/p&gt;&lt;p class="MsoNormal"&gt;Cheers &#128588;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/a/AVvXsEhCXMHym-qF92mn2qdzEXyLevAEH_tHlY8O_U7GoFoIPwHBJ_8C1ktofYlKqFmsd455UhfTQSrtmCVp7jyuCaaM4IkXutdL53HdgTdEDnbJQcaCmCqB7GUVkIuzJwXEh8o-9iV37FqJNewjdpzTcuJStpnOfNmIzo_4jbviY1bL9MPAvG66gs-zE0dAuy6b=s72-w400-h168-c" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Displaying PHP Errors from admin-ajax.php in Wordpress</title><link>http://thenullhandler.blogspot.com/2022/05/displaying-php-errors-from-admin.html</link><author>noreply@blogger.com (Dee)</author><pubDate>Sun, 1 May 2022 16:50:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-4058620096450915644</guid><description>&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;Edit &lt;/span&gt;&lt;span style="background-color: #cfe2f3; font-size: 15px;"&gt;&lt;b&gt;wp-includes/class-wp-fatal-error-handler.php&lt;/b&gt;&lt;/span&gt;&lt;span style="background-color: white; font-size: 15px;"&gt; and&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;change this in &lt;/span&gt;&lt;span style="background-color: #d0e0e3; font-size: 15px;"&gt;&lt;b&gt;display_default_error_template&lt;/b&gt;( $error, $handled ) (Line: 193)&lt;/span&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;$message = sprintf(&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '&amp;lt;p&amp;gt;%s&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;a href="%s"&amp;gt;%s&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;',&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $message,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* translators: Documentation explaining debugging in WordPress. */&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __( 'https://wordpress.org/support/article/debugging-in-wordpress/' ),&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __( 'Learn more about debugging in WordPress.' )&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;to&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;$message = sprintf(&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; '&amp;lt;p&amp;gt;%s&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;a href="%s"&amp;gt;%s&amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;',&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $message&lt;/span&gt;&lt;span style="background-color: #fcff01; font-size: 15px;"&gt; . ' ' . json_encode($error),&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* translators: Documentation explaining debugging in WordPress. */&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __( 'https://wordpress.org/support/article/debugging-in-wordpress/' ),&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; __( 'Learn more about debugging in WordPress.' )&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; );&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #232629;"&gt;&lt;span style="background-color: white; font-size: 15px;"&gt;Then preview HTML response to admin-ajax.php using Dev Tools.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>New Order alert on Telegram for Prestashop</title><link>http://thenullhandler.blogspot.com/2019/07/new-order-alert-on-telegram-for.html</link><category>order alert</category><category>prestashop</category><category>telegram</category><author>noreply@blogger.com (Dee)</author><pubDate>Sun, 7 Jul 2019 16:42:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-4814247654462771060</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I created a Prestashop Module for a project that would send an alert to a Telegarm group when ever a new order is placed.&lt;br /&gt;
I would like to share the same with all of you.&lt;br /&gt;
Please feel free to download and use &#128102;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;You can download the module zip file from here&lt;/b&gt; -&amp;nbsp;&lt;a href="https://github.com/bhaskarvyas001/TelegramOrderAlert"&gt;https://github.com/bhaskarvyas001/TelegramOrderAlert&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Requirement:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;1.&lt;/b&gt; You will need to Telegram Bot Token&lt;br /&gt;
This can be got by creating a bot. Details to create a telegram bot is here -&amp;nbsp;&lt;a href="https://core.telegram.org/bots#6-botfather"&gt;https://core.telegram.org/bots#6-botfather&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2&lt;/b&gt;. You will need to know that Chat Id of the telegram group where you want to receive the alert&lt;br /&gt;
You can find out the Chat Id by following details here -&amp;nbsp;&lt;a href="https://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id"&gt;https://stackoverflow.com/questions/32423837/telegram-bot-how-to-get-a-group-chat-id&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixrecjEMALypGedscAdFnVTDK6FtHj8QbJHGgJLZuKBSmvVXdRK8YqdclhhhIWfFTQ7pl8QnXPWhfwEXlCoWqFHQ8llDPnreelkqwpmi7jTcfLr0ri8izJv_sdHjiGx_pLUgemFhSIgd9d/s1600/settings.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="369" data-original-width="1213" height="97" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixrecjEMALypGedscAdFnVTDK6FtHj8QbJHGgJLZuKBSmvVXdRK8YqdclhhhIWfFTQ7pl8QnXPWhfwEXlCoWqFHQ8llDPnreelkqwpmi7jTcfLr0ri8izJv_sdHjiGx_pLUgemFhSIgd9d/s320/settings.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
Setting Screen&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKBuqyc7CfK-VDY0zcOSuXlvg99SpLivJxXRSLjxvpV6ihmONEwH8CiWMUfgzk0M7nvG1Wq45VN3OPRJXc3C6zL6lqqEfXK1QCno3yi-ItTxyjs0vM6CmsZosRersoKHiJtFhILE6sFPJR/s1600/alert.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="137" data-original-width="648" height="67" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKBuqyc7CfK-VDY0zcOSuXlvg99SpLivJxXRSLjxvpV6ihmONEwH8CiWMUfgzk0M7nvG1Wq45VN3OPRJXc3C6zL6lqqEfXK1QCno3yi-ItTxyjs0vM6CmsZosRersoKHiJtFhILE6sFPJR/s320/alert.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
This is how the Telegram alert would look like&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixrecjEMALypGedscAdFnVTDK6FtHj8QbJHGgJLZuKBSmvVXdRK8YqdclhhhIWfFTQ7pl8QnXPWhfwEXlCoWqFHQ8llDPnreelkqwpmi7jTcfLr0ri8izJv_sdHjiGx_pLUgemFhSIgd9d/s72-c/settings.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>GROK Pattern in Streamsets Log Parser</title><link>http://thenullhandler.blogspot.com/2019/04/grok-pattern-in-streamsets-log-parser.html</link><category>GROK Pattern</category><category>Log Parser</category><category>Streamsets</category><author>noreply@blogger.com (Dee)</author><pubDate>Sun, 21 Apr 2019 13:08:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-2632631790483862713</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Streamsets Log Parser allows you to parse and ingest Log Files from server&lt;br /&gt;
There are multiple pre-defined "Log Formats" to choose from such as CommonLog Format or Combined Log Format for Apache Access Logs&lt;br /&gt;
However, if you have defined your own log format then "GROK" patterns are great way to configure Log Parser to consume them.&lt;br /&gt;
&lt;br /&gt;
The real challenge however is how should you define you GROK Pattern.&lt;br /&gt;
&lt;b&gt;&lt;a href="https://grokconstructor.appspot.com/do/match" target="_blank"&gt;Test Grok Patterns&lt;/a&gt;&amp;nbsp;(&lt;/b&gt;&lt;a href="https://grokconstructor.appspot.com/do/match"&gt;https://grokconstructor.appspot.com/do/match&lt;/a&gt;&lt;b&gt;)&amp;nbsp;&lt;/b&gt;is a great website to enter your GROK pattern and log line and test if things will work.&lt;br /&gt;
&lt;br /&gt;
It also provides an "Automatic" mode (&lt;a href="https://grokconstructor.appspot.com/do/automatic"&gt;https://grokconstructor.appspot.com/do/automatic&lt;/a&gt;)&lt;br /&gt;
This will generate the GROK pattern for you based on the log line that you provide.&lt;br /&gt;
&lt;br /&gt;
However, if you are using a customized version of Apache access log then you can use standard GROK patterns to match your log line.&lt;br /&gt;
&lt;br /&gt;
For example, for my access log line GROK pattern is given below&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Log Line&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
103.107.92.250 - - [21/Apr/2019:17:34:35 +0530] "GET /form/track-shipment/ HTTP/1.1" 200 8324 "http://onlinexpress.co.in/form/track-shipment/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" 400&lt;/blockquote&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Grok Pattern&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} %{NUMBER:responseTime}&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Streamsets Log Parser Configuration&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtKlBSvPLQh5mClX_LRR0wFePCGlXJytjKbEzEccv8xWOUBDcm8K-7aiKXhit2TL0YO5Xdvm52bBkcRdKn95KT4j5rs-AblER8q3UNxm9dSxpGk-tsnuwAi-WoJeLDs_9acrSyoFtcWuVN/s1600/Capture.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="472" data-original-width="1253" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtKlBSvPLQh5mClX_LRR0wFePCGlXJytjKbEzEccv8xWOUBDcm8K-7aiKXhit2TL0YO5Xdvm52bBkcRdKn95KT4j5rs-AblER8q3UNxm9dSxpGk-tsnuwAi-WoJeLDs_9acrSyoFtcWuVN/s400/Capture.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
In the screenshot &lt;b&gt;MYPATTERN &lt;/b&gt;is the custom name that I have given for my pattern in "GROK Pattern Definition" field.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
The first word is always the pattern name, which is to be entered in the "GROK Pattern" field.&lt;/div&gt;
&lt;br /&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtKlBSvPLQh5mClX_LRR0wFePCGlXJytjKbEzEccv8xWOUBDcm8K-7aiKXhit2TL0YO5Xdvm52bBkcRdKn95KT4j5rs-AblER8q3UNxm9dSxpGk-tsnuwAi-WoJeLDs_9acrSyoFtcWuVN/s72-c/Capture.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Setting up ELK and Streamsets in CWP (Cent OS 7)</title><link>http://thenullhandler.blogspot.com/2019/04/setting-up-elk-and-streamsets-in-cwp.html</link><category>centos</category><category>Elastic Search</category><category>Kibana</category><category>Streamsets</category><author>noreply@blogger.com (Dee)</author><pubDate>Sun, 21 Apr 2019 12:46:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-5991587186113587965</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Though getting started with ELK itself is pretty straight-forward and simple; I ran into small hurdles lately and I thought it would make sense to make a note of it and share with all of you.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Step 1 : Missing JAVA&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
So the very first thing you will find missing is the JDK 8 which is mandatory for all these tools.&lt;br /&gt;
Please do not install OpenJDK1.8 as it has missing packages and will land you in trouble later. We need to install Oracle JAVA 8&lt;br /&gt;
You can download the RPM from here&amp;nbsp; -&lt;br /&gt;
&lt;a href="https://www.oracle.com/technetwork/java/javaee/downloads/jdk8-downloads-2133151.html"&gt;https://www.oracle.com/technetwork/java/javaee/downloads/jdk8-downloads-2133151.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;File downloaded&lt;/u&gt;&lt;/b&gt;:&amp;nbsp;jdk-8u211-linux-x64.rpm&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Make it executable&lt;/u&gt;&lt;/b&gt; : chmod +x jdk-8u211-linux-x64.rpm&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Install&lt;/u&gt;&lt;/b&gt;: sudo yum install jdk-8u211-linux-x64.rpm&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Set the JAVA_PATH&lt;/u&gt;&lt;/b&gt;: With Non Sudo user run these commands&lt;br /&gt;
vi .bash_profile&lt;br /&gt;
&lt;div&gt;
Add this line at end: export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64/jre/bin&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Step 2: Get Elastic Search&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Please do not download the ZIP package. There is an RPM version available as well and it installs as a service. You can download it from here -&lt;br /&gt;
&lt;a href="https://www.elastic.co/downloads/past-releases/elasticsearch-6-2-3"&gt;https://www.elastic.co/downloads/past-releases/elasticsearch-6-2-3&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;File downloaded&lt;/u&gt;&lt;/b&gt;:&amp;nbsp;elasticsearch-6.2.3.rpm&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Make it executable&lt;/u&gt;&lt;/b&gt;&amp;nbsp;: chmod +x elasticsearch-6.2.3.rpm&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Install&lt;/u&gt;&lt;/b&gt;: sudo yum install elasticsearch-6.2.3.rpm&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Run:&lt;/u&gt;&lt;/b&gt;&amp;nbsp; &lt;br /&gt;
&amp;nbsp; sudo systemctl daemon-reload&lt;br /&gt;
&amp;nbsp; sudo systemctl enable elasticsearch.service&lt;br /&gt;
&amp;nbsp; systemctl start elasticsearch.service&lt;br /&gt;
&amp;nbsp; systemctl status&amp;nbsp; elasticsearch.service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Step 3: Get Kibana&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Please do not download the ZIP package. There is an RPM version available as well and it installs as a service. You can download it from here -&lt;br /&gt;
&lt;a href="https://www.elastic.co/downloads/past-releases/kibana-6-2-3"&gt;https://www.elastic.co/downloads/past-releases/kibana-6-2-3&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
(&lt;b&gt;&lt;u&gt;NOTE&lt;/u&gt;&lt;/b&gt;: The version of Elastic Search and Kibana should be same)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;File downloaded&lt;/u&gt;&lt;/b&gt;:&amp;nbsp;kibana-6.2.3-x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Make it executable&lt;/u&gt;&lt;/b&gt;&amp;nbsp;: chmod +x kibana-6.2.3-x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Install&lt;/u&gt;&lt;/b&gt;: sudo yum install kibana-6.2.3-x86_64.rpm&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Run:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; sudo systemctl daemon-reload&lt;br /&gt;
&amp;nbsp; sudo systemctl enable kibana.service&lt;br /&gt;
&amp;nbsp; systemctl start kibana.service&lt;br /&gt;
&amp;nbsp; systemctl status&amp;nbsp; kibana.service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Step 4: Configure Kibana Host in config file&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Location of Config file:&lt;/u&gt;&lt;/b&gt;&amp;nbsp; /etc/kibana/kibana.yml&lt;br /&gt;
&lt;div&gt;
Update these configurations -&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
server.host: "0.0.0.0"&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
elasticsearch.url: "http://localhost:9200"&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
elasticsearch.username: "admin"&lt;/div&gt;
&lt;div&gt;
elasticsearch.password: "password"&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;Step 5: Get Streamsets&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
You can download the zip from here:&lt;/div&gt;
&lt;div&gt;
&lt;a href="https://archives.streamsets.com/datacollector/3.8.1/tarball/streamsets-datacollector-core-3.8.1.tgz"&gt;https://archives.streamsets.com/datacollector/3.8.1/tarball/streamsets-datacollector-core-3.8.1.tgz&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
wget https://archives.streamsets.com/datacollector/3.8.1/tarball/streamsets-datacollector-core-3.8.1.tgz&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;Untar the .tgz file&lt;/b&gt;&lt;/u&gt;: tar -zxf streamsets-datacollector-core-3.8.1.tgz&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;Increase Ulimit:&lt;/u&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
vi /etc/security/limits.conf&lt;/div&gt;
&lt;div&gt;
Add these lines at end of file i.e.&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
*&amp;nbsp; &amp;nbsp; soft&amp;nbsp; &amp;nbsp; nofile 65000&lt;/div&gt;
&lt;div&gt;
*&amp;nbsp; &amp;nbsp; hard&amp;nbsp; &amp;nbsp; nofile 65000&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;Run:&lt;/u&gt;&amp;nbsp;&lt;/b&gt;&amp;nbsp; nohup streamsets-datacollector-3.8.1/bin/streamsets dc &amp;amp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;Step 6: Enable Ports in Firewall&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Following ports need to be opened i.e. 5601, 9200&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><enclosure length="349740177" type="application/x-tar" url="https://archives.streamsets.com/datacollector/3.8.1/tarball/streamsets-datacollector-core-3.8.1.tgz"/><itunes:explicit>no</itunes:explicit><itunes:subtitle>Though getting started with ELK itself is pretty straight-forward and simple; I ran into small hurdles lately and I thought it would make sense to make a note of it and share with all of you. Step 1 : Missing JAVA So the very first thing you will find missing is the JDK 8 which is mandatory for all these tools. Please do not install OpenJDK1.8 as it has missing packages and will land you in trouble later. We need to install Oracle JAVA 8 You can download the RPM from here&amp;nbsp; - https://www.oracle.com/technetwork/java/javaee/downloads/jdk8-downloads-2133151.html File downloaded:&amp;nbsp;jdk-8u211-linux-x64.rpm Make it executable : chmod +x jdk-8u211-linux-x64.rpm Install: sudo yum install jdk-8u211-linux-x64.rpm Set the JAVA_PATH: With Non Sudo user run these commands vi .bash_profile Add this line at end: export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64/jre/bin Step 2: Get Elastic Search Please do not download the ZIP package. There is an RPM version available as well and it installs as a service. You can download it from here - https://www.elastic.co/downloads/past-releases/elasticsearch-6-2-3 File downloaded:&amp;nbsp;elasticsearch-6.2.3.rpm Make it executable&amp;nbsp;: chmod +x elasticsearch-6.2.3.rpm Install: sudo yum install elasticsearch-6.2.3.rpm Run:&amp;nbsp; &amp;nbsp; sudo systemctl daemon-reload &amp;nbsp; sudo systemctl enable elasticsearch.service &amp;nbsp; systemctl start elasticsearch.service &amp;nbsp; systemctl status&amp;nbsp; elasticsearch.service Step 3: Get Kibana Please do not download the ZIP package. There is an RPM version available as well and it installs as a service. You can download it from here - https://www.elastic.co/downloads/past-releases/kibana-6-2-3 (NOTE: The version of Elastic Search and Kibana should be same) File downloaded:&amp;nbsp;kibana-6.2.3-x86_64.rpm Make it executable&amp;nbsp;: chmod +x kibana-6.2.3-x86_64.rpm Install: sudo yum install kibana-6.2.3-x86_64.rpm Run: &amp;nbsp; sudo systemctl daemon-reload &amp;nbsp; sudo systemctl enable kibana.service &amp;nbsp; systemctl start kibana.service &amp;nbsp; systemctl status&amp;nbsp; kibana.service Step 4: Configure Kibana Host in config file Location of Config file:&amp;nbsp; /etc/kibana/kibana.yml Update these configurations - server.host: "0.0.0.0" elasticsearch.url: "http://localhost:9200" elasticsearch.username: "admin" elasticsearch.password: "password" Step 5: Get Streamsets You can download the zip from here: https://archives.streamsets.com/datacollector/3.8.1/tarball/streamsets-datacollector-core-3.8.1.tgz wget https://archives.streamsets.com/datacollector/3.8.1/tarball/streamsets-datacollector-core-3.8.1.tgz Untar the .tgz file: tar -zxf streamsets-datacollector-core-3.8.1.tgz Increase Ulimit:&amp;nbsp; vi /etc/security/limits.conf Add these lines at end of file i.e. *&amp;nbsp; &amp;nbsp; soft&amp;nbsp; &amp;nbsp; nofile 65000 *&amp;nbsp; &amp;nbsp; hard&amp;nbsp; &amp;nbsp; nofile 65000 Run:&amp;nbsp;&amp;nbsp; nohup streamsets-datacollector-3.8.1/bin/streamsets dc &amp;amp; Step 6: Enable Ports in Firewall Following ports need to be opened i.e. 5601, 9200</itunes:subtitle><itunes:author>noreply@blogger.com (Dee)</itunes:author><itunes:summary>Though getting started with ELK itself is pretty straight-forward and simple; I ran into small hurdles lately and I thought it would make sense to make a note of it and share with all of you. Step 1 : Missing JAVA So the very first thing you will find missing is the JDK 8 which is mandatory for all these tools. Please do not install OpenJDK1.8 as it has missing packages and will land you in trouble later. We need to install Oracle JAVA 8 You can download the RPM from here&amp;nbsp; - https://www.oracle.com/technetwork/java/javaee/downloads/jdk8-downloads-2133151.html File downloaded:&amp;nbsp;jdk-8u211-linux-x64.rpm Make it executable : chmod +x jdk-8u211-linux-x64.rpm Install: sudo yum install jdk-8u211-linux-x64.rpm Set the JAVA_PATH: With Non Sudo user run these commands vi .bash_profile Add this line at end: export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64/jre/bin Step 2: Get Elastic Search Please do not download the ZIP package. There is an RPM version available as well and it installs as a service. You can download it from here - https://www.elastic.co/downloads/past-releases/elasticsearch-6-2-3 File downloaded:&amp;nbsp;elasticsearch-6.2.3.rpm Make it executable&amp;nbsp;: chmod +x elasticsearch-6.2.3.rpm Install: sudo yum install elasticsearch-6.2.3.rpm Run:&amp;nbsp; &amp;nbsp; sudo systemctl daemon-reload &amp;nbsp; sudo systemctl enable elasticsearch.service &amp;nbsp; systemctl start elasticsearch.service &amp;nbsp; systemctl status&amp;nbsp; elasticsearch.service Step 3: Get Kibana Please do not download the ZIP package. There is an RPM version available as well and it installs as a service. You can download it from here - https://www.elastic.co/downloads/past-releases/kibana-6-2-3 (NOTE: The version of Elastic Search and Kibana should be same) File downloaded:&amp;nbsp;kibana-6.2.3-x86_64.rpm Make it executable&amp;nbsp;: chmod +x kibana-6.2.3-x86_64.rpm Install: sudo yum install kibana-6.2.3-x86_64.rpm Run: &amp;nbsp; sudo systemctl daemon-reload &amp;nbsp; sudo systemctl enable kibana.service &amp;nbsp; systemctl start kibana.service &amp;nbsp; systemctl status&amp;nbsp; kibana.service Step 4: Configure Kibana Host in config file Location of Config file:&amp;nbsp; /etc/kibana/kibana.yml Update these configurations - server.host: "0.0.0.0" elasticsearch.url: "http://localhost:9200" elasticsearch.username: "admin" elasticsearch.password: "password" Step 5: Get Streamsets You can download the zip from here: https://archives.streamsets.com/datacollector/3.8.1/tarball/streamsets-datacollector-core-3.8.1.tgz wget https://archives.streamsets.com/datacollector/3.8.1/tarball/streamsets-datacollector-core-3.8.1.tgz Untar the .tgz file: tar -zxf streamsets-datacollector-core-3.8.1.tgz Increase Ulimit:&amp;nbsp; vi /etc/security/limits.conf Add these lines at end of file i.e. *&amp;nbsp; &amp;nbsp; soft&amp;nbsp; &amp;nbsp; nofile 65000 *&amp;nbsp; &amp;nbsp; hard&amp;nbsp; &amp;nbsp; nofile 65000 Run:&amp;nbsp;&amp;nbsp; nohup streamsets-datacollector-3.8.1/bin/streamsets dc &amp;amp; Step 6: Enable Ports in Firewall Following ports need to be opened i.e. 5601, 9200</itunes:summary><itunes:keywords>centos, Elastic Search, Kibana, Streamsets</itunes:keywords></item><item><title>Extend / resize SWAP partition in Centos</title><link>http://thenullhandler.blogspot.com/2019/02/extend-swap-partition-in-centos.html</link><category>centos</category><category>swap partition increase</category><category>swap resize</category><author>noreply@blogger.com (Dee)</author><pubDate>Thu, 28 Feb 2019 14:01:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-983014796005378123</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
If you are running low on swap memory in your centos environment; please follow these steps to extend the swap partition.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Step 1:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Since all the space in the physical disk would already be allocated to different partitions; there would not be any free space in your "Logical Volume" to give to swap partition.&lt;br /&gt;
You can see the volume group details by running the command &amp;gt; &lt;b&gt;vgs&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_grL1saTg6KCFK_doZcCpNYxIHNy0i5pUpXPyl6_PR4zZBdH8mXLubb7_kNOMgJ9zg16CbFCJyzt7zfN76qmD_6S_sXW2KeRVP1X-1MVG6pPHql16EZ-xqtN1NAhsfkolmu0rL5xnTU2l/s1600/vgs.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="56" data-original-width="353" height="50" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_grL1saTg6KCFK_doZcCpNYxIHNy0i5pUpXPyl6_PR4zZBdH8mXLubb7_kNOMgJ9zg16CbFCJyzt7zfN76qmD_6S_sXW2KeRVP1X-1MVG6pPHql16EZ-xqtN1NAhsfkolmu0rL5xnTU2l/s320/vgs.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
You can verify the logical volume details by running the command &amp;gt; &lt;b&gt;lvs&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWraKIbGZ7BWj2cO-4Fnf3cXaO-7XitjqdY5B4CL35Iu1UH1OunchLid31Dh8im7PJTdvYIWOZ7Z1Z7-02rCqnI_i303me4O7Z-y3CZPOuujElHhN3gzdEBLg-WgvkanXv7AGYdF3aJKbV/s1600/lvs+old.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="140" data-original-width="637" height="70" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWraKIbGZ7BWj2cO-4Fnf3cXaO-7XitjqdY5B4CL35Iu1UH1OunchLid31Dh8im7PJTdvYIWOZ7Z1Z7-02rCqnI_i303me4O7Z-y3CZPOuujElHhN3gzdEBLg-WgvkanXv7AGYdF3aJKbV/s320/lvs+old.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
You can see that there is no free space and my swap volume has 2GB space.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;&lt;u&gt;Step 2:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
So, first logical step is to get some free space from other partition (probably from &lt;b&gt;home partition&lt;/b&gt; as that has maximum space in the screenshot above) so that it can be allocated to swap partition&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
So, first we need to un-mount the home partition.&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
It can be done by following command &amp;gt;&amp;nbsp;&lt;b&gt;sudo umount -fl /home&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Next to change the partition size, run the command &amp;gt;&amp;nbsp;&amp;nbsp;&lt;b&gt;lvreduce -L 173.88G /dev/mapper/centos-home&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;NOTE: &lt;/b&gt;Please note that the size to be given here is the new total size i.e. if old size was 60GB and you want to reduce it to 50GB so that you get 10GB free space then give 50GB here.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW5BKTPL4613QmIO6sjVPUca6HzwAc2ANHLPO38kxlbNYIqzXYz2o_Hc6YX_NXcmBT5kXQ_Q1_WCSzYnEv4TnJ9pIha-B-5-88Q7BUn-VsPkUK4rfkGWn2kMCnyDYqItoDVMEgZ8ClRxDE/s1600/reduce.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="133" data-original-width="661" height="64" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW5BKTPL4613QmIO6sjVPUca6HzwAc2ANHLPO38kxlbNYIqzXYz2o_Hc6YX_NXcmBT5kXQ_Q1_WCSzYnEv4TnJ9pIha-B-5-88Q7BUn-VsPkUK4rfkGWn2kMCnyDYqItoDVMEgZ8ClRxDE/s320/reduce.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Once you have done this, you can run the &lt;b&gt;vgs&lt;/b&gt;&amp;nbsp;command again to verify the free space that has been obtained.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYk5ec_w_YBoR74fqYRu_YkmvyKmewFeWtkYhrTA67PK4vNklkyng5lGslmGoTLE-dK5S338iUm1w2YUNYYXXF2F3clNba9Guu30PTAxjU_YD9ClgRhwQlUKPRH2CfQBhVM93K4jKUoupo/s1600/free+space.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="55" data-original-width="429" height="41" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYk5ec_w_YBoR74fqYRu_YkmvyKmewFeWtkYhrTA67PK4vNklkyng5lGslmGoTLE-dK5S338iUm1w2YUNYYXXF2F3clNba9Guu30PTAxjU_YD9ClgRhwQlUKPRH2CfQBhVM93K4jKUoupo/s320/free+space.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;&lt;u&gt;Step 3:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Now, we need to clear and turn off SWAP&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
This can be done by following commands i.e.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
First run this command &amp;gt; &lt;b&gt;echo "3" &amp;gt; /proc/sys/vm/drop_caches&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both;"&gt;
Then run this command &amp;gt; &lt;b&gt;swapoff -v /dev/centos/swap&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-FsUTmYFB6aqbQFVXsShXQTLbwPOhEeYz8ibJPhX69a-Zu8SamWFaVmxxJglBdk6tAzI1bIUmawEGHhFiqhU6mPHIutuF6N1z1j6Wu0Rq1s17x1oOwWEv_ffQ6zFmR9m40Zn1BGYYzFUU/s1600/swap+off.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="54" data-original-width="472" height="36" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-FsUTmYFB6aqbQFVXsShXQTLbwPOhEeYz8ibJPhX69a-Zu8SamWFaVmxxJglBdk6tAzI1bIUmawEGHhFiqhU6mPHIutuF6N1z1j6Wu0Rq1s17x1oOwWEv_ffQ6zFmR9m40Zn1BGYYzFUU/s320/swap+off.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;Step 4:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Now, the grand step of increasing the swap partition&lt;/div&gt;
&lt;div&gt;
Please run this command &amp;gt; &lt;b&gt;lvm lvresize /dev/centos/swap -L +6G&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;NOTE:&lt;/b&gt;&amp;nbsp;Since I had freed 6GB space so I am adding 6GB to existing SWAP partition. This will make the new SWAP to be 2G + 6G = 8G&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJmcDZ0n75ghsyfkZb7K4d_nbwI-oUr62Nn6f8xNDlpxjSa-zqNuU6vBS0w8pWErRYSxJAewF8zZSJFVG6kt7mCQRnCJihV0mbG-BIutX6ZvB_2xLMk02b2OR0FSqUFF6Fz5uIWvrk5sFz/s1600/resize.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="66" data-original-width="686" height="30" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJmcDZ0n75ghsyfkZb7K4d_nbwI-oUr62Nn6f8xNDlpxjSa-zqNuU6vBS0w8pWErRYSxJAewF8zZSJFVG6kt7mCQRnCJihV0mbG-BIutX6ZvB_2xLMk02b2OR0FSqUFF6Fz5uIWvrk5sFz/s320/resize.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Running the &lt;b&gt;vgs &lt;/b&gt;command again will show that the free space has been used up&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYtUsuqImKn0llEAsKSdMSJ86_ZbXbCIoCACzXpIMpaKWomXYoswCPrqEblnNDOMhEiQ5a_Cz5GbASIDabjCQjrwiZZT26HGYmrLdzdlgNMtz_PsRL8p02cp-iVnCSzbp8EfepWmZ4KBwl/s1600/used.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="51" data-original-width="462" height="35" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYtUsuqImKn0llEAsKSdMSJ86_ZbXbCIoCACzXpIMpaKWomXYoswCPrqEblnNDOMhEiQ5a_Cz5GbASIDabjCQjrwiZZT26HGYmrLdzdlgNMtz_PsRL8p02cp-iVnCSzbp8EfepWmZ4KBwl/s320/used.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;Step 5:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
Now we need to wipe off old SWAP signature and recreate the swap so that it know the new size&lt;/div&gt;
&lt;div&gt;
Use these command for it i.e.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
First &amp;gt;&amp;nbsp;&lt;b&gt;mkswap /dev/centos/swap&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Next &amp;gt;&amp;nbsp; &lt;b&gt;swapon -va&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Verify using command &amp;gt; &lt;b&gt;swapon -s&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoq0Bga24WCLFV3YwvAOvZILhkDNuDtt9EhH7dS9yFb4yQvx_7H9ZfD5MfGNXQYG-ZlKDhdNtob6VDaKFoUWgmDvXZ727Isn7iM1Cl-OULVYXg7TxGh8GJvHXVqXDUTSegWeZFhNALgD81/s1600/make+swap.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="246" data-original-width="715" height="110" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoq0Bga24WCLFV3YwvAOvZILhkDNuDtt9EhH7dS9yFb4yQvx_7H9ZfD5MfGNXQYG-ZlKDhdNtob6VDaKFoUWgmDvXZ727Isn7iM1Cl-OULVYXg7TxGh8GJvHXVqXDUTSegWeZFhNALgD81/s320/make+swap.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;Step 6:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Check the new partition details using command &amp;gt; &lt;b&gt;lvs&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiImteu6FWBko6nDIW1CZl6siWt4QBs9Z0FSCmMZV5jOjwqzIZmFWA2miv6uJDTDrZwu7kR-Bi4DJUn3qeBjyLMLK87tDPtwV-sbLdb8KfnMosTcz29YKTNVbWCjUHK7wBSP9ifqKixkDpW/s1600/lvs.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="141" data-original-width="640" height="70" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiImteu6FWBko6nDIW1CZl6siWt4QBs9Z0FSCmMZV5jOjwqzIZmFWA2miv6uJDTDrZwu7kR-Bi4DJUn3qeBjyLMLK87tDPtwV-sbLdb8KfnMosTcz29YKTNVbWCjUHK7wBSP9ifqKixkDpW/s320/lvs.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Finally, Mount the home partition &amp;gt;&amp;nbsp;&lt;b&gt;sudo mount -fl /home&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_grL1saTg6KCFK_doZcCpNYxIHNy0i5pUpXPyl6_PR4zZBdH8mXLubb7_kNOMgJ9zg16CbFCJyzt7zfN76qmD_6S_sXW2KeRVP1X-1MVG6pPHql16EZ-xqtN1NAhsfkolmu0rL5xnTU2l/s72-c/vgs.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Notice: ob_end_clean(): failed to delete buffer.</title><link>http://thenullhandler.blogspot.com/2018/09/notice-obendclean-failed-to-delete.html</link><category>ob_end_clean(): failed to delete buffer</category><category>Spout excel</category><author>noreply@blogger.com (Dee)</author><pubDate>Tue, 25 Sep 2018 13:25:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-5995012396658133521</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;&lt;br /&gt;Hello Coders,&lt;br /&gt;&lt;br /&gt;&lt;div&gt;
So as the title reads; I am going to talk of below error that gave me a nightmare recently.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Notice: ob_end_clean(): failed to delete buffer&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I use Spout Excel plugin (&lt;a href="https://github.com/box/spout"&gt;get it here&lt;/a&gt;) to write excel reports for my project.&lt;br /&gt;One fine day the excel stopped working giving following error for each and every report &#128546;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGXakrqAa60jwDFcKhb27K9_43meX4WcBPA4NCDithcP8Dic8HEnqE7I21JKfW7XjTTvlU8MfYjUJRYcazAGZDbBBNm6M2VyASApBvH8bFNyF-7IlafzF3P6iKxEjiet6z2HitSszwaAPR/s1600/excel_error.PNG"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGXakrqAa60jwDFcKhb27K9_43meX4WcBPA4NCDithcP8Dic8HEnqE7I21JKfW7XjTTvlU8MfYjUJRYcazAGZDbBBNm6M2VyASApBvH8bFNyF-7IlafzF3P6iKxEjiet6z2HitSszwaAPR/s320/excel_error.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;I searched and searched and searched to understand the reason for this error. I thought I wrote something that was writing some corrupt data in the file.&lt;br /&gt;&lt;br /&gt;However, then I found out that removing new lines after the closing PHP tag in one of my file fixed the issue. I am referring to the PHP closing tag i.e. &lt;b&gt;&lt;span style="font-size: large;"&gt;?&amp;gt;&lt;/span&gt;&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;It so appears that new line after the closing tag writes something in the output buffer even before my excel content was being written.&lt;br /&gt;&lt;br /&gt;Such a silly issue caused catastrophic impact to the production system for one good day.&lt;br /&gt;&lt;br /&gt;But all's well that ends well ..&lt;br /&gt;- Happy coding - &lt;/div&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGXakrqAa60jwDFcKhb27K9_43meX4WcBPA4NCDithcP8Dic8HEnqE7I21JKfW7XjTTvlU8MfYjUJRYcazAGZDbBBNm6M2VyASApBvH8bFNyF-7IlafzF3P6iKxEjiet6z2HitSszwaAPR/s72-c/excel_error.PNG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Simplest PHP CRUD Generator</title><link>http://thenullhandler.blogspot.com/2017/02/simplest-php-crud-generator.html</link><category>PHP crud generator</category><author>noreply@blogger.com (Dee)</author><pubDate>Fri, 24 Feb 2017 11:24:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-8703775763271949617</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
One of the most basic operation that one needs to do when creating a dynamic web application is to create DAO layer with CRUD methods for all the database tables. This is a trivial and repeatative work. Hence I thought why not write a program that generates this code automatically. Smart Eh.. :-)&lt;br /&gt;
&lt;br /&gt;
So, friends today I would like to share the source code of the program with you.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://github.com/bhaskarvyas001/php_crud_generator" target="_blank"&gt;https://github.com/bhaskarvyas001/php_crud_generator&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Please feel free to download and test the program.&lt;br /&gt;
You are free to modify and use it however you wish. Cheers !!&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>How to print large modal popup?</title><link>http://thenullhandler.blogspot.com/2016/11/how-to-print-large-modal-popup.html</link><category>print css issue</category><category>print html</category><category>print popup</category><author>noreply@blogger.com (Dee)</author><pubDate>Wed, 2 Nov 2016 03:54:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-4968517516778672983</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Hello Readers,&lt;br /&gt;
&lt;br /&gt;
Today we are going to see how to print large html modal popup. This is a situation that occurred to me in one of my assignments. The regular javascript command i.e.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
window.print();&lt;/blockquote&gt;
fails when printing a modal popup. The thing is that it fails to figure out the actual size of the content and shows only part of the content in the print preview.&lt;br /&gt;
I tried number of solutions which worked but then they had serious CSS issue while printing.&lt;br /&gt;
However, "PrintArea" jquery plugin (&lt;a href="https://github.com/RitsC/PrintArea/" target="_blank"&gt;https://github.com/RitsC/PrintArea/&lt;/a&gt;) takes care of all these issues. It is also browser compatible and has bunch of options to customize what you wish to print.&lt;br /&gt;
It is very simple to use as well. All you have to write is&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span class="pl-en" style="background-color: white; box-sizing: border-box; color: #795da3; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 12px; white-space: pre;"&gt;$&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 12px; white-space: pre;"&gt;( divIdToprint ).&lt;/span&gt;&lt;span class="pl-en" style="background-color: white; box-sizing: border-box; color: #795da3; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 12px; white-space: pre;"&gt;printArea&lt;/span&gt;&lt;span style="background-color: white; color: #333333; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 12px; white-space: pre;"&gt;( options );&lt;/span&gt;&lt;/blockquote&gt;
&amp;nbsp;So, if you are struggling with issues related to printing large modal popup then go ahead and give this plugin a try :-)&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&amp;nbsp;&lt;/blockquote&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Setting up ImageMagick (Imagick) in XAMPP PHP</title><link>http://thenullhandler.blogspot.com/2016/09/setting-up-imagemagick-imagick-in-xampp.html</link><category>ImageMagick</category><category>imagick</category><category>php</category><author>noreply@blogger.com (Dee)</author><pubDate>Wed, 28 Sep 2016 11:29:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-2348902484373559272</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Hello There,&lt;br /&gt;
&lt;br /&gt;
I recently had a requirement to use PHP ImageMagick Plugin for one of my project.&lt;br /&gt;
So, I created this sample project that I am sharing here for you to use in case you need help.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style="text-align: left;"&gt;
About the project&lt;/h3&gt;
&lt;h3 style="text-align: left;"&gt;
&lt;a href="https://bitbucket.org/bhaskarvyas001/imagick" target="_blank"&gt;https://bitbucket.org/bhaskarvyas001/imagick&lt;/a&gt;&lt;/h3&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
This Project demonstrates how can you use the ImageMagick plugin in PHP to convert images / PDF from one format to another. More details about imageMagick here --&amp;gt;&amp;nbsp;&lt;a href="http://php.net/manual/en/intro.imagick.php" target="_blank"&gt;About ImageMagick&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style="text-align: left;"&gt;
How do I get set up?&lt;/h3&gt;
Follow these steps to properly install and enable ImageMagick in you environment.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1.&lt;/b&gt; Open PHPInfo and check:&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Architecture = x86 or x64&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Thread Safety = yes or no&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhULyOaEsrQ9qQ_3hIA-BagNgjSe5nB93xDQv3dsjsHzXzasdccqdjmpULHAjK3Mhxz3d7sUhjYaPRJdWWDa029HBgiW6iDselwJhXx8EK6GDoHT5OYo5hdyFx_1vhWSL6sMkmcBUEsT5NX/s1600/x86.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="75" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhULyOaEsrQ9qQ_3hIA-BagNgjSe5nB93xDQv3dsjsHzXzasdccqdjmpULHAjK3Mhxz3d7sUhjYaPRJdWWDa029HBgiW6iDselwJhXx8EK6GDoHT5OYo5hdyFx_1vhWSL6sMkmcBUEsT5NX/s320/x86.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgNGyPqbmaT14p3mYMNPQ5wH17XWTfEijKKEfGSOinMtjn4v-Az4omKOtJ6uG3GbajQYP2GN_bkuNfh_TwxdnnCKX62hasldn4AXWWome1Hz0EOd_grg7kjYlsD9PV64JAX3xIkJZKX9n8/s1600/Thread+safe.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="86" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgNGyPqbmaT14p3mYMNPQ5wH17XWTfEijKKEfGSOinMtjn4v-Az4omKOtJ6uG3GbajQYP2GN_bkuNfh_TwxdnnCKX62hasldn4AXWWome1Hz0EOd_grg7kjYlsD9PV64JAX3xIkJZKX9n8/s320/Thread+safe.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2.&lt;/b&gt; Download ImageMagick from:&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&lt;a href="http://windows.php.net/downloads/pecl/deps/" target="_blank"&gt;http://windows.php.net/downloads/pecl/deps/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;In my case I downloaded: ImageMagick-6.9.3-7-vc11-x86.zip&lt;br /&gt;
&amp;nbsp; &amp;nbsp;because the Architecture under PHPInfo is x86&lt;br /&gt;
&amp;nbsp; &amp;nbsp;as for vc11 or vc14&lt;br /&gt;
&amp;nbsp; &amp;nbsp;search google for "visual c++ 11 runtime" or&lt;br /&gt;
&amp;nbsp; &amp;nbsp;"visual c++ 14 runtime" and install it&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. &lt;/b&gt;Unzip and copy all dlls from the bin subfolder to the&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Apache bin directory. It's a bunch of CORE_RL_*.dll&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;and IM_MOD_RL_*.dll plus a few other dlls.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;In my case, I installed XAMPP in C:\XAMPP, so:&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;(from zip) bin/*.dll --&amp;gt; C:\XAMPP\apache\bin&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4.&lt;/b&gt; Goto:&amp;nbsp;&lt;a href="http://pecl.php.net/package/imagick" target="_blank"&gt;http://pecl.php.net/package/imagick&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; as of today, latest is 3.4.1 so I went to:&lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href="http://pecl.php.net/package/imagick/3.4.1/windows" target="_blank"&gt;http://pecl.php.net/package/imagick/3.4.1/windows&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; My PHP version is: 5.6.18, and Thread Safety is Yes from Step #1, so I downloaded:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 5.6 Thread Safe (TS) x86&lt;br /&gt;
&amp;nbsp; &amp;nbsp; I got: php_imagick-3.4.1-5.6-ts-vc11-x86.zip&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;5.&lt;/b&gt; Unzip and copy "php_imagick.dll" to the php extension folder:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; In my case:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; php_imagick.dll -&amp;gt; C:\XAMPP\php\ext&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;6.&lt;/b&gt; Edit "php.ini" and add at the very end&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; [Imagick]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; extension=php_imagick.dll&lt;br /&gt;
&amp;nbsp; &amp;nbsp;(Location of php.ini for me was C:\XAMPP\php\php.ini)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-BI4gIhdScMG5OivV1pI_Is64YX2CN8mVndznCAs_jn2kc-VwGUvxoye2YI8ScUcd7MRKdL5hBJj4GHrwL4_UXKq76W38UnJ0g_WSBNPl_dbfXfz6GtLUeLeFu-1Aam_3ggLe4ifX3gbx/s1600/php.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-BI4gIhdScMG5OivV1pI_Is64YX2CN8mVndznCAs_jn2kc-VwGUvxoye2YI8ScUcd7MRKdL5hBJj4GHrwL4_UXKq76W38UnJ0g_WSBNPl_dbfXfz6GtLUeLeFu-1Aam_3ggLe4ifX3gbx/s320/php.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;7.&lt;/b&gt; Restart Apache&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;8.&lt;/b&gt; Check PHPInfo&lt;br /&gt;
&amp;nbsp; &amp;nbsp;scroll to section (or find): imagick &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp;number of supported formats: 234&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBtK6DW-u4N7rONWJGNLmQwDeyY1KjJsCm6fP0CwiEMAcULh23kuv_mzKuxFRdbCxzWtisPRPcVdylw8b6Xf8f-kvODHNWJQgpf0mE8-opmcJuLB4JW3oKf1x1f7FNlgCUPRXM4T7Yug3M/s1600/imagick.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBtK6DW-u4N7rONWJGNLmQwDeyY1KjJsCm6fP0CwiEMAcULh23kuv_mzKuxFRdbCxzWtisPRPcVdylw8b6Xf8f-kvODHNWJQgpf0mE8-opmcJuLB4JW3oKf1x1f7FNlgCUPRXM4T7Yug3M/s320/imagick.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;If there is no "imagick" section or "supported format" is 0,&lt;br /&gt;
&amp;nbsp; &amp;nbsp;something went wrong. Try all the steps carefully again&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhULyOaEsrQ9qQ_3hIA-BagNgjSe5nB93xDQv3dsjsHzXzasdccqdjmpULHAjK3Mhxz3d7sUhjYaPRJdWWDa029HBgiW6iDselwJhXx8EK6GDoHT5OYo5hdyFx_1vhWSL6sMkmcBUEsT5NX/s72-c/x86.PNG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Text to Speech in Ionic / PhoneGap / Cordova Project</title><link>http://thenullhandler.blogspot.com/2016/07/text-to-speech-in-ionic-phonegap_11.html</link><category>Cordova TTS</category><category>Ionic TTS</category><category>Phonegap TTS</category><category>text to speech (TTS)</category><author>noreply@blogger.com (Dee)</author><pubDate>Mon, 11 Jul 2016 00:19:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-928288190198179204</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Hello Friends,&lt;br /&gt;
&lt;br /&gt;
So recently I worked on this small project that is supposed to incorporate text to speech feature provided by Cordova Plugin in an Ionic project.&lt;br /&gt;
&lt;br /&gt;
There are lot of plugins out there but after trying many of them; this is what worked for me.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 1)&lt;/b&gt; Install the following Cordova Plugin i.e.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;b&gt;cordova plugin add org.apache.cordova.plugin.tts&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b&gt;Step 2) &lt;/b&gt;Next write the following code snippet to make use of the plugin to speak the text&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;var textToSpeech = new SpeechSynthesisUtterance('hello There');
&lt;/span&gt;&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;textToSpeech&lt;/span&gt;&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;.lang = 'en-US';&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;textToSpeech.rate = '0.7';&lt;/span&gt;&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;
speechSynthesis.speak(&lt;/span&gt;&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;textToSpeech&lt;/span&gt;&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
Write the above code snippet in the onClick function of the speak button of your application.&lt;br /&gt;
&lt;div&gt;
That's it. Enjoy the way how your application now communicates with you :-)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Thanks to the following discussion at Ionic Forum i.e.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
https://forum.ionicframework.com/t/problems-with-text-to-speech/31927&lt;br /&gt;
&lt;div&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Text to Speech in Ionic / PhoneGap / Cordova Project</title><link>http://thenullhandler.blogspot.com/2016/07/text-to-speech-in-ionic-phonegap.html</link><category>Cordova TTS</category><category>Ionic TTS</category><category>Phonegap TTS</category><category>text to speech (TTS)</category><author>noreply@blogger.com (Dee)</author><pubDate>Mon, 11 Jul 2016 00:19:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-2480435479765001656</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Hello Friends,&lt;br /&gt;
&lt;br /&gt;
So recently I worked on this small project that is supposed to incorporate text to speech feature provided by Cordova Plugin in an Ionic project.&lt;br /&gt;
&lt;br /&gt;
There are lot of plugins out there but after trying many of them; this is what worked for me.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Step 1)&lt;/b&gt; Install the following Cordova Plugin i.e.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;b&gt;cordova plugin add org.apache.cordova.plugin.tts&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b&gt;Step 2) &lt;/b&gt;Next write the following code snippet to make use of the plugin to speak the text&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;var textToSpeech = new SpeechSynthesisUtterance('hello There');
&lt;/span&gt;&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;textToSpeech&lt;/span&gt;&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;.lang = 'en-US';&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;textToSpeech.rate = '0.7';&lt;/span&gt;&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;
speechSynthesis.speak(&lt;/span&gt;&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;textToSpeech&lt;/span&gt;&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
Write the above code snippet in the onClick function of the speak button of your application.&lt;br /&gt;
&lt;div&gt;
That's it. Enjoy the way how your application now communicates with you :-)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Thanks to the following discussion at Ionic Forum i.e.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
https://forum.ionicframework.com/t/problems-with-text-to-speech/31927&lt;br /&gt;
&lt;div&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style="background-color: #f8f8f8; color: #222222; font-family: &amp;quot;consolas&amp;quot; , &amp;quot;menlo&amp;quot; , &amp;quot;monaco&amp;quot; , &amp;quot;lucida console&amp;quot; , &amp;quot;liberation mono&amp;quot; , &amp;quot;dejavu sans mono&amp;quot; , &amp;quot;bitstream vera sans mono&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; font-size: 14px; line-height: 19px; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Prestashop 1.6 | Product import through CSV tips</title><link>http://thenullhandler.blogspot.com/2016/05/prestashop-16-product-import-through.html</link><category>CSV product upload</category><category>prestashop</category><author>noreply@blogger.com (Dee)</author><pubDate>Sat, 14 May 2016 20:11:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-3314362438111866073</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Recently I have been uploading lots of products to the website &lt;a href="http://www.assamesebooks.com/"&gt;http://www.assamesebooks.com&lt;/a&gt;&lt;br /&gt;
The upload was done through uploading a CSV file with all the product details.&lt;br /&gt;
The "Sample" CSV file to upload products is provide by Prestashop.&lt;br /&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;To begin with navigate to the upload product CSV screen from the menu&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;Catalog -&amp;gt; Products - &amp;gt; click on the small import icon above the search button to navigate to the import CSV screen&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikaq_-jg8Q4KddigrlolHYwNl_qvaWjiOwhqiN5UEO_oAkJ7XSJFxy-ZENiszUY_vq_SJyPbYGonrKitMNhGmf7zB1QhiRPSr-LgZPh9Ir_xKdR6eQjaTkK9-iC9czJJ_edrwQHpHtqnBb/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="159" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikaq_-jg8Q4KddigrlolHYwNl_qvaWjiOwhqiN5UEO_oAkJ7XSJFxy-ZENiszUY_vq_SJyPbYGonrKitMNhGmf7zB1QhiRPSr-LgZPh9Ir_xKdR6eQjaTkK9-iC9czJJ_edrwQHpHtqnBb/s320/1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Products Menu under Catalog&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHxUNJQ0vPNNTNYmtxehlWlR7hs-OJIoCtxCIfna1DwIId6JWO0Zk29V7RFcfpNelk-QZiMh8PqvTAc4_0ETnUxtG4SPxAhZooj256wtCGDt3AZ80rZ51VGP5HEyNMrdNpk4mftWkOBnH5/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="87" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHxUNJQ0vPNNTNYmtxehlWlR7hs-OJIoCtxCIfna1DwIId6JWO0Zk29V7RFcfpNelk-QZiMh8PqvTAc4_0ETnUxtG4SPxAhZooj256wtCGDt3AZ80rZ51VGP5HEyNMrdNpk4mftWkOBnH5/s320/2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The import icon as highlighted&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5kjEBNQhB91oxnAEDB4V-PneAOPJtZununOoL-mJoxx4M8eloFlFmU6ih3D3wmzI-y1SKwCEse5UIlmL5HEULSExBDHZ5UpYkCAWqFTnDiAGxSJAp9fOmj3wenr1GqtMRAbXmgvPGz9ug/s1600/4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5kjEBNQhB91oxnAEDB4V-PneAOPJtZununOoL-mJoxx4M8eloFlFmU6ih3D3wmzI-y1SKwCEse5UIlmL5HEULSExBDHZ5UpYkCAWqFTnDiAGxSJAp9fOmj3wenr1GqtMRAbXmgvPGz9ug/s320/4.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
The CSV import Page&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;2&lt;/b&gt;. There are few import import settings on this page i.e.&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;b&gt;Field Separator&lt;/b&gt; - This is the separator by how the individual columns in you CSV are separated. By default it is semicolon (;) so please be mindful of changing it if your file is a comma separated one&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Multiple Value Separator&lt;/b&gt; - There are times when you have multiple values for a column. For example multiple Meta-keywords. &amp;nbsp;In that case you need to use the separator you mention here in the file.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Delete All products before import&lt;/b&gt; - I think this is self explanatory and a dangerous option. Use wisely as the products get deleted before the import starts. Which means even if there is a failure during the import; the products are already deleted.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Force all ID numbers&lt;/b&gt; - Use this option in case you want the ID in your CSV file to be used instead of auto generated by the database.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;3&lt;/b&gt;. The sample CSV file can also be downloaded from this page. You can find it in the lower right corner side of the page.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVaMwUnFq279B6FTKCYNWfBb48h-ONHEpeypw3b-1fujvJIoNhzDwGV8_Rv06i7hmmrBUWeuIEYRnVjHAoZPFSTebbNFBqe5f68E4Krq-RTcNLAkUoe3bRQWCClXotGIPfjUHrurA9xqzn/s1600/3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVaMwUnFq279B6FTKCYNWfBb48h-ONHEpeypw3b-1fujvJIoNhzDwGV8_Rv06i7hmmrBUWeuIEYRnVjHAoZPFSTebbNFBqe5f68E4Krq-RTcNLAkUoe3bRQWCClXotGIPfjUHrurA9xqzn/s320/3.JPG" width="264" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;b&gt;4&lt;/b&gt;. On the next page you need to MAP the columns in the CSV file to the expected values by Prestashop for product upload. This step is super important.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Please select the data from the drop down which is represented by the CSV column.&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Another important setting here is "Lines to skip". Use this option to skip the header row from your CSV file. If your CSV has no header then give this as 0 to read and process all the rows in the CSV.&lt;br /&gt;
&lt;br /&gt;
You can also save your mapping by giving some name and clicking the save button. This way; next time when you plan to upload the CSV you don't have to do all the mappings.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP8iO5jOfFdBGelgjG5Fb-eNsuAMeD5Otpo0eEmWbK1ITMjOg3vIejkK69LBiFDo8iI2nJsFayyqtYe-4zhDri6pyJVNKmbKe9F64h9lAiXECsRFlKntI1lPRBvEkioOTcuC5-zGpE2YTd/s1600/5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP8iO5jOfFdBGelgjG5Fb-eNsuAMeD5Otpo0eEmWbK1ITMjOg3vIejkK69LBiFDo8iI2nJsFayyqtYe-4zhDri6pyJVNKmbKe9F64h9lAiXECsRFlKntI1lPRBvEkioOTcuC5-zGpE2YTd/s320/5.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;b&gt;5&lt;/b&gt;. Finally you are ready to start the import process. Click on the IMPORT button the the bottom of &lt;br /&gt;
the page.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEUC51TfEzrtcf-k5lPpZ2YCXnMuJtj9V-gnVpzkMM9eiDH49thN3CKtrLhp6gpPirAeVj_xFiF-w-UKQZKxpcd3r3wxpeDcj0P6mBJQMxN_3uSC0NmHgbmBP0rC8RWm0YL23G8R28n2NE/s1600/6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEUC51TfEzrtcf-k5lPpZ2YCXnMuJtj9V-gnVpzkMM9eiDH49thN3CKtrLhp6gpPirAeVj_xFiF-w-UKQZKxpcd3r3wxpeDcj0P6mBJQMxN_3uSC0NmHgbmBP0rC8RWm0YL23G8R28n2NE/s1600/6.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;b&gt;6&lt;/b&gt;. Before we wrap up, I would share some tips of the way data is captured in the CSV file. Most of the columns in the CSV is self explanatory but some need special guidance. Below screen shot has those important column from my CSV file.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBN13oJtiEP5z8lU7GRWfEvwPUaGiooVxN85X9cS_wtbVxfG1RX_nVqr9htB7ybvV8DlwmXDBGyBGG5L-uwLh2LBKfrJ-ko6UWe-eIxa-zQWHd8HRssr8Nnw6m7rRE7zi7XUCcGyYc0-YG/s1600/7.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="27" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBN13oJtiEP5z8lU7GRWfEvwPUaGiooVxN85X9cS_wtbVxfG1RX_nVqr9htB7ybvV8DlwmXDBGyBGG5L-uwLh2LBKfrJ-ko6UWe-eIxa-zQWHd8HRssr8Nnw6m7rRE7zi7XUCcGyYc0-YG/s320/7.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;b&gt;Tags &lt;/b&gt;- A tag is used to group related products with same search term. For EX: if we search for History then books under all categories related to History should come up who are tagged with the term History. It is a multi value column. You can give multiple values separated using the separator.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;URL rewritten&lt;/b&gt; - This is supposed to be used to make SEO friendly URLs but some how populating this value in the CSV gives weird errors. So, I prefer keeping this column empty. In that case Prestashop auto generates the URL rewritten value based on the product name which as per me is a desired solution.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Image URLs&lt;/b&gt; - &amp;nbsp;This is again a multi valued column cause a product can have many images and you can give the URL of all those images separated by the separator. The funny thing is how do we get the URL of the images of a product that you are trying to upload.&lt;br /&gt;What I did is that I created a folder in the root of my server i.e. at &lt;b&gt;public_html &lt;/b&gt;named a &lt;b&gt;productImages &lt;/b&gt;and uploaded all the images here. Hence, the URL for the images became as "&lt;a href="http://assamesebooks.com/productImages/AD00636.jpg"&gt;http://assamesebooks.com/productImages/AD00636.jpg&lt;/a&gt;". I used this URL in the CSV.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Feature(Name:Value:Position)&lt;/b&gt; - This is the most complex to understand column and the MOST important one too. This is important cause it helps us upload custom attributes of the product. For example products on &lt;a href="http://assamesebooks.com/"&gt;http://assamesebooks.com&lt;/a&gt;&amp;nbsp;had attributes like pages numbers, Author, Translator, year of publication etc.&lt;br /&gt;First of all we need to register our custom attributes in Prestashop. This can be done by following menu item i.e.&lt;br /&gt;&lt;div style="text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b style="text-align: center;"&gt;Catalog - &amp;gt; ProductFeatures&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixfR-W_7GEt20RJ7kVtrXSk9Q9YVzLOa8S1aCOUMv-TMOy4MhoKKudskF0dyPOnkqPiImUqFyiSwbAtujrXrNDa3z2J1mffswq0DPxtvdR7absXROldFnVATFmZHu6vOT9b9k9wQeJaxZv/s1600/9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixfR-W_7GEt20RJ7kVtrXSk9Q9YVzLOa8S1aCOUMv-TMOy4MhoKKudskF0dyPOnkqPiImUqFyiSwbAtujrXrNDa3z2J1mffswq0DPxtvdR7absXROldFnVATFmZHu6vOT9b9k9wQeJaxZv/s320/9.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
Post which you can mention all of these attributes / features along with their values in the same column separated by multi value separator. For example :&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Sub Title&lt;/b&gt;:War Book;&lt;b&gt;Author&lt;/b&gt;:Anu Barua;&lt;b&gt;Publisher&lt;/b&gt;:Purbanchal Prakash;&lt;b&gt;Publication Year&lt;/b&gt;:2015;&lt;b&gt;ISBN&lt;/b&gt;:978-81-7213-254-5;&lt;b&gt;Language&lt;/b&gt;:Assamese;&lt;b&gt;Pages&lt;/b&gt;:164;&lt;b&gt;Weight (gms)&lt;/b&gt;:286&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
It took me nice 1 hour to figure out how to do this :-)&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Hope these tips help some one save valuable time.. :-P&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikaq_-jg8Q4KddigrlolHYwNl_qvaWjiOwhqiN5UEO_oAkJ7XSJFxy-ZENiszUY_vq_SJyPbYGonrKitMNhGmf7zB1QhiRPSr-LgZPh9Ir_xKdR6eQjaTkK9-iC9czJJ_edrwQHpHtqnBb/s72-c/1.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Fatal error: Maximum execution time of 30 seconds exceeded in PHP</title><link>http://thenullhandler.blogspot.com/2016/05/fatal-error-maximum-execution-time-of.html</link><category>Maximum execution time of 30 seconds exceeded</category><category>php</category><author>noreply@blogger.com (Dee)</author><pubDate>Sat, 7 May 2016 04:45:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-6240109918514569068</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
The error stated in the title occurs if a database query / script is taking more than 30 seconds to execute. It is a safe guard mechanism in case you mistakenly ended up running an infinite loop.&lt;br /&gt;
However, many times it can be a genuine script taking m,ore time due to certain external factors.&lt;br /&gt;
In my case it was because of the database query with number of joins taking extra time.&lt;br /&gt;
&lt;br /&gt;
The issue can be handled in 2 ways i.e.&lt;br /&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;If you feel that it is just a single one off case taking more time then write the following line just before executing the script. It will increase the script execution time to 5 minute (300 seconds)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;
&lt;b&gt;ini_set('max_execution_time', 300); //300 seconds = 5 minutes&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div style="text-align: left;"&gt;
But if you want to increase the execution time for the entire application then you will have to edit the &lt;b&gt;PHP.INI &lt;/b&gt;file. You will have to update the below setting i.e.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;
&lt;div&gt;
Find this line:&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;max_execution_time&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Change its value to 300:&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;max_execution_time = 300&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Prestashop || Payment Method based on geographic location</title><link>http://thenullhandler.blogspot.com/2016/05/payment-method-based-on-geographic.html</link><category>based on country</category><category>Payment Method</category><category>prestashop</category><author>noreply@blogger.com (Dee)</author><pubDate>Fri, 6 May 2016 16:23:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-8076336158190343756</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Dear friends,&lt;br /&gt;
&lt;br /&gt;
This is yet another tutorial based on my experiences using Prestashop 1.6 on my application i.e. &lt;a href="http://www.assamesebooks.com/" target="_blank"&gt;http:/www.assamesebooks.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Case Study&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
The requirement was very simple i.e. there are certain &lt;b&gt;Payment Methods&lt;/b&gt;&amp;nbsp;which we did not want to be available in certain delivery locations. For example: We do not want &amp;nbsp;user to place a Cash On Delivery (COD) order for International delivery locations.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Solution&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;Prestashop has an inbuilt solution to tackle such problems. Please navigate to following location in Prestashop Admin i.e&lt;b&gt; Modules -&amp;gt; Payment&amp;nbsp;&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; font-weight: bold; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi30cOzDJYumI3QwW0Epxqq86pixusPT83AA_G4H9ESTD5ZdB-yeaKew32_B4zRZJLBHmbcgfNd-_57rTz76bOcDG_FoOwoIiICMJUqUgpIRfSO0Gm4AcH7SPikC517NWyIeT2xD-CFPVFo/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="118" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi30cOzDJYumI3QwW0Epxqq86pixusPT83AA_G4H9ESTD5ZdB-yeaKew32_B4zRZJLBHmbcgfNd-_57rTz76bOcDG_FoOwoIiICMJUqUgpIRfSO0Gm4AcH7SPikC517NWyIeT2xD-CFPVFo/s320/1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; font-weight: bold; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li style="text-align: left;"&gt;On the "Payment" page; scroll to the bottom where you find the section "&lt;b&gt;COUNTRY RESTRICTIONS&lt;/b&gt;"&amp;nbsp;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjrevnYaYMeNq8HAR6Vz02oIi8o8_uwMItu9tFRz4Trf98o68xu5v_50JZB44iuCTU8qAvIVUhQELMZa7R1FwU-RNAEdYbfawhQ5mXO1gi1CuKxGv7gSU0G6jQzcFKuatJUcEW_EOvHFvG/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="101" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjrevnYaYMeNq8HAR6Vz02oIi8o8_uwMItu9tFRz4Trf98o68xu5v_50JZB44iuCTU8qAvIVUhQELMZa7R1FwU-RNAEdYbfawhQ5mXO1gi1CuKxGv7gSU0G6jQzcFKuatJUcEW_EOvHFvG/s320/2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;
As you can see, both the payment gateways from my website are listed here with the options to enable / disable it for a specific country.&lt;/div&gt;
&lt;/li&gt;
&lt;li style="text-align: left;"&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Now, you can make changes to the Payment Method based on the geography. :-)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi30cOzDJYumI3QwW0Epxqq86pixusPT83AA_G4H9ESTD5ZdB-yeaKew32_B4zRZJLBHmbcgfNd-_57rTz76bOcDG_FoOwoIiICMJUqUgpIRfSO0Gm4AcH7SPikC517NWyIeT2xD-CFPVFo/s72-c/1.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Shipping charge based on location, country, city in Prestashop store</title><link>http://thenullhandler.blogspot.com/2016/05/shipping-charge-based-on-location.html</link><category>Country</category><category>Prestashop Shipping rules</category><category>Shipping based on Zone</category><category>State</category><author>noreply@blogger.com (Dee)</author><pubDate>Fri, 6 May 2016 16:05:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-552009787025668350</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Hello Friends,&lt;br /&gt;
&lt;br /&gt;
I come here with yet another tutorial on Prestashop base on my experiences from my website &lt;a href="http://www.assamesebooks.com/"&gt;http://www.assamesebooks.com&lt;/a&gt;. This time it is about setting up &lt;b&gt;Shipping Rates based on country / state&lt;/b&gt; and different combinations of it. Prestashop is a very versatile platform and it has solution for every requirement. It is just that you need to play with the system and figure out the correct way. I am saying this cause you may have to pay several dollars and buy a Prestashop module for what I am going to tell you here. so let's start..&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Use Case&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
This requirement aroused because of the fact that we were given different Shipping rates for different &amp;nbsp;Indian States and different countries for international delivery by our shipping partner. Hence, setting up a common Shipping rule would have no way sufficed the requirement.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Solution&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;br /&gt;Shipping Rule in Prestashop works based on &lt;b&gt;Zones&lt;/b&gt;. Zones are nothing but group of Countries / states which will have common shipping rules.&lt;/li&gt;
&lt;li&gt;Hence, technically you will have to create a separate Zone for each country / state combination for which you have a different shipping rule.&lt;/li&gt;
&lt;li&gt;Zone can be accessed from Prestashop Admin panel under following menu i.e. &lt;b&gt;Localization -&amp;gt; Zones&amp;nbsp;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_gCXPusCkgwcuQ5o6V7zhuuv_YBmpvVOrrCLeoQH3L8XQhrRe-P_Fq1_uNEL8zBjiR6kqFY76-j4NZ2c5cvw79_1cxv87o6qHIlR05HqXaUp2dsxMZx2p_rmnIsCAQNsI0_QL37uZhmnh/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_gCXPusCkgwcuQ5o6V7zhuuv_YBmpvVOrrCLeoQH3L8XQhrRe-P_Fq1_uNEL8zBjiR6kqFY76-j4NZ2c5cvw79_1cxv87o6qHIlR05HqXaUp2dsxMZx2p_rmnIsCAQNsI0_QL37uZhmnh/s320/1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;

&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Creating a &lt;b&gt;Zone &lt;/b&gt;is also very simple. So, start with creating a Zone&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkJAk2RbweaoZOybMhbHCY8F3bxtv65orznULBI4_aIZDzkpVPOuiP5uf0ozeA75Bhapv3SmjgHYmwseSFqA4zVUX56oLsPvZ0MR21a3uNZpbU3hQ7J97fRinHcxcm73z87o5t1pTQEW8e/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="105" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkJAk2RbweaoZOybMhbHCY8F3bxtv65orznULBI4_aIZDzkpVPOuiP5uf0ozeA75Bhapv3SmjgHYmwseSFqA4zVUX56oLsPvZ0MR21a3uNZpbU3hQ7J97fRinHcxcm73z87o5t1pTQEW8e/s320/2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Next, Create a &lt;b&gt;country &lt;/b&gt;and make sure that you add it to the zone that you create.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCu0JeWdzeqDn5ANeIRwF7tCg24k38rKyMfzNo_BBotD9AaXWeMpY7V_kcyzapzpG8oY_Pp8FwoT2toUjr3GpVWChb-WYB0_hQsCXHAIvBN_ydWGg6HAdTHXN_oPA3oZOHg1OoUXJtlmqe/s1600/4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCu0JeWdzeqDn5ANeIRwF7tCg24k38rKyMfzNo_BBotD9AaXWeMpY7V_kcyzapzpG8oY_Pp8FwoT2toUjr3GpVWChb-WYB0_hQsCXHAIvBN_ydWGg6HAdTHXN_oPA3oZOHg1OoUXJtlmqe/s320/4.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;
You can also create &lt;b&gt;State &lt;/b&gt;and add that to the County and Zone of your liking.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoIwrFlAyiSxiXt9Vh-Yf39O-bJ-EhKdXLvqP4TwCglNCmr0vLbDNUB9hHNEQ6QqKxOoMXL-6Qwvj8y_f77itTclSye2IUFicd8L25F8ZfQG79YBkE0tA1YaBsGDRp2tnm-9WDJkz1lrDN/s1600/3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoIwrFlAyiSxiXt9Vh-Yf39O-bJ-EhKdXLvqP4TwCglNCmr0vLbDNUB9hHNEQ6QqKxOoMXL-6Qwvj8y_f77itTclSye2IUFicd8L25F8ZfQG79YBkE0tA1YaBsGDRp2tnm-9WDJkz1lrDN/s320/3.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Once you are done creating the Zone / Country / State then you need to go to the Shipping Page in Prestashop admin panel i.e.&lt;b&gt; Shipping -&amp;gt; Carriers&lt;/b&gt;&lt;/div&gt;
&lt;/li&gt;
Choose to create a new Carrier ans select the Zone and provide the Shipping charge for it. The Shipping charge can be either weight based or Order cost based.&lt;br /&gt;&lt;br /&gt;
&lt;li&gt;Repeat the step of creating Carriers for different Zones which you might have created for different States / Country. You can see in the screen shots below that &amp;nbsp;I have created a Zone named India to which I have only added the Country India. Thus I can select "India" zone and define the shipping charges which will cover my Domestic Shipping Rule requirement.&lt;br /&gt;Like wise, there are other Zones for International Locations and I have collectively made them as part of the another carrier.&lt;/li&gt;
&lt;li&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY6DJVoTMAlOdY49qwVz4Am3LQ2SIfGZ_XLFAGjieWIM5ptFKHZ98FRvX2YD0OE6hAMvc5idpL8vR0xXyAGIdY44Xna9q_obPnB8LaRwbEgc9YloG4AllWU26ll6tDoxvzEUaRIQ0uG1yy/s1600/7.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY6DJVoTMAlOdY49qwVz4Am3LQ2SIfGZ_XLFAGjieWIM5ptFKHZ98FRvX2YD0OE6hAMvc5idpL8vR0xXyAGIdY44Xna9q_obPnB8LaRwbEgc9YloG4AllWU26ll6tDoxvzEUaRIQ0uG1yy/s320/7.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Domestic Shipping Rule and Carrier&lt;br /&gt;

&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHEn15kh4epqbKTLU_Nf9bBCbPFgnYxzU44dR6zTRcRG55hz54OjKlmmIfVmw8j0fFjS_bm6V_O9nmRguCAZN7RUhdhOtoAVLgndqL1-OGxwF_0laG4hWwPRKiAeIYjvZCZhBqsazqpMit/s1600/6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="292" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHEn15kh4epqbKTLU_Nf9bBCbPFgnYxzU44dR6zTRcRG55hz54OjKlmmIfVmw8j0fFjS_bm6V_O9nmRguCAZN7RUhdhOtoAVLgndqL1-OGxwF_0laG4hWwPRKiAeIYjvZCZhBqsazqpMit/s320/6.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
International Shipping rule and Carrier&lt;br /&gt;

&lt;/li&gt;
&lt;li&gt;&lt;div class="separator" style="clear: both;"&gt;
Additionally you can also restrict the users from selecting countries in Address creation wizard that are not covered by you by selecting the check box &lt;b&gt;"Country Options -&amp;nbsp;Restrict country selections in Front Office to those covered by active carriers"&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
That's it. Now you shall be able to select the carriers only based on the delivery address County / state during checkout. And corresponding shipping charge will get applied to the order.&lt;br /&gt;

&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7otJH4qa-VqP2vWmZ-Iogd7F6qf5q0xHG3_4M3Hg7X4_XVyHNXqJ6x-XGL_KoTyPgqOcRxUhzftuS7AVXOfv7uwJamsBVD7HiRyCX9f2IAsnanBDw4vCuJPzk4YOsxHU9J7DhaxXZ1ViV/s1600/9.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7otJH4qa-VqP2vWmZ-Iogd7F6qf5q0xHG3_4M3Hg7X4_XVyHNXqJ6x-XGL_KoTyPgqOcRxUhzftuS7AVXOfv7uwJamsBVD7HiRyCX9f2IAsnanBDw4vCuJPzk4YOsxHU9J7DhaxXZ1ViV/s320/9.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
See the Carrier name which is for Domestic order&lt;br /&gt;

&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC6VYYEGyAbwnMdCfCfdhlo8oWR4bwwqQMS40KaH_-OnwDf96qaCNFLGpS-A774rWITk33WYHhpwP0ARabiTJkWNlEWmG6roYy2oJdvII8Br7NBo4uBKYjz2ma0etCbpA7dgcMGrY0DdaN/s1600/10.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC6VYYEGyAbwnMdCfCfdhlo8oWR4bwwqQMS40KaH_-OnwDf96qaCNFLGpS-A774rWITk33WYHhpwP0ARabiTJkWNlEWmG6roYy2oJdvII8Br7NBo4uBKYjz2ma0etCbpA7dgcMGrY0DdaN/s320/10.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
This is the carrier for Shipping International orders&lt;br /&gt;

&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_gCXPusCkgwcuQ5o6V7zhuuv_YBmpvVOrrCLeoQH3L8XQhrRe-P_Fq1_uNEL8zBjiR6kqFY76-j4NZ2c5cvw79_1cxv87o6qHIlR05HqXaUp2dsxMZx2p_rmnIsCAQNsI0_QL37uZhmnh/s72-c/1.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Changing Email Template in Prestashop</title><link>http://thenullhandler.blogspot.com/2016/05/changing-email-template-in-prestashop.html</link><category>email template</category><category>Order alert email</category><category>prestashop</category><author>noreply@blogger.com (Dee)</author><pubDate>Fri, 6 May 2016 15:00:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-7933477234670618061</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Hello Friends,&lt;br /&gt;
&lt;br /&gt;
I have been lately working on my website &lt;a href="http://www.assamesebooks.com/"&gt;http://www.assamesebooks.com&lt;/a&gt;&amp;nbsp;which is build on the wonderful open source cart Prestashop v1.6&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Case Study&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
This post is a tutorial on how to change template of the notification emails that are sent from the application. I would be taking the New Order Notification email &lt;b&gt;(new_order&lt;/b&gt;) &amp;nbsp;for the merchant as an example for customization. The missing thing in this notification email is that it does not contain the &lt;b&gt;ORDER STATUS &lt;/b&gt;as part of it. Hence, in case an user tried to place an order and decides to cancel it in the payment gateway page; the order gets placed with status as "&lt;b&gt;Payment Error&lt;/b&gt;". The notification email says that an order is placed but there is no way to know if the order was successfully placed or not.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Solution&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;There are various variables that are used in the email template to print the order details. These variable are populated and sent from various PHP files. In this case it is done through the following file i.e.&lt;b&gt;&amp;nbsp;/classes/PaymentModule.php&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Unfortunately, this file doesnt pass the order status to the email template. However, the file does have the order status variable declared in it. So all I had to do is pass this variable as well to the list of parameters being passed to the email template.&amp;nbsp;&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig0VjURgo65w6unJ7O6mix0NzzJZttGq0KBDHMsrYYBHA42IdtVBzKG77YAm_O4dvd4-ZrdxN5HMIMMb_aoTkyVdkiKT1XG1Lh6UvJMwWGPm77xshWTxlid58pjdeazNRggRUYUlWcfXKc/s1600/7.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="46" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig0VjURgo65w6unJ7O6mix0NzzJZttGq0KBDHMsrYYBHA42IdtVBzKG77YAm_O4dvd4-ZrdxN5HMIMMb_aoTkyVdkiKT1XG1Lh6UvJMwWGPm77xshWTxlid58pjdeazNRggRUYUlWcfXKc/s320/7.JPG" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;You can see the $order_status variable already declared&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSwxzix3LdZsS6dTYUdlf831Yit496VQ7GzTcVFvrpB7FP-OxgdDKiaLFbHPxwz-4dc5O76SlcbYzkNyAQc7KSyKH-TNGOQgBrsMXHnuc5EY17uJh4MxK5umww4TylwAibtJKNNSbyyDys/s1600/6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="112" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSwxzix3LdZsS6dTYUdlf831Yit496VQ7GzTcVFvrpB7FP-OxgdDKiaLFbHPxwz-4dc5O76SlcbYzkNyAQc7KSyKH-TNGOQgBrsMXHnuc5EY17uJh4MxK5umww4TylwAibtJKNNSbyyDys/s320/6.JPG" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;So, all I had to do is pass this variable to the list being sent to email template&lt;br /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Once, this is done we need to update the email template with this variable. The email templates in Prestashop can be access from &lt;b&gt;Localization -&amp;gt; Translations -&amp;gt; email templates -&amp;gt; email module -&amp;gt; new_order&lt;/b&gt;&amp;nbsp;menu in Prestashop Admin&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtAEGceVinXynUEPg5Y5NUTawg1L6NEzNdeWHzXjKXyWTxJ1O4BDfw8_Hx8XNZRmd5V9KNdvU6jEGmgEj49IAq9j6Wnd2rVAflWAwvwVA5fxH-QUheP3thRNjDfF8lqlAGQSiMya2NVMFi/s1600/1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtAEGceVinXynUEPg5Y5NUTawg1L6NEzNdeWHzXjKXyWTxJ1O4BDfw8_Hx8XNZRmd5V9KNdvU6jEGmgEj49IAq9j6Wnd2rVAflWAwvwVA5fxH-QUheP3thRNjDfF8lqlAGQSiMya2NVMFi/s320/1.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2C3gvYodhvyfG-J0MpSN41veBBcK3hcnP0_Dwg0iO2Br9NRFJf6uVMhJ7pJ_-zqDVBVyJ6EOpLN6UST2TwAsYtMUtJvBGTm1bq2XXg5YOIXjc_H_GhW9hAvF20ImUg17DzAGetc0PobF6/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2C3gvYodhvyfG-J0MpSN41veBBcK3hcnP0_Dwg0iO2Br9NRFJf6uVMhJ7pJ_-zqDVBVyJ6EOpLN6UST2TwAsYtMUtJvBGTm1bq2XXg5YOIXjc_H_GhW9hAvF20ImUg17DzAGetc0PobF6/s320/2.JPG" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjye3Uo-0Q3yzcwNRLws6EML5FY_ZQzcdPeHzZhQAMshGCsFn4ABmiHTf16W_6qs6mJ4oGEUEIh4CgU7UOoVrw0bZL40IvpUBFohOgT5tq1X7CbxB2r7uhPLOjKkwGGC5KvleCfpTnjeN0H/s1600/3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjye3Uo-0Q3yzcwNRLws6EML5FY_ZQzcdPeHzZhQAMshGCsFn4ABmiHTf16W_6qs6mJ4oGEUEIh4CgU7UOoVrw0bZL40IvpUBFohOgT5tq1X7CbxB2r7uhPLOjKkwGGC5KvleCfpTnjeN0H/s320/3.JPG" width="208" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3v4alJpxhna_5gP5xh7YEXv9wGrqeqC6IN7Ihy0bZGu-LVPsmEPfYfP5H4kCE33I5rG3h12fwCgdSyS7qMlc4I1FpbQ1Y_f1_JTuce2Vsdp-4ADi_NKIycELjOJchukE_urSp2OPooETf/s1600/4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3v4alJpxhna_5gP5xh7YEXv9wGrqeqC6IN7Ihy0bZGu-LVPsmEPfYfP5H4kCE33I5rG3h12fwCgdSyS7qMlc4I1FpbQ1Y_f1_JTuce2Vsdp-4ADi_NKIycELjOJchukE_urSp2OPooETf/s320/4.JPG" width="226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;
All you have to do is select to edit the template as HTML / Text and add following to print Order status i.e. &lt;b&gt;Order Status: {order_status} &lt;/b&gt;order_status is the variable that I set in the PHP to pass the status value&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3nzFfMLdI5ggWcq9E_X24ZHMsJIdIFgrF1Smef6vPyuM5kRDYueaRn_gvcICixAP-NN2hBzQ6e8ePBRSLTR4cmFA8wtsrGptzuU_JplnPofGe7DBqvr1-k77LKysu_xQeVdQy2RGzwF8A/s1600/5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3nzFfMLdI5ggWcq9E_X24ZHMsJIdIFgrF1Smef6vPyuM5kRDYueaRn_gvcICixAP-NN2hBzQ6e8ePBRSLTR4cmFA8wtsrGptzuU_JplnPofGe7DBqvr1-k77LKysu_xQeVdQy2RGzwF8A/s320/5.JPG" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Now when a new order alert mail comes to your mail box; you can see the order status as well in it&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSRwQh3c65NCphyLEqP4Z4YVVax2rGdxVKWCMdJ5I0M3nlsuD-HGBb-Q_CcGSsHT16520hKDbhggWFejUYZjfk4Oe_dr7oFdaAiQIhczmF10I2PFu9UYzMCX65ypVEc5-ZsDUS1sGYNBsX/s1600/8.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSRwQh3c65NCphyLEqP4Z4YVVax2rGdxVKWCMdJ5I0M3nlsuD-HGBb-Q_CcGSsHT16520hKDbhggWFejUYZjfk4Oe_dr7oFdaAiQIhczmF10I2PFu9UYzMCX65ypVEc5-ZsDUS1sGYNBsX/s320/8.JPG" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;That's all... Keep coding.. :-)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig0VjURgo65w6unJ7O6mix0NzzJZttGq0KBDHMsrYYBHA42IdtVBzKG77YAm_O4dvd4-ZrdxN5HMIMMb_aoTkyVdkiKT1XG1Lh6UvJMwWGPm77xshWTxlid58pjdeazNRggRUYUlWcfXKc/s72-c/7.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>MS SQL Express Server database  to MySQL migration using MySQL Workbench 6.3 CE</title><link>http://thenullhandler.blogspot.com/2016/04/ms-sql-express-server-database-to-mysql.html</link><category>Migration</category><category>MS SQL Express</category><category>MySQL</category><author>noreply@blogger.com (Dee)</author><pubDate>Sat, 2 Apr 2016 17:16:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-3193979133975464792</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Recently, I had to work on a migration project where the first step was to migrate the MS SQL server database to MySQL database.&lt;br /&gt;
As expected, I started up by searching the internet for a migration tool. I found many some free and some paid. However, the free ones were useless for the job while the paid ones were too costly to purchase a license for one time activity.&lt;br /&gt;
&lt;br /&gt;
So, kept looking for a fool proof solution. Then I stumbled about a post that said that MySQL Workbench itself had a migration utility inbuilt.&lt;br /&gt;
&lt;br /&gt;
So I started off with the migration progress. But I got stuck at the last step where the data had to be finally migrated from MS SQL express database to MySQL. With some more search; I came to know that it was due to a "Collation" conflict between the two. I tried changing the collation on MS SQL Express but it did not allow me to. It then when I stumbled on this simple workaround that I want to share with you guys...&lt;br /&gt;
&lt;br /&gt;
The images below explains all the steps. I will feed in where required;&lt;br /&gt;
&lt;br /&gt;
1. Start MySQL Workbench and select "Migration Wizard" option from the "Database" menu&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDymmGEOkUqU1tpb_wBzhljdu4oBe4ibjBLIgitPxR327ggKdLWvqI4sim8Azm9E69YF-6gnQcH6evzvBS2EZxfx5WxsZtkTb6XHth8QbqDTUgVW5S5e0GWMmDNPpgLGFr2pb9xnoGP6zB/s1600/option.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDymmGEOkUqU1tpb_wBzhljdu4oBe4ibjBLIgitPxR327ggKdLWvqI4sim8Azm9E69YF-6gnQcH6evzvBS2EZxfx5WxsZtkTb6XHth8QbqDTUgVW5S5e0GWMmDNPpgLGFr2pb9xnoGP6zB/s320/option.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
2.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoZx0KvHjDEzvQ5w0G1Y4RaJE8HjDN_W0klV0On-7RGNk3-Qv8Sh8GwVywsHDipjw79aXX758cB-xU-1_uszOVhLiXbGShFaRkkn7DvH8gz1pX507Rtj1uifP4pd0avH839Ulf7Kbmsgak/s1600/1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoZx0KvHjDEzvQ5w0G1Y4RaJE8HjDN_W0klV0On-7RGNk3-Qv8Sh8GwVywsHDipjw79aXX758cB-xU-1_uszOVhLiXbGShFaRkkn7DvH8gz1pX507Rtj1uifP4pd0avH839Ulf7Kbmsgak/s320/1.JPG" width="315" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
3. On this step, make sure that you select Connection Method as&lt;b&gt; ODBC (native)&lt;/b&gt; &amp;nbsp;else SQL Express database will not connect&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHjvs6R5bI9Wb3ucxC8iM8XYfDZGyeZM0c2Se8-WQczCE3HNc7V_8CppC45lkOe3veeF4VXoiO5erTSQv-T04GsdZqyle_6qsTV4-DXQ4-HWlADuRQJOUc0Uep2MbV2p9v2_Pdv4S39ACC/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHjvs6R5bI9Wb3ucxC8iM8XYfDZGyeZM0c2Se8-WQczCE3HNc7V_8CppC45lkOe3veeF4VXoiO5erTSQv-T04GsdZqyle_6qsTV4-DXQ4-HWlADuRQJOUc0Uep2MbV2p9v2_Pdv4S39ACC/s320/2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
4.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqWeYWknhlgBKVp21KDY1QmvF5eQrqnBBhmynKMPD3AoaznbczzyglQ4ireaxiWzkZlmeNMJSOBR6Utdps7sWbNSEchq_BGrZNB-DKbmMQRBHnN-0iL1lHYOMGzh2Qju6Of3ABqmIekTIn/s1600/3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqWeYWknhlgBKVp21KDY1QmvF5eQrqnBBhmynKMPD3AoaznbczzyglQ4ireaxiWzkZlmeNMJSOBR6Utdps7sWbNSEchq_BGrZNB-DKbmMQRBHnN-0iL1lHYOMGzh2Qju6Of3ABqmIekTIn/s320/3.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
5.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPYT31uYrRdAcenA8_RLb6Ke4NuD66XjE2PcYH9J79FVz84GponuXo7ZoxS8fa9KgEPB5ReI7JDa_IZt8uqmtCwR-7p2lruW3vP4hzo6MfJl_ZIq7HNcjrPpD3dHkDWDr3dyTdQ_pfq4Jt/s1600/4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPYT31uYrRdAcenA8_RLb6Ke4NuD66XjE2PcYH9J79FVz84GponuXo7ZoxS8fa9KgEPB5ReI7JDa_IZt8uqmtCwR-7p2lruW3vP4hzo6MfJl_ZIq7HNcjrPpD3dHkDWDr3dyTdQ_pfq4Jt/s320/4.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
6.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTpAyp4RuJeOTmz_Kxv-wH-3_pHTFupGBXKMJdOkERZQ9Xul4ODeiB4Tz8eNAJEHnfiO81Akx36g1oxDRkT-xp65jY8XEVpIKTnGq_CEOm344EUCdBU450qPTsLKx0_vOeZ65rikP7loRp/s1600/5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTpAyp4RuJeOTmz_Kxv-wH-3_pHTFupGBXKMJdOkERZQ9Xul4ODeiB4Tz8eNAJEHnfiO81Akx36g1oxDRkT-xp65jY8XEVpIKTnGq_CEOm344EUCdBU450qPTsLKx0_vOeZ65rikP7loRp/s320/5.JPG" width="307" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
7.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHqe-nbSQeKL38ISM-GCUkTT1df2HvQt4v0Y659O8btukCNDeeTe7BnNM2ut9wCUzexzVXiJ19zsYS6duiX2rZdcEeynysHpkwbVAaHCKRXVDFZ4184fz29cPwSLdEGsNJxW8kMrPQGIKx/s1600/6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHqe-nbSQeKL38ISM-GCUkTT1df2HvQt4v0Y659O8btukCNDeeTe7BnNM2ut9wCUzexzVXiJ19zsYS6duiX2rZdcEeynysHpkwbVAaHCKRXVDFZ4184fz29cPwSLdEGsNJxW8kMrPQGIKx/s320/6.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
8.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrbdzuICt4M1KL_CQvGG9Y-DYgCLHEJP-9R1uave1YP0rI534PD6S1gJ9jeEHFgQanBnadzq8VG140AJXxbfCWI7-qd2HPvRPOuLiKPS5JEMG6DfztXOWKWnk9GJPOjGOPha1PeqFZQVql/s1600/7.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrbdzuICt4M1KL_CQvGG9Y-DYgCLHEJP-9R1uave1YP0rI534PD6S1gJ9jeEHFgQanBnadzq8VG140AJXxbfCWI7-qd2HPvRPOuLiKPS5JEMG6DfztXOWKWnk9GJPOjGOPha1PeqFZQVql/s320/7.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
9.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3GLu_YvpKdXmlyu2VFJ1MnP37SNj21gRCHAzEDPZonF0JJCKDod0hZhrf9hJc7cqCnmyAIu7EXK1BbnLgAr9a2x55Xml99RfTI0jHSDne2Xy1qb34g9G_r0uPYV-Wilya3V_tvwu7ewej/s1600/8.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3GLu_YvpKdXmlyu2VFJ1MnP37SNj21gRCHAzEDPZonF0JJCKDod0hZhrf9hJc7cqCnmyAIu7EXK1BbnLgAr9a2x55Xml99RfTI0jHSDne2Xy1qb34g9G_r0uPYV-Wilya3V_tvwu7ewej/s320/8.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
10.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP19s-rIT4ziyVVjA4DfvQrcpdFo9shJXMg9foY2zVLCgcnwPqcU5kFZ-Baf4mTmAIaDfLx3ESVVlYLOhGOfnS11r1SCVgAsiYRfpsRZ3lGeuvLlwIe2nrGGkOPuqA6R91sDVHj84e87a0/s1600/9.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP19s-rIT4ziyVVjA4DfvQrcpdFo9shJXMg9foY2zVLCgcnwPqcU5kFZ-Baf4mTmAIaDfLx3ESVVlYLOhGOfnS11r1SCVgAsiYRfpsRZ3lGeuvLlwIe2nrGGkOPuqA6R91sDVHj84e87a0/s320/9.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
11. &amp;nbsp;This step will create the Schema and the tables in the MySQL database.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxhxF7UQtCnT6s6CE-Q6w0H2xrHuGq0T-waL_PSKUUj0q7nBxwxt_k4PyBnXcU-rEkGTDfKzNtbrkXMyxeH0r4gXPFFRHCer9opkAq2hhJZrsunOj-UusicBttCk6cx0SqC81LyEeT8EZd/s1600/10.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxhxF7UQtCnT6s6CE-Q6w0H2xrHuGq0T-waL_PSKUUj0q7nBxwxt_k4PyBnXcU-rEkGTDfKzNtbrkXMyxeH0r4gXPFFRHCer9opkAq2hhJZrsunOj-UusicBttCk6cx0SqC81LyEeT8EZd/s320/10.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
12.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3izTOx3ifsY6-OgubRLU4BFiQIDMLFM5tysKS4UhFGYWMA7IzGThWHZ8648_HVtBZzhiyhs0yTAV66ncolczxsCyLRyaLLlLeLAHHTHbq1lIQFtRbO67tlj08WZPR5hRyTZ7igNvJdGVO/s1600/11.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3izTOx3ifsY6-OgubRLU4BFiQIDMLFM5tysKS4UhFGYWMA7IzGThWHZ8648_HVtBZzhiyhs0yTAV66ncolczxsCyLRyaLLlLeLAHHTHbq1lIQFtRbO67tlj08WZPR5hRyTZ7igNvJdGVO/s320/11.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
13. &amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT4Zm7Pyct9CELrNtOQU-Ok5Tj-ntcTabPGogHR4P2Yiu-KKcRsLEq-v2A_VQYHL-WrQjHSDfcYvXI0tTKfgpZU89kNIwR4p2hpzau68iyfcrARK7Tm-KqAytVJUJGpEVbrpz_izXULvk5/s1600/12.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT4Zm7Pyct9CELrNtOQU-Ok5Tj-ntcTabPGogHR4P2Yiu-KKcRsLEq-v2A_VQYHL-WrQjHSDfcYvXI0tTKfgpZU89kNIwR4p2hpzau68iyfcrARK7Tm-KqAytVJUJGpEVbrpz_izXULvk5/s320/12.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
14. This step is important... &amp;nbsp;Select the option to "&lt;b&gt;Create a batch file to copy the data at another time&lt;/b&gt;"&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiav0FUUg7EoaVgAsOfPhBisfYBdqFikqDDzYu5T5YreNtyTyckt-d9k17F7Lt8OnJY1rkl7hA7k1FjG2ccLRYRnFaO6F3Y1ZCuyc7_-KKte_1swAMb8i2izrlj42H5o9X_SYHC-pPE-FRS/s1600/13.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="183" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiav0FUUg7EoaVgAsOfPhBisfYBdqFikqDDzYu5T5YreNtyTyckt-d9k17F7Lt8OnJY1rkl7hA7k1FjG2ccLRYRnFaO6F3Y1ZCuyc7_-KKte_1swAMb8i2izrlj42H5o9X_SYHC-pPE-FRS/s320/13.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
15. &amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQJhsXTuTcwXmctIzUckCoe74yJqAuSBgXi8V0JDfftoijlNZEWDC48zxucQFxMVHWrAxVlvp942tKJezxVTddyS_ECO-tAkDsDEcqOUeUmocHeRjf3Z8RD6sThfkIdbLWp_pPlB4szbkw/s1600/14.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQJhsXTuTcwXmctIzUckCoe74yJqAuSBgXi8V0JDfftoijlNZEWDC48zxucQFxMVHWrAxVlvp942tKJezxVTddyS_ECO-tAkDsDEcqOUeUmocHeRjf3Z8RD6sThfkIdbLWp_pPlB4szbkw/s320/14.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
16. &amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlVwL65O4uM4UEqEUow-2NtXkdMMS6YFlMJj6Eks4ZDgBOP6dFVZUVrCcsyOcu9h14Etb42RX3LurVwAHtEqBzJhEA9aG_gUcqA-K-xVH2TfLunkAmkRHocAbsZMR4WwouCOC-s0zB2Lme/s1600/15.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="287" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlVwL65O4uM4UEqEUow-2NtXkdMMS6YFlMJj6Eks4ZDgBOP6dFVZUVrCcsyOcu9h14Etb42RX3LurVwAHtEqBzJhEA9aG_gUcqA-K-xVH2TfLunkAmkRHocAbsZMR4WwouCOC-s0zB2Lme/s320/15.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
17. &amp;nbsp;This is the batch file that gets created at the location you selected.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOdCf7cRVr_422VEmVtLP43GmoE12K5lkIuhWq8vdgPqWyVU2cfGDBKCXZ-cri4-ybJn7XfNSqxu8RlslKXBzQoa8meuuDscljiiL2SmteAE5mn9GOZPPHp_fr4Mg5OXy_bJGVBE4bh09m/s1600/16.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOdCf7cRVr_422VEmVtLP43GmoE12K5lkIuhWq8vdgPqWyVU2cfGDBKCXZ-cri4-ybJn7XfNSqxu8RlslKXBzQoa8meuuDscljiiL2SmteAE5mn9GOZPPHp_fr4Mg5OXy_bJGVBE4bh09m/s1600/16.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
18. When you execute the batch. It will create a folder that will have a "&lt;b&gt;import_DB.cmd&lt;/b&gt;" batch file&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
You need to execute that.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigtlGPMAbBW8yUecVXBHiOVlmQQgxpus-KRs1Jwxi-bVubH4n4QpGavnPOZtwlws0vhbkyQDG3YisKknzHjrtVD_x2QiAqplzBj4vdpxplGhruFFHcPgsup-NmnbP3cUpmE8YZiFXOYRUB/s1600/17.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigtlGPMAbBW8yUecVXBHiOVlmQQgxpus-KRs1Jwxi-bVubH4n4QpGavnPOZtwlws0vhbkyQDG3YisKknzHjrtVD_x2QiAqplzBj4vdpxplGhruFFHcPgsup-NmnbP3cUpmE8YZiFXOYRUB/s1600/17.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
19. When you execute the batch cmd in previous step; it create a folder names "&lt;b&gt;DB_#####_import&lt;/b&gt;"&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbsA6Ya1A18qApgvH1lCmT6Wd1VhUtcwenOUgX23LBKD9bHYu51u0V1tAp9Ta9rdfT3RGm2MwcR7Kjcf7grxLesdWENHTjEclpASoALhT_XPNszkuRrS-sYcwNmchyB6tiqnLxdVPCCGwS/s1600/18.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbsA6Ya1A18qApgvH1lCmT6Wd1VhUtcwenOUgX23LBKD9bHYu51u0V1tAp9Ta9rdfT3RGm2MwcR7Kjcf7grxLesdWENHTjEclpASoALhT_XPNszkuRrS-sYcwNmchyB6tiqnLxdVPCCGwS/s1600/18.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
20. You need to place this folder in the MySQL database data folder. In my case since I am using MySQL through Xampp; I placed at following location i.e.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;b&gt;H:\xampp\mysql\data&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
21. After placing the folder at proper location; go to import data option in MySQL workbench&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiNEWAQ-sbi9Llet5YXG3rTZ7YUNTW3Npt7vtKSAWibj5wvlpb66l1TPBuhmFrWIpydCv4Q0SjfgxZj40RUoaeZtQrXfBXLgwTAibVD0cu5-WAxgPCoLeOF8BAGRMm0CHdOMM61nSb7Wc6/s1600/19.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiNEWAQ-sbi9Llet5YXG3rTZ7YUNTW3Npt7vtKSAWibj5wvlpb66l1TPBuhmFrWIpydCv4Q0SjfgxZj40RUoaeZtQrXfBXLgwTAibVD0cu5-WAxgPCoLeOF8BAGRMm0CHdOMM61nSb7Wc6/s320/19.JPG" width="279" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
22. Select the option to "&lt;b&gt;import from self-contained file&lt;/b&gt;" and select the "&lt;b&gt;import_db.sql" &lt;/b&gt;file from the folder created in step 17. And click on import button to successfully import the data to the Migrated Database.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPmKvwoyPxOyOxi4NuRevVcKjjnP1RqsqLZV6YUzihHGesYGZXItRTq2LiWUowgi3ki1DFjfeN8VhGHXhXEgr9NZOEL1UbDw0LAIiISCL9IiS_CosSnltU_pM4vntGgcY8STRK7Z6pEFgP/s1600/20.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="101" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPmKvwoyPxOyOxi4NuRevVcKjjnP1RqsqLZV6YUzihHGesYGZXItRTq2LiWUowgi3ki1DFjfeN8VhGHXhXEgr9NZOEL1UbDw0LAIiISCL9IiS_CosSnltU_pM4vntGgcY8STRK7Z6pEFgP/s320/20.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
It took me two days to figure out a successful way to migrate MS SQLExpress database to MySQL. Hope this tutorial helps you get things done quicker.. :-)&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDymmGEOkUqU1tpb_wBzhljdu4oBe4ibjBLIgitPxR327ggKdLWvqI4sim8Azm9E69YF-6gnQcH6evzvBS2EZxfx5WxsZtkTb6XHth8QbqDTUgVW5S5e0GWMmDNPpgLGFr2pb9xnoGP6zB/s72-c/option.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Changing PHP 5.4 initialization configuration on Go Daddy account | SESSION not created issue</title><link>http://thenullhandler.blogspot.com/2015/04/changing-php-54-initialization.html</link><category>godaddy php configuration</category><category>GoDaddy PHP upgrade session issue</category><category>session not created</category><category>user.ini</category><author>noreply@blogger.com (Dee)</author><pubDate>Thu, 2 Apr 2015 04:43:00 -0700</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-4704665372891455994</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Well, Today I figured out a solution to a weird problem that I had been facing and which had wasted almost 2 days of mine. And this also makes me think how error proof and reliable are the automated scripts used by the Hosting service providers like Go Daddy.&lt;br /&gt;
&lt;br /&gt;
In order to be capable of using the latest PHP features, I got the PHP version of my GoDaddy account upgraded. All hell broke loose since then :-(&lt;br /&gt;
The session management on the site went haywire. In fact session was not working itself.&lt;br /&gt;
The session information in PHP is maintained in a file that is placed in some specific folder.&lt;br /&gt;
The folder location is mentioned in the PHP.ini file.&lt;br /&gt;
It is also important that you &amp;nbsp;MUST have WRITE access to this particular file/folder.&lt;br /&gt;
&lt;br /&gt;
But the buggy upgrade system on GoDaddy hosting does not automatically provide you write access to the default folder. Hence, after an upgrade you are forced to change the SESSION folder to a location where you have write access.&lt;br /&gt;
&lt;br /&gt;
But, at the same time you do not have write access to the PHP.ini file as well.&lt;br /&gt;
After lot of Google search I found that though we cannot modify the default PHP.ini file; we can create a custom PHP config file and place it in the HOSTING ROOT location. Thus GoDaddy uses the configuration from this file rather that the ones in default configuration.&lt;br /&gt;
&lt;br /&gt;
Now, for different version of PHP / Type of Hosting Plan; there is specific name that you need to give to the custom config file of yours.&lt;br /&gt;
&lt;br /&gt;
Please refer to the following URL for the name that you must give to you custom PHP.INI&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://support.godaddy.com/help/article/8913/what-filename-does-my-php-initialization-file-need-to-use?countrysite=in&amp;amp;marketid=en-IN"&gt;https://support.godaddy.com/help/article/8913/what-filename-does-my-php-initialization-file-need-to-use?countrysite=in&amp;amp;marketid=en-IN&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkGF84cnbjoA0ipTF4T6AESX6FDhxzkjiMUAiOLggx1u1xGgh2aRl6dwdatm9_7530Y4MeCb2-D_2KRSnfv18zMYZhSM67HLSYFWvX3PQdHzahULbd2U8OFLidO-tV8W28tO6C2srAb0C0/s1600/fileName.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkGF84cnbjoA0ipTF4T6AESX6FDhxzkjiMUAiOLggx1u1xGgh2aRl6dwdatm9_7530Y4MeCb2-D_2KRSnfv18zMYZhSM67HLSYFWvX3PQdHzahULbd2U8OFLidO-tV8W28tO6C2srAb0C0/s1600/fileName.JPG" height="112" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are upgrading to PHP version 5.4 on GoDaddy Hosting the name of the config file has to be&amp;nbsp;&lt;span style="color: #333333; font-family: monospace; font-size: 12px;"&gt;&lt;b&gt;.user.ini and must be placed at&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="color: #333333; font-family: arial, helvetica, sanserif; font-size: 12px;"&gt;Root of account&lt;/span&gt;&lt;span style="color: #333333; font-family: arial, helvetica, sanserif; font-size: 12px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
Hope this tip saves you the huge amount of time that I lost&lt;br /&gt;
Happy coding :-)&lt;/div&gt;
&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkGF84cnbjoA0ipTF4T6AESX6FDhxzkjiMUAiOLggx1u1xGgh2aRl6dwdatm9_7530Y4MeCb2-D_2KRSnfv18zMYZhSM67HLSYFWvX3PQdHzahULbd2U8OFLidO-tV8W28tO6C2srAb0C0/s72-c/fileName.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Is Cross-Origin Resource Sharing (CORS) AJAX Requests interfering with your development ?</title><link>http://thenullhandler.blogspot.com/2015/01/is-cross-origin-resource-sharing-cors.html</link><category>(CORS) AJAX Requests</category><category>CORS on chrome</category><category>Cross-Origin Resource Sharing</category><author>noreply@blogger.com (Dee)</author><pubDate>Thu, 29 Jan 2015 05:29:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-4938167027326614603</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
This is again another learning from one of my latest projects. I have been creating a Backbone based web application. The data was being fetched from the webservice exposed on the developers machine. The issue occurred when backbone view tried making AJAX call to the webservice; it was being rejected by Chrome browser marking it as a CORS call.&lt;br /&gt;
&lt;br /&gt;
We wanted an immediate intermediary solution to continue with our development and we found that using a command line parameter &amp;nbsp;while starting chrome browser makes it ignore CORS check during AJAX call.&lt;br /&gt;
&lt;br /&gt;
I thought it would come handy to someone facing same issue and needing immediate solution :-)&lt;br /&gt;
&lt;br /&gt;
Please use the below steps to start chrome browser with CORS security disabled;&lt;br /&gt;
&lt;br /&gt;
1. press windows button&amp;nbsp;+ R key to start windows Run prompt&lt;br /&gt;
2. type follwoing command i.e.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="WordSection1"&gt;
&lt;blockquote class="tr_bq" style="margin-bottom: 0.0001pt;"&gt;
&lt;b&gt;&lt;span style="font-family: 'Segoe UI', sans-serif;"&gt;chrome.exe --disable-web-securi&lt;/span&gt;&lt;span style="font-family: 'Segoe UI', sans-serif;"&gt;ty&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;br /&gt;
EDIT:&lt;br /&gt;
Some people could not get CORS working using above method.&lt;br /&gt;
&lt;br /&gt;
For them, here is a little PHP function that can also help you get rid of CORS issue.&lt;br /&gt;
All you need to do is call this function in the start of the PHP page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style="text-align: left;"&gt;
&lt;span style="font-weight: normal;"&gt;/**&lt;br /&gt;&amp;nbsp;* &amp;nbsp;An example CORS-compliant method. &amp;nbsp;It will allow any GET, POST, or OPTIONS requests from any&lt;br /&gt;&amp;nbsp;* &amp;nbsp;origin.&lt;br /&gt;&amp;nbsp;*&lt;br /&gt;&amp;nbsp;* &amp;nbsp;In a production environment, you probably want to be more restrictive, but this gives you&lt;br /&gt;&amp;nbsp;* &amp;nbsp;the general idea of what is involved. &amp;nbsp;For the nitty-gritty low-down, read:&lt;br /&gt;&amp;nbsp;*&lt;br /&gt;&amp;nbsp;* &amp;nbsp;- https://developer.mozilla.org/en/HTTP_access_control&lt;br /&gt;&amp;nbsp;* &amp;nbsp;- http://www.w3.org/TR/cors/&lt;br /&gt;&amp;nbsp;*&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;function cors() {&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Allow from any origin&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (isset($_SERVER['HTTP_ORIGIN'])) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; header('Access-Control-Allow-Credentials: true');&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; header('Access-Control-Max-Age: 86400'); &amp;nbsp; &amp;nbsp;// cache for 1 day&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Access-Control headers are received during OPTIONS requests&lt;br /&gt;&amp;nbsp; &amp;nbsp; if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; exit(0);&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; echo "You have CORS!";&lt;br /&gt;}&lt;/span&gt;&lt;/h4&gt;
&lt;div style="text-align: left;"&gt;
Thanks for reading and happy coding :-)&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Make a bootable windows 7 / Windows 8 usb drive</title><link>http://thenullhandler.blogspot.com/2015/01/make-bootable-windows-7-windows-8-usb.html</link><category>Boot</category><category>install windows from pen drive</category><category>unattended usb drive</category><category>windows 8 install from pendrive</category><author>noreply@blogger.com (Dee)</author><pubDate>Wed, 28 Jan 2015 13:18:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-3299373926815566736</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Recently, I landed into my worst fear i.e. my work computer crashed and I had to setup a new machine from scratch. In the entire recovery process; installing the OS the most tedious work.&lt;br /&gt;
It was then when I realized the lack of proper documentation regarding how to create a bootable USB drive to install windows 7 or windows 8&lt;br /&gt;
&lt;br /&gt;
With lot of pain I found a tutorial and I would like to share the steps with all of you;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;Open the windows command prompt in the &lt;i&gt;&lt;u&gt;&lt;b&gt;Administrator mode&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;Type following commands in sequence i.e.&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;diskpart (&lt;b style="background-color: yellow;"&gt;Note&lt;/b&gt;: This will open a new command window. Please do not close the previous command window as we will need that later)&lt;/li&gt;
&lt;li&gt;list disk&lt;/li&gt;
&lt;li&gt;select disk 1 (&lt;b style="background-color: yellow;"&gt;Note:&lt;/b&gt; here disk 1 is the disk number of the usb drive)&lt;/li&gt;
&lt;li&gt;clean&lt;/li&gt;
&lt;li&gt;create partition primary&lt;/li&gt;
&lt;li&gt;select partition 1&lt;/li&gt;
&lt;li&gt;active&lt;/li&gt;
&lt;li&gt;format fs=ntfs quick&lt;/li&gt;
&lt;li&gt;assign&lt;/li&gt;
&lt;li&gt;exit (&lt;b style="background-color: yellow;"&gt;Note:&lt;/b&gt; This will close the command window and you will land into the original / first command window)&lt;/li&gt;
&lt;/ul&gt;
Now, you need the copy of windows 7 or windows 8 that you want to move to usb drive&lt;br /&gt;
&lt;div&gt;
Execute the following commands in the command window that is open i.e.&lt;/div&gt;
&lt;div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;cd d:\windows7_install\boot (&lt;b style="background-color: yellow;"&gt;Note:&lt;/b&gt; &amp;nbsp;Navigate to directory named boot under the windows installation directory. For me it was in the D: drive in windows7_install directory)&lt;/li&gt;
&lt;li&gt;bootsect.exe/nt60 e: (&lt;b style="background-color: yellow;"&gt;Note:&lt;/b&gt; &amp;nbsp;Here e: is the drive letter of the USB drive. Make sure that you make no mistake in this step)&lt;/li&gt;
&lt;li&gt;Your bootable USB drive is all set now. Copy the windows 7 or windows 8 install directory in the USB drive and restart the computer with boot from USB disk option selected in the BIOS.&lt;/li&gt;
&lt;li&gt;You computer boots from the USB drive. Now you can execute the setup from the install directory that you copied in previous step&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Cheers !! :-)&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Source:&amp;nbsp;http://www.youtube.com/watch?v=nZVgInbhTAw&amp;amp;index=93&amp;amp;list=WL&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>PHP Mail - Send HTML email with attachment</title><link>http://thenullhandler.blogspot.com/2015/01/php-mail-send-html-email-with-attachment.html</link><category>attachment</category><category>Bad parameters error with PHP Mail</category><category>PHP Mail</category><author>noreply@blogger.com (Dee)</author><pubDate>Sun, 11 Jan 2015 14:07:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-6045212655069553622</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
As the title says, we are going to discuss how to send mail with attachment using the default PHP mail() function.&lt;br /&gt;
Sending a plain text / HTML email using PHP mail is very simple but when it comes to adding attachments to it then it becomes equally tricky and difficult.&lt;br /&gt;
I was caught up in this tricky situation and after searching around and trying zillions of solutions suggested by users in various forums got the following solution to work;&lt;br /&gt;
Hope this comes handy to someone in need :-)&lt;br /&gt;
&lt;br /&gt;
This is the code that worked for me;&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;div style="text-align: left;"&gt;
/* Email Detials */&lt;br /&gt;&amp;nbsp; $mail_to = $to;&lt;br /&gt;&amp;nbsp; $from_mail = $from;&lt;br /&gt;&amp;nbsp; $from_name = $from_name;&lt;br /&gt;&amp;nbsp; $reply_to = $from;&lt;br /&gt;&amp;nbsp; $subject = $subject;&lt;br /&gt;&amp;nbsp; $message_body = $msg;&lt;br /&gt;&lt;br /&gt;/* Attachment File */&lt;br /&gt;&amp;nbsp; // Attachment location&lt;br /&gt;&amp;nbsp; $file_name = $basefilename;&lt;br /&gt;&amp;nbsp; $path = "../reports/";&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; // Read the file content&lt;br /&gt;&amp;nbsp; &amp;nbsp; $file = $path.$file_name;&lt;br /&gt;&amp;nbsp; &amp;nbsp; $file_size = filesize($file);&lt;br /&gt;&amp;nbsp; &amp;nbsp; $handle = fopen($file, "r");&lt;br /&gt;&amp;nbsp; &amp;nbsp; $content = fread($handle, $file_size);&lt;br /&gt;&amp;nbsp; &amp;nbsp; fclose($handle);&lt;br /&gt;&amp;nbsp; &amp;nbsp; $content = chunk_split(base64_encode($content));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;/* Set the email header */&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Generate a boundary&lt;br /&gt;&amp;nbsp; &amp;nbsp; $boundary = md5(uniqid(time()));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; // Email header&lt;br /&gt;&amp;nbsp; &amp;nbsp; $header = "From: ".$from_name." \r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $header .= "Reply-To: ".$reply_to."\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $header .= "cc: ".$cc."\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $header .= "MIME-Version: 1.0\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; // Multipart wraps the Email Content and Attachment&lt;br /&gt;&amp;nbsp; &amp;nbsp; $header .= "Content-Type: multipart/mixed;\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $header .= " boundary=\"".$boundary."\"";&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "This is a multi-part message in MIME format.\r\n\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "--".$boundary."\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; // Email content&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Content-type can be text/plain or text/html&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "Content-Transfer-Encoding: 7bit\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "$message_body\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "--".$boundary."\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; // Attachment&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Edit content type for different file extensions&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "Content-Type: application/csv;\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= " name=\"".$file_name."\"\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "Content-Transfer-Encoding: base64\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "Content-Disposition: attachment;\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= " filename=\"".$file_name."\"\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "\r\n".$content."\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; $message .= "--".$boundary."--\r\n";&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; // Send email&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (mail($mail_to, $subject, $message, $header)) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo "Sent";&lt;br /&gt;&amp;nbsp; &amp;nbsp; } else {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo "Error";&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
Credit goes to user Karmaprod at the forum eureka.ykyuen.info&lt;br /&gt;
link:&amp;nbsp;&lt;a href="http://eureka.ykyuen.info/2010/02/16/php-send-attachmemt-with-php-mail/"&gt;http://eureka.ykyuen.info/2010/02/16/php-send-attachmemt-with-php-mail/&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Show inline image in Auto Responder email from cPanel</title><link>http://thenullhandler.blogspot.com/2014/12/show-inline-image-in-auto-responder.html</link><category>Auto Responders</category><category>company logo in mail</category><category>cpanel</category><category>IDEA</category><category>inline image in auto response mail</category><category>inline image in mail</category><author>noreply@blogger.com (Dee)</author><pubDate>Tue, 30 Dec 2014 02:21:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-3305648844780716280</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Today I am going to share a nice trick that I learnt regarding "How to add inline image to the Auto Responder email sent from cPanel"&lt;br /&gt;
&lt;br /&gt;
Every one running a website might have setup an Auto Responder for inquiry email that are sent to them. The same can be very easily achieved using the "Auto Responders" feature in cPanel&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVMHZVqyUCUoK5TQQ_E_tGiv0OJpNxiEWejO9Lx0nMItj55S5wu3yOc3zrBPrhi9VfvIDEjsz35ewPm0ydoA7_7-qtDLAX8LOAznnGsNjigqLCNr74kCqlwhfjP2w1oyB6AjXKv2d5dGOT/s1600/auto+resp.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVMHZVqyUCUoK5TQQ_E_tGiv0OJpNxiEWejO9Lx0nMItj55S5wu3yOc3zrBPrhi9VfvIDEjsz35ewPm0ydoA7_7-qtDLAX8LOAznnGsNjigqLCNr74kCqlwhfjP2w1oyB6AjXKv2d5dGOT/s1600/auto+resp.JPG" height="181" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
But the problem with setting auto responds using it is that though we can send html responses; there is no way to embed an image in the email being sent. Most of us would love to have the logo of our company in the auto response mail for more professional appearance.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
This is how the trick to achieve this goes,&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;u&gt;Step 1&lt;/u&gt;&lt;/div&gt;
Create an email with image etc and the text that you want in the auto response using your favorite email application.&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
&lt;u&gt;Step 2&lt;/u&gt;&lt;br /&gt;
Send the email to your GMAIL account. I used gmail cause the next step is easier using it. I tried yahoo but had difficulty figuring things&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Step 3&lt;/u&gt;&lt;br /&gt;
Open the email in gmail and select the option "Show Original" to view the email as text with full details. The option &amp;nbsp;"Show original" can be found in the drop down at the top right corner of the email.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEideptFxPapi5vPhCre0JA1m_DZt50QMqiwQ1XYG3SQBBvvNauZWLqsZMIxp39wnt_eisFVQVAIfjKcrHHpiN4rAQ9WydcZ9X7pBqNMnIfK0Wx3p513yHKSuYSYtyXp9SymtSoQOiwiNSoE/s1600/show+original.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEideptFxPapi5vPhCre0JA1m_DZt50QMqiwQ1XYG3SQBBvvNauZWLqsZMIxp39wnt_eisFVQVAIfjKcrHHpiN4rAQ9WydcZ9X7pBqNMnIfK0Wx3p513yHKSuYSYtyXp9SymtSoQOiwiNSoE/s1600/show+original.png" height="276" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;u&gt;Step 4&lt;/u&gt;&lt;br /&gt;
In the text view of your email scroll down to the section where you see the details like &lt;b&gt;From&lt;/b&gt; , &lt;b&gt;To,&lt;/b&gt; &lt;b&gt;Message Id&lt;/b&gt;, &lt;b&gt;Subject&lt;/b&gt; etc,..&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkndlsSY-tdTR4nHiGwyChlLrkp4osCyIJwydffzc1_tlRAN6nj1WXB9OBS52SN0Xoe5t6liF2sOzA_4XOP4CJ4LIlx-H4m6X5Ita4dlavO21-ozn54WGvimW8u-EcyWLuAJn211cijyPg/s1600/mail+as+text.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkndlsSY-tdTR4nHiGwyChlLrkp4osCyIJwydffzc1_tlRAN6nj1WXB9OBS52SN0Xoe5t6liF2sOzA_4XOP4CJ4LIlx-H4m6X5Ita4dlavO21-ozn54WGvimW8u-EcyWLuAJn211cijyPg/s1600/mail+as+text.JPG" height="278" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Take note of things I have highlighted in the attached screenshot above.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;u&gt;Step 5&lt;/u&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Create an Auto Responder email in cPanel as normal.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;u&gt;Step 6&lt;/u&gt;&lt;/div&gt;
Open up Putty; Connect to your hosting server and navigate to following folder i.e.&lt;br /&gt;
&lt;span style="background-color: #fafafa; font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;b&gt;&lt;span style="color: blue;"&gt;/home/username/.autorespond&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
There you might find a file corresponding to the Auto Responder email that you have created something like this i.e.&amp;nbsp;&lt;b style="font-family: Verdana, Arial, Tahoma, Calibri, Geneva, sans-serif; font-size: 13px;"&gt;&lt;span style="color: blue;"&gt;something@somedomain.com&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Open this file using the Vi editor and two these two things,&lt;br /&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Replace the content type line with the content type line copied from "Original" version of email in gmail. The line is highlighted in green in the screen shot in step 4 (Content-Type text)&lt;/li&gt;
&lt;li&gt;Then replace everything after the subject line in the vi editor with the "Mail-Body" (marked in blue) &amp;nbsp;in the original text version of mail in gmail.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-wCPvK-ESXuC3bdPOAeHB9ASOTsEbdVKI9u7zryLtInWk7UIUe9v0SgbkJgcpklfDMBS2QhyphenhyphenW6nl7151iprphgjozwcZpI4gvn9ZgQDDMWB9MhRbzCsuLRAo2xY8AN9xM2RjihujNV6db/s1600/putty+edit.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-wCPvK-ESXuC3bdPOAeHB9ASOTsEbdVKI9u7zryLtInWk7UIUe9v0SgbkJgcpklfDMBS2QhyphenhyphenW6nl7151iprphgjozwcZpI4gvn9ZgQDDMWB9MhRbzCsuLRAo2xY8AN9xM2RjihujNV6db/s1600/putty+edit.JPG" height="279" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;Step 7&lt;/u&gt;&lt;/div&gt;
&lt;br /&gt;
Save and close the Vi editor. And test the hard work that you have done..&lt;br /&gt;
The auto response will have the logo of you company embedded in the response making it look more professional and authentic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: Once you have done this activity; please never open the auto response email in cPanel else the settings will be reset and you will have to repeat the activity all over again.&lt;br /&gt;
&lt;br /&gt;
Cheers and Have fun!!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Courtesy goes to the member Sneader at "&lt;a href="http://forums.cpanel.net/f43/trick-allow-attachment-auto-responder-240362.html"&gt;http://forums.cpanel.net/f43/trick-allow-attachment-auto-responder-240362.html&lt;/a&gt;"&lt;/div&gt;
</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVMHZVqyUCUoK5TQQ_E_tGiv0OJpNxiEWejO9Lx0nMItj55S5wu3yOc3zrBPrhi9VfvIDEjsz35ewPm0ydoA7_7-qtDLAX8LOAznnGsNjigqLCNr74kCqlwhfjP2w1oyB6AjXKv2d5dGOT/s72-c/auto+resp.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Error Code: 1366. Incorrect string value - MySql stored procedure</title><link>http://thenullhandler.blogspot.com/2012/11/error-code-1366-incorrect-string-value.html</link><category>Error Code: 1366. Incorrect string value</category><category>MySQL</category><category>stored procedure</category><author>noreply@blogger.com (Dee)</author><pubDate>Sun, 11 Nov 2012 10:45:00 -0800</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-2585685060568499991.post-1937892243091795729</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Hello friends,&lt;br /&gt;
&lt;br /&gt;
In continuation to the character encoding issues that I have been facing during development of my website &lt;a href="http://www.assamesebooks.com/"&gt;AssameseBooks.com&lt;/a&gt;, here comes another blog.&lt;br /&gt;
&lt;br /&gt;
The situation goes as follows,&lt;br /&gt;
I had the requirement to pull data that were saved in different tables to a single table. The data in the source tables were saved properly in UTF-8 character encoding.&lt;br /&gt;
I went through the most simplest approach to do it i.e. write a stored procedure and have the job one.&lt;br /&gt;
&lt;br /&gt;
Well, the moment I executed the stored procedure, I encountered following error i.e.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Error Code: 1366. Incorrect string value: '\xE0\xA6\x85\xE0\xA6\xB8...' for column 'CUSTOM1' at row 1&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
where custom1 is a column in my database table having the text in assamese font.&lt;br /&gt;
&lt;br /&gt;
Well, the solution was to alter my table and set the character set to UTF8 and collate to&amp;nbsp;utf8_unicode_ci&lt;br /&gt;
&lt;br /&gt;
so the query to be&amp;nbsp;executed&amp;nbsp;to achieve is,&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Hope this comes handy to you guys too.&lt;br /&gt;
&lt;br /&gt;
Cheers!! and Happy coding :-)&lt;/div&gt;
</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item></channel></rss>