Monthly Archives: Aug 2017

PHP ternary operators and how to use them

php-banner

I’ll add more to this note as I find the need.  Something I already use, but as of PHP7, there are a few little newbies that it doesn’t hurt to note down.

I like this one.  It replaces the isset() clause.

So this:

if(isset($_POST['something']){$something= $_POST['something'];}

Can now be written (in PHP7+):

$something= $_POST['something'] ?? "default";

The above fetches the POST content if it exists, and defaults to the ” ” enclosed value if it doesn’t.

Some more examples of ternary operators:

$isABigNumber = ($number < 1000 ? "Small Number" : "Big Number")

 

Share this post:
read more

Send data to a Bootstrap modal

How to send data to a Bootstrap modal on ‘shown’.  Works with multiple data points.

<a data-toggle="modal" data-id="whateverDataYouArePassing" href="#idOfModal" class="classOfThetrigger btn btn-default">Full Info</a>

$(document).on("click", ".classOfTheTrigger", function () {
   var rowID = $(this).data('id');
   $("#nameOfModal").load("../something/in/here");  
});

 

Share this post:
read more

Toggle / open / close a Bootstrap modal with jQuery

Short and sweet, the jQuery for opening and closing Bootstrap modals.

$(function () {
   $('#modal').modal('toggle');
});

 

Share this post:
read more

A list of PHP dateTime method date and time formatting option

php-banner

PHP dateTime formatting list for reference.

  • d – The day of the month (from 01 to 31)
  • D – A textual representation of a day (three letters)
  • j – The day of the month without leading zeros (1 to 31)
  • l (lowercase ‘L’) – A full textual representation of a day
  • N – The ISO-8601 numeric representation of a day (1 for Monday, 7 for Sunday)
  • S – The English ordinal suffix for the day of the month (2 characters st, nd, rd or th. Works well with j)
  • w – A numeric representation of the day (0 for Sunday, 6 for Saturday)
  • z – The day of the year (from 0 through 365)
  • W – The ISO-8601 week number of year (weeks starting on Monday)
  • F – A full textual representation of a month (January through December)
  • m – A numeric representation of a month (from 01 to 12)
  • M – A short textual representation of a month (three letters)
  • n – A numeric representation of a month, without leading zeros (1 to 12)
  • t – The number of days in the given month
  • L – Whether it’s a leap year (1 if it is a leap year, 0 otherwise)
  • o – The ISO-8601 year number
  • Y – A four digit representation of a year
  • y – A two digit representation of a year
  • a – Lowercase am or pm
  • A – Uppercase AM or PM
  • B – Swatch Internet time (000 to 999)
  • g – 12-hour format of an hour (1 to 12)
  • G – 24-hour format of an hour (0 to 23)
  • h – 12-hour format of an hour (01 to 12)
  • H – 24-hour format of an hour (00 to 23)
  • i – Minutes with leading zeros (00 to 59)
  • s – Seconds, with leading zeros (00 to 59)
  • u – Microseconds (added in PHP 5.2.2)
  • e – The timezone identifier (Examples: UTC, GMT, Atlantic/Azores)
  • I (capital i) – Whether the date is in daylights savings time (1 if Daylight Savings Time, 0 otherwise)
  • O – Difference to Greenwich time (GMT) in hours (Example: +0100)
  • P – Difference to Greenwich time (GMT) in hours:minutes (added in PHP 5.1.3)
  • T – Timezone abbreviations (Examples: EST, MDT)
  • Z – Timezone offset in seconds. The offset for timezones west of UTC is negative (-43200 to 50400)
  • c – The ISO-8601 date (e.g. 2013-05-05T16:34:42+00:00)
  • r – The RFC 2822 formatted date (e.g. Fri, 12 Apr 2013 12:01:05 +0200)
  • U – The seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)
Share this post:
read more

Using jQuery Autocomplete inside Bootstrap Modals

