Posted in Code Snippets, Javascript

Workaround for failed loading of images

Images that depend on server-side loading fails sometimes due to multiple reasons, like image is not present, location might be wrong, browser fails to load or process the image. All these returns 404 as HTTP status. This breaks the image placeholder too. Using JQuery, the broken image can be replaced with the error placeholder image with this simple JQuery snippet:

Continue reading “Workaround for failed loading of images”

Posted in Angular, Code Snippets

AngularJS – UI-Router : Multiple states with same URL

Usually, with angular ui-router, we can have one url for a single state something like this:

.state('app', {
  url: "/home",
  templateUrl: "....",
  controller: "myController",
  roles: ['administrator','authenticated']

Continue reading “AngularJS – UI-Router : Multiple states with same URL”

Posted in PHP

PHP: Implode or Trim – Concatenating strings in a loop

There are bunch of questions circulating in Stack Overflow like this. People when trying to concatenate some strings with another string or a character, they simply concatenate with . inside the loop like this:

$values = [1, 2, 3];
$string = '';
foreach ($values as $value) {
$string .= $value . " AND ";
echo $string;

This leaves string like this:


Then they come up with a question as how to remove the last AND.

Continue reading “PHP: Implode or Trim – Concatenating strings in a loop”

Posted in Angular

Make bootstrap button group to work with Angular

Many developers face the trouble to make the Twitter Bootstrap’s button group, toggle buttons to work with Angular. For instance, following is the code for button group – btn-group

<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary">
<input type="radio" name="options" id="option1" ng-model="radio.btnGroup" value="1"> Radio 1
<label class="btn btn-primary">
<input type="radio" name="options" id="option2" ng-model="radio.btnGroup" value="2"> Radio 2
<label class="btn btn-primary">
<input type="radio" name="options" id="option3" ng-model="radio.btnGroup" value="3"> Radio 3

But ng-model doesn’t seem to work with this.

Continue reading “Make bootstrap button group to work with Angular”

Posted in Angular, Code Snippets

AngularJS: Recursive function with deferred promise

Deferred promise is a great way to handle async calls synchronously. When we use recursive function, we may wonder how to handle the defer variable. It is as simple as:

some_function = function(some_var1, some_var2, def) {
var deferred = def || $q.defer(); // Use def when it is recursive call
url: url,
method: "POST",
}).success(function(result) {
}).error(function(result, status) {
some_function(some_var1, some_var2, deferred);
return deferred.promise;

Bold texts are those that needs to be added to handle deferred promise in recursive calls.

Continue reading “AngularJS: Recursive function with deferred promise”