tag:blogger.com,1999:blog-50882052425012919792024-03-13T08:43:17.847+06:00tahSin's gaRAgeThis is a meeting place of all day-to-day codes, errors, events, news, experience, extensions, plugins, modules and many more. My Opencart extensions are listed here.Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.comBlogger399125tag:blogger.com,1999:blog-5088205242501291979.post-36774184425968223732016-05-14T15:53:00.003+06:002016-05-14T15:53:58.756+06:005 Best Woocommerce Product Stock Extension <p>
Never miss a sale now. These plugins let prospective buyers and admin to aware of their products. Below are the five best Woocommerce product stock notification extensions:
</p>
<ul>
<li>
<h2><a href='https://wordpress.org/plugins/woocommerce-product-stock-alert/' target='_blank'>WooCommerce Product Stock Alert</a></h2>
<p>WooCommerce Product Stock Alert Plugin creates a form with an out of stock product. Interested customers can register with their email address.
When a customer subscribe any out of stock product on your site, an email will be sent to admin with customer email id and interested product.
This plugin also creates a field to the inventory of edit product page to show number of interested persons. This will let you decide how many stock you want to add further.
As soon as the product becomes available, an alert email will be sent to the interested persons.
</p>
</li>
<li>
<h2><a href='http://codecanyon.net/item/woocommerce-stock-notification-builder-sends-desktop-mobile-email-notifications/15688411' target='_blank'>Woocommerce Stock Notification Builder</a></h2>
<p>Build your own product notification system with it – fully customizable.</p>
<p>Woocommerce Stock Notification Builder – Sends desktop, mobile & email notifications with full customization</p>
<p>Woocommerce Stock Notification Builder notifies stock information about back in stock, low stock, product sale in Real Time. It’s a all-in-one WP notification plugin for WooCommerce. It increases your sales by adding product stocks into store.</p>
<p>Woocommerce Stock Notification Builder is a Mega notification package. It has 27 different services integrated into it. So, store owners get informed instantly. Notifications can be sent by email, SMS and Push notification into your mobile.</p>
<p>You can schedule your store stock notification messages by daily, weekly, monthly.</p>
</li>
<li>
<h2><a href='https://www.woothemes.com/products/woocommerce-waitlist/' target='_blank'>WooCommerce Waitlist</a></h2>
<p>Notifies customers when they can purchase an item that is out-of-stock</p>
<p>Identifies ‘most wanted’ products to prioritize re-stocking</p>
<p>Plug-and-play functionality – install, activate and go!</p>
</li>
<li>
<h2><a href='http://codecanyon.net/item/woocommerce-availability-notifications/8422290' target='_blank'>WooCommerce Availability Notifications</a></h2>
<p>Translate Ready.</p>
<p>Full WPML Support</p>
<p>Supports RTL.</p>
<p>Tabbed and Easy to Use Backend Interface.</p>
<p>Use Custom CSS for showing the Waitlist Notification on the frontend.</p>
<p>Use [author_woowaitlist] shortcode to show your Clients Waitlist through their profile page.</p>
<p>Export all Waitlist Subscriptions to a CSV file and use the email list on your marketing plans.</p>
</li>
<li>
<h2><a href='http://codecanyon.net/item/woocommerce-availability-notifications/8422290' target='_blank'>WooCommerce Availability Notifications</a></h2>
<p>Customize your product stock availability notification to an informative notification for each product in WooCommerce.
You can customize product stock availability notification for in stock, low stock, out of stock, and backorder.</p>
</li>
</ul>
Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-20889526546718293412016-05-13T15:58:00.002+06:002016-05-13T16:00:22.820+06:00Settings and Installation for Woocommerce stock notification builder<p><em><a href="http://codecanyon.net/item/woocommerce-stock-notification-builder-sends-desktop-mobile-email-notifications/15688411" target="_blank">Woocommerce Stock Notification Builder</a></em> - Sends desktop, mobile & email notifications with full customization</p>
<p><em><a href="http://codecanyon.net/item/woocommerce-stock-notification-builder-sends-desktop-mobile-email-notifications/15688411" target="_blank">Woocommerce Stock Notification Builder</a></em> notifies stock information about back in stock, low stock, product sale in <strong>Real Time</strong>. It's a <strong>all-in-one WP notification plugin for WooCommerce</strong>. It <strong>increases</strong> your sales by adding product stocks into store.</p>
<section id="installation">
<div class="page-header"><h3>INSTALLATION</h3><hr class="notop"></div>
<p>
Please follow the below steps to install this plugin properly:</p>
<pre class="prettyprint lang-plain linenums">
Download and extract the woocommerce-stock-notification-builder archive.
Place the plugin under the Plugins directory in your Wordpress installation.
Activate the plugin.
</pre>
</section>
<section id="settings">
<div class="page-header"><h3>SETTINGS</h3><hr class="notop"></div>
<p>
There are some simple steps for configuration. The fields are self descriptive.</p>
<pre class="prettyprint lang-plain linenums">
Go to WooCommerce>Settings>Products>Woocommerce Stock Notification Builder.
If you want scheduler notification, then enable scheduler. This will send notification after certain interval. Select the intervals. Note: if you only want instant notification, then don't enable the scheduler.
Enter receipients name, email.
Enter sender name, email.
Enter email subject, message text.
You can customize HTML email template in the textarea.
If you want to send email through Mandrill, then enable Mandrill. Enter Mandrill API Key & template slug. There are other email providers like: AWS SES, Campaign Monitor, Mailgun, Mailjet, SendGrid, SendInBlue, Postmark. Similarly, please enable the respective checkbox and enter corresponding information for that mail service provider. Note: if you don't enable Mandrill, email will be sent by default mail feature.
To send Push notification, Please Go to WooCommerce>Settings>Products>Woocommerce Stock Notification Builder with push notify.
If you want to send Push notification by Pubnub, enable Pubnub. Enter Pubnub API credentials. There are other Push notification providers like: Pushbullet, PushOver, Android Push Notification. Similarly, please enable the respective checkbox and enter corresponding information for that Push notification service provider.
Enter receipients phone number.
Enter sender phone number.
Enter SMS / Push Notification text message. Note: This message will be used for both SMS and Push notification system.
To send SMS notification, Please Go to WooCommerce>Settings>Products>Woocommerce Stock Notification Builder with SMS notify.
To send SMS notification via Twilio, enable Twilio SMS notification. Enter Twilio API credentials. There are other SMS providers like: Gupshup, MessageBird, SMSAPI, Text Marketer, 2SMS, ClickSend, FreeSMS8, Innovativetxt, Proovl, SendSMS, Sently, Text Impact, Wavecell. Similarly, please enable the respective checkbox and enter corresponding information for that SMS service provider.
</pre>
<p>
Done! Enjoy notification reports. </p>
</section>
Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-3061334932521144932016-05-09T12:08:00.003+06:002016-05-09T12:08:56.022+06:00Woocommerce Stock Notification Builder - Build your own product notification system<p>Build your own product notification system with it - fully customizable</p>
<p><em><a href="http://codecanyon.net/item/woocommerce-stock-notification-builder-sends-desktop-mobile-email-notifications/15688411" target="_blank">Woocommerce Stock Notification Builder</a></em> - Sends desktop, mobile & email notifications with full customization</p>
<p><em><a href="http://codecanyon.net/item/woocommerce-stock-notification-builder-sends-desktop-mobile-email-notifications/15688411" target="_blank">Woocommerce Stock Notification Builder</a></em> notifies stock information about back in stock, low stock, product sale in <strong>Real Time</strong>. It's a <strong>all-in-one WP notification plugin for WooCommerce</strong>. It <strong>increases</strong> your sales by adding product stocks into store.</p>
<p><em><a href="http://codecanyon.net/item/woocommerce-stock-notification-builder-sends-desktop-mobile-email-notifications/15688411" target="_blank">Woocommerce Stock Notification Builder</a></em> is a <strong>Mega</strong> notification package. It has <strong>27</strong> different services integrated into it. So, store owners get informed instantly. Notifications can be sent by <strong>email</strong>, <strong>SMS</strong> and <strong>Push notification</strong> into your mobile.</p>
<p>You can <strong>schedule</strong> your store stock notification messages by <strong>daily, weekly, monthly</strong>.</p>
<h2>Why you buy this plugin?</h2>
<div><img src="https://docs.google.com/drawings/d/1S-g_hb7D6H_8B0BAt1VUmzMhfG5467ONXYZdFIgftRM/pub?w=960&h=720" /></div>
<h2>Features</h2>
<ul>
<li>Full control over Woocommerce notification systems.</li>
<li>Desktop, Mobile & Email notification instantly - never miss a stock updates.</li>
<li>Send Notification to customers & owners anywhere, anytime, anymeans.</li>
<li>Mega notification package with 27 different notification systems.</li>
<li>Full RESTful API.</li>
<li>WPML compatible - multilingual support.</li>
<li>All-in-One Notification system - Sale notifications, back in stock notifications and low stock notifications.</li>
<li>Customers get notified for out of stock products by email and/or mobile when it's restocked.</li>
<li>Any time, unsubscribe from back in stock notifications.</li>
<li>Instant sales notification in email, mobile and desktop.</li>
<li>Customize notification texts and email templates for sending back in stock, sale, low stock emails.</li>
<li>Both guests and users can subscribe.</li>
<li>Export back in stock subscriber list in CSV.</li>
<li>Create more leads, more sales and maintain your market by capturing emails.</li>
<li>Full customization of notifications & e-mails.</li>
<li>Turn the interested visitors into customers.</li>
<li>Message customization options.</li>
<li><strong>Real time</strong> notifications.</li>
<li><strong>Product specific</strong> low stock threshold set.</li>
<li>Scheduler of notification sending.</li>
<li><strong>Customized</strong> interval selection.</li>
<li>Low stock product <strong>report</strong> in admin panel.</li>
<li><strong>Tabular</strong> representation of low stock report.</li>
<li><strong>Graphical</strong> representation of low stock report.</li>
<li><strong>Top seller</strong> report in low stock state.</li>
<li><strong>Product wise</strong> low stock report.</li>
<li>Low stock product report <strong>search</strong>.</li>
<li>Multiple recipients of notification.</li>
<li><strong>Email template</strong> customization.</li>
<li>Custom CSS.</li>
<li>Simple Installation.</li>
<li>Step by step <strong>user guide</strong>.</li>
<li>Enhanced <strong>debug log</strong> system for every transactional notification.</li>
<li>Sending <strong>email notification</strong> through Mandrill, AWS SES, Campaign Monitor, Mailgun, Mailjet, SendGrid, SendInBlue, Postmark.</li>
<li>Sending <strong>SMS notification</strong> through Twilio, Gupshup, MessageBird, SMSAPI, Text Marketer, 2SMS, ClickSend, FreeSMS8, Innovativetxt, Proovl, SendSMS, Sently, Text Impact, Wavecell.</li>
<li>Sending <strong>Push notification</strong> through Pubnub, Pushbullet, PushOver, Android Push Notification.</li>
<li>SMS customization.</li>
<li>Scalable transactional notifications, send quickly millions of emails.</li>
<li>Send SMS to over 900 operators around the world.</li>
</ul>
<h2>Supported Email Notification Providers</h2>
<ul>
<li><a href="https://www.mandrill.com/" target="_blank">Mandrill</a></li>
<li><a href="https://aws.amazon.com/ses/" target="_blank">AWS SES</a></li>
<li><a href="https://www.campaignmonitor.com/" target="_blank">Campaign Monitor</a></li>
<li><a href="https://www.mailgun.com/" target="_blank">Mailgun</a></li>
<li><a href="https://www.mailjet.com/" target="_blank">Mailjet</a></li>
<li><a href="https://sendgrid.com/" target="_blank">SendGrid</a></li>
<li><a href="https://www.sendinblue.com/" target="_blank">SendInBlue</a></li>
<li><a href="https://postmarkapp.com/" target="_blank">Postmark</a></li>
</ul>
<h2>Supported SMS Notification Providers</h2>
<ul>
<li><a href="https://www.twilio.com/" target="_blank">Twilio</a></li>
<li><a href="http://www.gupshup.me/" target="_blank">Gupshup</a></li>
<li><a href="https://www.messagebird.com/" target="_blank">MessageBird</a></li>
<li><a href="https://www.smsapi.com/" target="_blank">SMSAPI</a></li>
<li><a href="https://www.textmarketer.co.uk/" target="_blank">Text Marketer</a></li>
<li><a href="https://www.2sms.com/" target="_blank">2SMS</a></li>
<li><a href="https://www.clicksend.com/en/" target="_blank">ClickSend</a></li>
<li><a href="http://freesms8.co.in/" target="_blank">FreeSMS8</a></li>
<li><a href="http://www.innovativetxt.com/" target="_blank">Innovativetxt</a></li>
<li><a href="https://www.proovl.com/" target="_blank">Proovl</a></li>
<li><a href="http://www.sendsmsnow.com/" target="_blank">SendSMS</a></li>
<li><a href="http://www.sent.ly/" target="_blank">Sently</a></li>
<li><a href="https://www.txtimpact.com/" target="_blank">Text Impact</a></li>
<li><a href="https://www.wavecell.com/" target="_blank">Wavecell</a></li>
</ul>
<h2>Supported Push Notification Providers</h2>
<ul>
<li><a href="https://www.pubnub.com/" target="_blank">Pubnub</a></li>
<li><a href="https://www.pushbullet.com/" target="_blank">Pushbullet</a></li>
<li><a href="https://pushover.net/" target="_blank">PushOver</a></li>
<li><a href="https://developers.google.com/cloud-messaging/" target="_blank">Android Push Notification</a></li>
</ul>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-13213689200108080552016-04-11T17:14:00.001+06:002016-04-11T17:15:51.564+06:00Low Stock Notifier for WooCommerce<p><a href="http://codecanyon.net/item/low-stock-notifier/15688411" target="_blank"><em>Low Stock Notifier</em></a> notifies stock information for best seller products in <strong>Real Time</strong>. It's a <strong>all-in-one WP notification plugin for WooCommerce</strong>. It <strong>increases</strong> your sales by adding product stocks into store.</p>
<p><a href="http://codecanyon.net/item/low-stock-notifier/15688411" target="_blank"><em>Low Stock Notifier</em></a> is a <strong>Mega</strong> notification package. It has <strong>27</strong> different services integrated into it. So, store owners get informed instantly. Notifications can be sent by <strong>email</strong>, <strong>SMS</strong> and <strong>Push notification</strong> into your mobile.</p>
<p>You can <strong>schedule</strong> your store stock notification messages by <strong>daily, weekly, monthly</strong>.</p>
<h2>Features</h2>
<ul>
<li>Mega notification package with 27 different notification systems.</li>
<li>Full <strong>RESTful</strong> API.</li>
<li>All-in-One Notification system.</li>
<li><strong>Real time</strong> notifications.</li>
<li><strong>Product specific</strong> low stock threshold set.</li>
<li>Scheduler of notification sending.</li>
<li><strong>Customized</strong> interval selection.</li>
<li>Low stock product <strong>report</strong> in admin panel.</li>
<li><strong>Tabular</strong> representation of low stock report.</li>
<li><strong>Graphical</strong> representation of low stock report.</li>
<li><strong>Top seller</strong> report in low stock state.</li>
<li><strong>Product wise</strong> low stock report.</li>
<li>Low stock product report <strong>search</strong>.</li>
<li>Multiple recipients of notification.</li>
<li><strong>Email template</strong> customization.</li>
<li>Custom CSS.</li>
<li>Simple Installation.</li>
<li>Step by step <strong>user guide</strong>.</li>
<li>Enhanced <strong>debug log</strong> system for every transactional notification.</li>
<li>Sending <strong>email notification</strong> through Mandrill, AWS SES, Campaign Monitor, Mailgun, Mailjet, SendGrid, SendInBlue, Postmark.</li>
<li>Sending <strong>SMS notification</strong> through Twilio, Gupshup, MessageBird, SMSAPI, Text Marketer, 2SMS, ClickSend, FreeSMS8, Innovativetxt, Proovl, SendSMS, Sently, Text Impact, Wavecell.</li>
<li>Sending <strong>Push notification</strong> through Pubnub, Pushbullet, PushOver, Android Push Notification.</li>
<li>SMS customization.</li>
<li>Scalable transactional notifications, send quickly millions of emails.</li>
<li>Send SMS to over 900 operators around the world.</li>
</ul>
<h2>Supported Email Notification Providers</h2>
<ul>
<li><a href="https://www.mandrill.com/" target="_blank">Mandrill</a></li>
<li><a href="https://aws.amazon.com/ses/" target="_blank">AWS SES</a></li>
<li><a href="https://www.campaignmonitor.com/" target="_blank">Campaign Monitor</a></li>
<li><a href="https://www.mailgun.com/" target="_blank">Mailgun</a></li>
<li><a href="https://www.mailjet.com/" target="_blank">Mailjet</a></li>
<li><a href="https://sendgrid.com/" target="_blank">SendGrid</a></li>
<li><a href="https://www.sendinblue.com/" target="_blank">SendInBlue</a></li>
<li><a href="https://postmarkapp.com/" target="_blank">Postmark</a></li>
</ul>
<h2>Supported SMS Notification Providers</h2>
<ul>
<li><a href="https://www.twilio.com/" target="_blank">Twilio</a></li>
<li><a href="http://www.gupshup.me/" target="_blank">Gupshup</a></li>
<li><a href="https://www.messagebird.com/" target="_blank">MessageBird</a></li>
<li><a href="https://www.smsapi.com/" target="_blank">SMSAPI</a></li>
<li><a href="https://www.textmarketer.co.uk/" target="_blank">Text Marketer</a></li>
<li><a href="https://www.2sms.com/" target="_blank">2SMS</a></li>
<li><a href="https://www.clicksend.com/en/" target="_blank">ClickSend</a></li>
<li><a href="http://freesms8.co.in/" target="_blank">FreeSMS8</a></li>
<li><a href="http://www.innovativetxt.com/" target="_blank">Innovativetxt</a></li>
<li><a href="https://www.proovl.com/" target="_blank">Proovl</a></li>
<li><a href="http://www.sendsmsnow.com/" target="_blank">SendSMS</a></li>
<li><a href="http://www.sent.ly/" target="_blank">Sently</a></li>
<li><a href="https://www.txtimpact.com/" target="_blank">Text Impact</a></li>
<li><a href="https://www.wavecell.com/" target="_blank">Wavecell</a></li>
</ul>
<h2>Supported Push Notification Providers</h2>
<ul>
<li><a href="https://www.pubnub.com/" target="_blank">Pubnub</a></li>
<li><a href="https://www.pushbullet.com/" target="_blank">Pushbullet</a></li>
<li><a href="https://pushover.net/" target="_blank">PushOver</a></li>
<li><a href="https://developers.google.com/cloud-messaging/" target="_blank">Android Push Notification</a></li>
</ul>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-47609099393651806452014-10-19T15:11:00.001+06:002014-10-20T17:01:09.509+06:00Password Recovery SystemGet bored with your forget password. Every time you clicked on it, it generates a new password. Want to get a way to know your forgotten password. Use our authentication system. You will get your forgotten password emailed to you when you click the forgot password link.
<br /> <br />
It can be implemented on Codeigniter, Opencart, Wordpress, Magento etc.<br /> <br />
It will provide you a AES - 256 based encryption with public and private key combinations. It's a strongly encrypted system. If you want to have the full authentication system installed in your system, email me at tahsin352(at)gmail(dot)com. <br /><br />
<b>Price: $60</b>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-84388594800964831892014-09-25T10:27:00.000+06:002014-09-25T10:27:19.201+06:00Custom fields in phpfour's payment library.I was using Phpfour's paypal library. But while sending custom variables, I am getting empty data for it. I have modified the library and it works as expected. My changes are listed below:
<br />
<br />
Replace setCustomField function with the below code block:
<br />
<br />
<pre class="brush:php">
public function setCustomField($custom)
{
if (!empty($custom)) {
$str = "";
foreach($custom as $key=>$value){
$str .= "$key=$value&";
}
$str = substr($str, 0, -1);
$this->fields->custom = $str;
}
}
</pre>
<br />
<br />
Also replace the declaration of the function setCustomField in the Abstract class.
<br />
<br />
<pre class="brush:php">
abstract public function setCustomField($custom);
</pre>
Now, you can call the function like below:
<pre class="brush:php">
$paypal->setCustomField(array('tahsin'=>100, 'hasan' => 200));
</pre>
You wil get these fields under 'custom' fields in the IPN response.Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-72751817334522462702014-08-28T10:38:00.003+06:002014-08-28T10:38:46.694+06:00How to customize a plugin in wordpressWe must not customize directly into the plugin's codebase. It will problematic during version upgrade and maintenance. <br /><br />
Ian Dunn showed a good approach wordpress plugin customization. He gave four different ways to do so:<br /><br />
<ul>
<li>Use hooks: First we will see if there is any hooks available to modify the plugin as we need.</li>
<li>Extend without modifying: We will write a separate plugin that runs along side the main plugin that we are customizing. </li>
<li>Adding custom hooks: Add some custom hooks in the plugin, and then write a separate plugin using the custom hook to modify the main plugin.</li>
<li>Overriding callbacks: We can replace a plugin's callbacks with our own callbacks. And in our callbacks, we will call functions of other plugins that will replace the main plugin.</li>
</ul>
<br /><br />
<ul>
<li>wp_template project structure:</li>
<li>-- project</li>
<li>----wp-admin</li>
<li>----wp-content</li>
<li>--------cache</li>
<li>--------mu-plugins</li>
<li>-------------folder_containing_custom_must_use_plugin</li>
<li>--------plugins</li>
<li>--------themes</li>
<li>--------uploads</li>
<li>----wp-includes</li>
</ul>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-47911602254115083402014-07-05T15:26:00.000+06:002014-07-05T15:30:12.333+06:00Pagination for data on multiple tables in CodeigniterCodeigniter comes with a great pagination library. Here, you just need to define the start and limit number.But if you have data over multiple tables and you have know way to join those tables. Then how would be the scenario?
<br /><br />
You can get the total data into an array. Then slice your array according to your pagination limit. <br />
<pre class="brush:php">
foreach ($group_all as $group) {
$data_form_model[$a] = $this->admin_model->all_number_model($group->group_name);
$data_form_model_group_name[$a] = $group->group_name;
$a++;
}
$final_array = array();
foreach ($data_form_model as $val) {
foreach ($val as $val2) {
$final_array[] = $val2;
}
}
$config = array();
$config["base_url"] = base_url() . "admin/all_number/";
$config["total_rows"] = count($final_array);
$config["per_page"] = 10;
$config["uri_segment"] = 3;
$config['num_links'] = 3;
$config['full_tag_open'] = '<div><ul class="pagination">';
$config['full_tag_close'] = '</ul></div><!--pagination-->';
$config['first_link'] = '«';
$config['first_tag_open'] = '<li class="prev page">';
$config['first_tag_close'] = '</li>';
$config['last_link'] = '»';
$config['last_tag_open'] = '<li class="next page">';
$config['last_tag_close'] = '</li>';
$config['next_link'] = '→';
$config['next_tag_open'] = '<li class="next page">';
$config['next_tag_close'] = '</li>';
$config['prev_link'] = '←';
$config['prev_tag_open'] = '<li class="prev page">';
$config['prev_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li class="page">';
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data_form_model = array_slice($final_array, $page , $config["per_page"]);
$data["links"] = $this->pagination->create_links();
</pre>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-69378465908707325482014-06-29T12:55:00.001+06:002014-06-29T12:55:47.968+06:00Session in RESTful APIREST web service is stateless. We need to transfer the state between calls. Hence, we couldn't store state of an entity on server side using sessions. Rather, we need to store the state on application level.
<br /><br />
as it is stateless, we need to pass parameters in our requests to server and process it accordingly. User authentication/authorization is done with sessions. For authentication, we can use HTTP Basic authentication and HTTP Digest authentication. Also, there is token based authentication.
Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-47182413676068783272014-05-03T14:55:00.001+06:002014-05-03T14:55:37.642+06:00How to sort a 2 dimensional Array?I have an array like below:
<br />
<pre class="brush:php">
[0] => Array
(
[name] => product_id
[sort_order] => 4
)
[1] => Array
(
[name] => sku
[sort_order] => 2
)
[2] => Array
(
[name] => model
[sort_order] => 1
)
[3] => Array
(
[name] => ean
[sort_order] => 3
)
[4] => Array
(
[name] => jan
[sort_order] => 6
)
[5] => Array
(
[name] => mpn
[sort_order] => 5
)
</pre>
<br />
I need to sort it on the basis of 'sort_order'. How can I do it? I have come across a solution using function usort. I can write a custom sort function to sort the array.
<br />
<pre class="brush:php">
usort($arr, function($a, $b) {
return $a["sort_order"] - $b["sort_order"];
}
</pre>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com6tag:blogger.com,1999:blog-5088205242501291979.post-5430211709668169602014-03-31T15:21:00.002+06:002014-10-11T16:33:21.690+06:00Advanced Contact Us Report<a href="http://tahsinhasan.wordpress.com/2014/10/11/advanced-contact-us-report/" target="_blank">This </a>extension helps to see the list of queries from the contact us form
in Opencart. Admin can also reply to specific queries from this admin
interface.<br />
<br />
<ul>Features:<br />
<li> View list of all queries using the Contact Us form.</li>
<li> You can response each query from the admin panel.</li>
<li> It supports rich texts on the response message.</li>
<li> It updates the status from 'unanswered' to 'answered' when responding to a query.</li>
<li> Admin can filter queries on the basis of date range, status etc.</li>
<li> Admin can sort queries according to name, email.</li>
</ul>
<br />
NOTE: FREE INSTALLATION SUPPORT IF NEEDED.<br />
<br />
* You can buy it $18 buy paying me directly on MoneyBookers.Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com1tag:blogger.com,1999:blog-5088205242501291979.post-68878393902586650182014-03-14T16:26:00.000+06:002014-10-11T16:28:19.990+06:00OpenbKash: bKash with Opencart using API connector<a href="http://tahsinhasan.wordpress.com/2014/10/11/openbkash/" target="_blank">OpenbKash</a> extension provides ways sale product and get payment through bKash worldwide. It fully uses the bKash API connector.<br />
<br /> <br />
<ul><br /></ul>
<li>It uses the bKash API connector. </li>
<br />
<li>
It provides transaction status on API response.</li>
<br />
<li>
Simple, easy admin panel.</li>
<br />
<li>
Standard verification of mobile number.</li>
<br />
<li>
Only authorized mobile numbers can perform the transaction.</li>
<br />
<li>
Highly secure.</li>
<br />
<br />
<br /><br />
Free Installation support.<br /><br />
Save $10 by paying me directly through moneybookers( email me: tahsin352(at)yahoo(dot)com). Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-4748516857431512832014-01-07T15:33:00.000+06:002014-10-25T15:11:48.410+06:00Formcaptcha - add captcha on the register page, <p><a href="http://tahsinhasan.wordpress.com/2014/10/11/form-captcha/">Formcaptcha</a> is an extension for Opencart to add captcha on the registration page, on the cart page for both the register section and guest checkout option.</p>
<p>Opencart doesn't provide captcha to registration pages. This module adds captcha in the registration page, on the cart page for both register and guest checkout.</p>
<ul>
<li>Simple, easy to use</li>
<li>Compatible with all themes</li>
<li>Multi-lingual</li>
<li>If you want to have the module installed in your system, email me at <b>tahsin352(at)gmail(dot)com</b>.</li>
</ul>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-60148960773856482802014-01-06T10:57:00.002+06:002014-10-25T15:10:07.023+06:00Custom Field Product - add unlimited custom fields to the product form<p><a href="http://tahsinhasan.wordpress.com/2014/10/11/custom-field-product/">Custom Field Product</a> is an extension for Opencart to add unlimited custom fields to the product form.</p>
<p>You can add unlimited custom fields to the product form. Admin can add textbox, textarea, select, radio, checkbox into the form. Single admin panel interface is available for all the products. Add default value for new fields. Separate new tab for custom fields on product form. 100% compatible with any theme. Multilingual.</p>
<ul>
<li>Unlimited custom products fields.</li>
<li>Multi-language supported.</li>
<li>100% compatible with any theme.</li>
<li>Set fields required / not required.</li>
<li>Allow text field.</li>
<li>Allow file upload field.</li>
<li>Allow date field.</li>
<li>Allow date time field.</li>
<li>Allow textarea field.</li>
<li>Allow select field.</li>
<li>Allow checkbox field.</li>
<li>Allow radio field.</li>
<li>Neat layout for simple blending with custom theme.</li>
<li>Free installation if needed.</li>
<li>Set custom fields right from product form</li>
<li>Easy installation, no data loss</li>
<li>Proper documentation & guide</li>
</ul>
<p>If you want to have the module installed in your system, email me at <b>tahsin352(at)gmail(dot)com</b>.</p>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com2tag:blogger.com,1999:blog-5088205242501291979.post-76192650828776763992014-01-06T09:52:00.000+06:002014-10-25T15:09:08.201+06:00Opensweetcaptcha - An easy way to generate attractive captcha for your system!<p><a href="http://tahsinhasan.wordpress.com/2014/10/11/opensweetcaptcha/">Opensweetcaptcha</a> is an extension for attractive Sweetcaptcha implementation in Opencart.</p>
<p>An easy way to generate attractive captcha for your system!</p>
<p>This captcha is based on http://sweetcaptcha.com/. You need to create an account their first.</p>
<p>This is a free captcha. It makes user experience easier while registering with a system.</p>
<ul>
<li>Simple, easy to use</i>
<li>Compatible with all themes.</li>
<li>Multi-lingual</li>
<li>FREE INSTALLATION SUPPORT</li>
<li>Attractive outlook.</li>
<li>Remove boring feelings regarding captcha</li>
<li>It increases your conversion rates. Users will not being discouraged to complete the registration by traditional captcha systems, often too complicated and hard to read.</li>
</ul>
<p>If you want to have the module installed in your system, email me at <b>tahsin352(at)gmail(dot)com</b>.</p>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-88907681294015275752013-11-30T00:34:00.000+06:002014-10-25T15:06:56.966+06:00Fine Search v.1.0 - Improves Opencart search feature to find relevant<p><a href="http://tahsinhasan.wordpress.com/2014/10/11/fine-search/" target="_blank">Fine Search</a> improves your opencart search and increase your product sales.</p>
<p>
You can easily find your relevant products on the search results.</p>
<p>
For instance, you have searched for ‘iphone 4S’. It will display ‘iphone 3’ on top of ‘iphone 4S’ on the result list. This is confusing. This module will bring you the appropriate search results relevant to your keyword. This will increase your sales and will satisfy your customers.</p>
<p>
This module supports partial word matching; like if you type keyword ‘App’, it will also bring ‘Apple’ in the search results with the proper order.</p>
<p>
You can even search with a minimum of a single character. If you type ‘A’, it will bring the results starting with ‘A’.</p>
<p>
You can control your search from the admin panel. This provides an admin interface to define the fields which will be matched against the typed keyword. You can also set the sort order from the admin panel.</p>
<div class="page-header"><h3>Features</h3><hr class="notop"></div>
<p style="font-family: arial, sans-serif; font-size: 13px;">
<span style="font-family: Wingdings;">*<span style="font-size: 7pt; font-family: 'Times New Roman';"> </span></span>Easily find your relevant products on the search results.</p>
<p style="font-family: arial, sans-serif; font-size: 13px;">
<span style="font-family: Wingdings;">*<span style="font-size: 7pt; font-family: 'Times New Roman';"> </span></span>Supports partial word matching.</p>
<p style="font-family: arial, sans-serif; font-size: 13px;">
<span style="font-family: Wingdings;">*<span style="font-size: 7pt; font-family: 'Times New Roman';"> </span></span>Search with a minimum of a single character.</p>
<p style="font-family: arial, sans-serif; font-size: 13px;">
<span style="font-family: Wingdings;">*<span style="font-size: 7pt; font-family: 'Times New Roman';"> </span></span>Admin interface to define the fields to match keyword.</p>
<p style="font-family: arial, sans-serif; font-size: 13px;">
<span style="font-family: Wingdings;">*<span style="font-size: 7pt; font-family: 'Times New Roman';"> </span></span>Set the sort order from the admin panel.</p>
<p style="font-family: arial, sans-serif; font-size: 13px;">
<span style="font-family: Wingdings;">*<span style="font-size: 7pt; font-family: 'Times New Roman';"> </span></span>100% compatible with any theme.</p>
<p style="font-family: arial, sans-serif; font-size: 13px;">
<span style="font-family: Wingdings;">*<span style="font-size: 7pt; font-family: 'Times New Roman';"> </span></span>Multilingual support.</p>
<p style="font-family: arial, sans-serif; font-size: 13px;">
<span style="font-family: Wingdings;">*<span style="font-size: 7pt; font-family: 'Times New Roman';"> </span></span>Free installation if needed.</p>
<p style="font-family: arial, sans-serif; font-size: 13px;">
</p>
<p>If you want to have the module installed in your system, email me at <b>tahsin352(at)gmail(dot)com</b>.</p>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-81963689391835659702013-11-04T13:15:00.003+06:002014-10-25T14:55:46.890+06:00OpenSSLCOMMERZ: integrate SSLCOMMERZ with opencartUsing <a href="http://tahsinhasan.wordpress.com/2014/10/11/opensslcommerz/" target="_blank">OpenSSLCOMMERZ</a> module you can pay with the authorized payment processor of SSLCOMMERZ. For this, you need to get registered with SSLCOMMERZ first.<br />
<br />
Simple, single step installation.<br />
Step by step documentation.<br />
All the payment gateways are supported by SSLCOMMERZ. Please first get registered with SSLCOMMERZ.<br />
Secure and fast payment processing.<br />
<br />
<ul>
<li>It verifies an user with the store id provided by SSLCOMMERZ.</li>
<li>It has both live environment and test environment.</li>
<li>It collects information and then submits the gathered one using POST method.</li>
</ul>
<br />
If you want to have the module installed in your system, email me at <b>tahsin352(at)gmail(dot)com</b>.Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-16002743568474409402013-10-03T23:57:00.000+06:002015-03-03T12:34:25.355+06:00Product Based Quantity Wise Shipping for Opencart<a href="http://tahsinhasan.wordpress.com/2014/10/11/product-based-quantity-wise-shipping/" target="_blank">Product Based Quantity Wise Shipping</a> module allows users to set shipping cost for each product according to their product quantity. You can create as many product based rate as you need. Admin can enter shipping cost for each product in administrative panel. You can set the shipping price according to the product quantity. It will display shipping price for each different different product.
<br />
<br />
If you want to have the module installed in your system, email me at <b>tahsin352(at)gmail(dot)com</b>.
<br />
<br />
Price: <b> $50 </b>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com1tag:blogger.com,1999:blog-5088205242501291979.post-53485973868221822052013-09-01T16:32:00.002+06:002013-09-01T16:32:54.319+06:00How to rename a branch in gitRecently, I have come across to a need to rename an existing git branch. I googled and found the way to do it. Basically, it's a three step procedure.<br />
<br />
First, we rename the old branch into the new one.<br />
<pre class="brush:php">
git branch -m master master-old
</pre>
Then we will remove the old branch from the remote repository.<br />
<pre class="brush:php">
git push remote :master # delete master
</pre>
And now we push our newly created branch to the repository.<br />
<pre class="brush:php">
git push remote master-old # create master-old on remote
</pre>
<br />
<br />
<br />
<br />
See the book <a href="http://www.packtpub.com/opencart-14-template-design-cookbook/book">OpenCart 1.4 Template Design Cookbook</a>.
<br />
See the book <a href="http://www.packtpub.com/joomla-mobile-development-beginners-guide/book">Joomla Mobile Development Beginners Guide</a>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-24873343072550356122013-09-01T15:57:00.000+06:002013-09-01T15:57:11.327+06:00truncate html with tagsI was working on truncating rich contents on HTML editors. On the server side, we need to count the number of characters, then we need to truncate the string with keeping the HTML tags intact.<br/>
<br />
There is a class to truncate a rich text on the specific number of character or word number: http://www.pjgalbraith.com/2011/11/truncating-text-html-with-php/. This class uses php's DOMDocument. It parses each DOM element and count the characters appropriately. I have updated the pattern in the regular expression to allow all non space characters.<br />
<pre class="brush:php">
preg_match_all('/[\d\w ]+/us',$newEle->textContent,$m);
</pre>
The textContent method only returns the text contents within a DOM.
<br />
<br />
<br />
<br />
See the book <a href="http://www.packtpub.com/opencart-14-template-design-cookbook/book">OpenCart 1.4 Template Design Cookbook</a>.
<br />
See the book <a href="http://www.packtpub.com/joomla-mobile-development-beginners-guide/book">Joomla Mobile Development Beginners Guide</a>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-82451610460052186872013-09-01T15:43:00.001+06:002013-09-01T15:43:33.034+06:00How to "Merge" Specific Files from Another BranchSometimes, we need to merge some specific files to a central working branch from our feature local branches. At that time, we also don't want to move all the changed files from our local workplace.<br />
<br />
Here, we need a way to bring only our needed files from that branch. <br />
<br />
First of all, we will be in the destination branch.<br />
<pre class="brush:php">
git checkout source_branch <paths>...
</pre>
We can simply give git checkout the name of the feature branch and the paths to the specific files that we want to add to our master branch.
<br />
<br />
<br />
<br />
See the book <a href="http://www.packtpub.com/opencart-14-template-design-cookbook/book">OpenCart 1.4 Template Design Cookbook</a>.
<br />
See the book <a href="http://www.packtpub.com/joomla-mobile-development-beginners-guide/book">Joomla Mobile Development Beginners Guide</a>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-16714789133259924532013-08-24T18:52:00.001+06:002013-08-24T18:53:23.402+06:00caching mechanism in opencartOpencart caches the data at every page load. we have caching on currencies, languages, categories, products, category product counts, weight classes, tax classes, etc.
<br /><br />
In front-end models, when fetching data from database, OpenCart looks for the cached data prior to querying the database. They are stored in plain text files using PHP's function serialize(). If system gets any cached data, they are fetched and unserialized and returned to the controller without querying the database.
<br /><br />
Thus the fetching should be much quicker. If there are no cached data, then the database is queried and these data are then serialized using PHP's function serialize() and saved to the corresponding cache file.
<br /><br />
Here is one small problem that may occur. After You have edited the data directly in the database, (using phpMyAdmin, may the reason be whatever for this) the change is not present at frontend. This is because, there are older data cached that are fetched when asked for them. If You have to do such editing, then do not forget to manually delete corresponding cache file(s).
<br /><br />
The cache is instantiated and registered within index.php. it is then accessible in both controllers and models as $this->cache; while methods set(), get() and delete() are callable. The cache class itself could be found at system/library/cache.php and is quite simple and straight forward.
<br /><br />
Now, in the administration (backend) part of models, when editing or adding data (category, product, currencies, weight classes, etc), after the data is successfully stored to the database the corresponding cache file is immediately deleted. So it could be re-created at frontend containing up-to-date data.
<br /><br />
The cache files could be find at /system/cache/ folder.
<br />
<br />
<br />
See the book <a href="http://www.packtpub.com/opencart-14-template-design-cookbook/book">OpenCart 1.4 Template Design Cookbook</a>.
<br />
See the book <a href="http://www.packtpub.com/joomla-mobile-development-beginners-guide/book">Joomla Mobile Development Beginners Guide</a>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com1tag:blogger.com,1999:blog-5088205242501291979.post-72076054887147370442013-08-24T16:19:00.000+06:002013-08-24T18:54:13.729+06:00view unpushed git commitsGit version control system is gained very much popularity in recent times. It is a distributed version control system. Today we will see about how to see our unpushed local git commits.<br />
<br />
We have done some coding in our local work machine and we had committed those in several times in past few days. Now, we want to see what commits are still waiting to go to the remote repository.
<br /><br />
We can get the commit with log comments using the comparison between master and HEAD.<br /><br />
<pre class="brush:php">
git log origin/master..HEAD
</pre>
<br />
You can also view the difference using the same syntax with the same comparison between master and HEAD.<br /><br />
<pre class="brush:php">
git diff origin/master..HEAD
</pre>
<br />
<br />
See the book <a href="http://www.packtpub.com/opencart-14-template-design-cookbook/book">OpenCart 1.4 Template Design Cookbook</a>.
<br />
See the book <a href="http://www.packtpub.com/joomla-mobile-development-beginners-guide/book">Joomla Mobile Development Beginners Guide</a>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-4111190265897626592013-08-24T16:12:00.000+06:002013-08-24T18:55:48.877+06:00character count while copying from other documentwe have strlen or mb_strlen to count normal strings or multibyte UTF-8 encoded strings. When we have HTML elements into our strings, then we need to remove the elements.<br />
<br />
And if we want to copy rich content text from other websites, then we need to consider the white space characters. we need to replace newline, carriage return and tabs etc.
<br /><br />
Here, we first strips the tags from content.<br />
<pre class="brush:php">
$description = trim(strip_tags(html_entity_decode($this->request->post['description'])));
</pre>
<br /><br />
Then we replace the carriage returns and newlines in the contents.<br /><br />
<pre class="brush:php">
$description = str_replace("\r\n",'', $description);
</pre>
<br /><br />
Now, we will remove the tabs.<br />
<br />
<pre class="brush:php">
$description = str_replace("\t",'', $description);
</pre>
<br /><br />
Finally, we count our processed content.<br />
<pre class="brush:php">
echo mb_strlen($description);
</pre>
<br />
<br />
See the book <a href="http://www.packtpub.com/opencart-14-template-design-cookbook/book">OpenCart 1.4 Template Design Cookbook</a>.
<br />
See the book <a href="http://www.packtpub.com/joomla-mobile-development-beginners-guide/book">Joomla Mobile Development Beginners Guide</a>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0tag:blogger.com,1999:blog-5088205242501291979.post-3924459488548241992013-08-24T15:52:00.000+06:002013-08-24T15:52:07.746+06:00strip selected html tagsUsing strip_tags we can remove HTML element from a string. But we want to remove selected tags from a string. we can use regular expression to implement this feature.
<br />
<br />
The below regular expression provide us a way to remove the selected HTML tags from the string.
<br />
<pre class="brush:php">
preg_match_all('/<'.$tag.'[^>]*>(.*)<\/'.$tag.'>/iU', $text, $found)
</pre>
<br />
Then we replace the matched pattern with the matched text string of preg_match_all. The PREG_PATTERN_ORDER returns the matched tag pattern in the first array and returns text pattern on the second pattern.
<br />
<pre class="brush:php">
$text = str_replace($found[0],$found[1],$text);
</pre>
The complete function becomes like this:
<br />
<pre class="brush:php">
function strip_selected_tags($text, $tags = array())
{
foreach ($tags as $tag){
if(preg_match_all('/<'.$tag.'[^>]*>(.*)<\/'.$tag.'>/iU', $text, $found)){
$text = str_replace($found[0],$found[1],$text);
}
}
return $text;
}
echo htmlentities(strip_selected_tags('<div class="as">Person:</div> <strong>Salavert</strong>', array('strong', 'div')));
</pre>
<br />
<br />
See the book <a href="http://www.packtpub.com/opencart-14-template-design-cookbook/book">OpenCart 1.4 Template Design Cookbook</a>.
<br />
See the book <a href="http://www.packtpub.com/joomla-mobile-development-beginners-guide/book">Joomla Mobile Development Beginners Guide</a>Anonymoushttp://www.blogger.com/profile/11072828759275938058noreply@blogger.com0