The default behaviour for jQuery autocomplete is to show the list of available tags behind the modal.  This can be remedied using the ui-front class inside one of the parent elements of the form.  The ui-front class is a built in jQuery class.

<form name="addMaterials" class="form-inline ui-front" id="addMaterials" method="post" action="#">
  <div class="form-group">
    <input type="text" size="40" class="form-control" id="MaterialID" name="MaterialID" placeholder="Add Materials">
    <button type="submit" class="btn btn-default" id="btnSearch">Search</button>
  </div>
</form>

The important bit is the [class=“form-inline ui-front ]

Share this post:
read more

jQuery – Bind events to opening and closing a Bootstrap modal

Cause an event to be triggered when opening and closing a Bootstrap (3+) modal window.

Modal Close:

$('#myModal').on('hidden.bs.modal', function () {
   // do something here
})

Modal Open:

$('#myModal').on('shown.bs.modal', function () {
   // do something here
})

 

Share this post:
read more

Gravy Recipe – Vegetarian onion, mushroom and Marmite for sausages

marmite-gravy-recipe

A great gravy for sausages etc.  Don’t go overboard with the Marmite.

Ingredients:

  • Two small onions
  • Two carrots
  • Two sticks celery
  • 50g mushrooms (standard / wild / porcini)
  • One clove garlic (chopped)
  • fresh ground black pepper
  • olive oil
  • Two bay leaves
  • 2 sprigs fresh thyme
  • Two tablespoons plain flour
  • Two teaspoons marmite
  • One tablespoon tomato puree
  • Two tablespoons red wine vinegar
  • 1.5 litres vegetable stock

Method:

  1. Peel the onions & carrots, then rough chop along with the celery and mushroom, then add to a large pan.  Add a splash of oil and cook over medium heat for 30 minutes until browning and soft.  Stirring occasionally.
  2. Stir in the flour, Marmite, tomato puree, chopped garlic and vinegar and stir well.
  3. Pour in the stock and bring to the boil.  Then reduce heat to a simmer and cook for ten mins until reduced and thicker.
  4. Pass all through a sieve and scrape to get all of the flavours out.
Share this post:
read more

Rounding up and rounding out numbers with PHP functions

php-banner

Some PHP functions to round numbers up and out, with examples.

// Round "up" method
// Rounds up to the specified number of decimal places
function roundUp ($value, $places=0) {
  if ($places < 0) { $places = 0; }
  $mult = pow(10, $places);
  return ceil($value * $mult) / $mult;
}

// Round "out" method
// rounds a float away from zero to a specified number of decimal places
function roundOut ($value, $places=0) {
  if ($places < 0) { $places = 0; }
  $mult = pow(10, $places);
  return ($value >= 0 ? ceil($value * $mult):floor($value * $mult)) / $mult;
}

echo roundUp (56.77001, 2); // displays 56.78
echo roundUp (-0.453001, 4); // displays -0.453
echo roundOut (56.77001, 2); // displays 56.78
echo roundOut (-0.453001, 4); // displays -0.4531

 

Share this post:
read more

Count the number of days between two dates – PHP

How to count the number of days in between two dates using PHP and the dateTime function.

$date_1 = new DateTime($start_date);
$date_2 = new DateTime($finish_date);
$days= $date_2->diff($date_1)->format("%a");

 

Share this post:
read more

Setting a cookie value immediately – PHP

The way to set a cookie:

setcookie("COOKIE NAME", "COOKIE VALUE", time() + 3600 * 8 * 7);

This cookie will be in place when the page next refreshes/loads;

To work with an immediate value of the cookie, add this as well:

$_COOKIE['COOKIE NAME']= COOKIE VALUE;
setcookie("COOKIE NAME", "COOKIE VALUE", time() + 3600 * 8 * 7);

Using the above method will shove the value of the cookie into the session variable version, as well as writing it where it should be ready for a page reload.

Share this post:
read more
1 2