DSI PBL in-country inventory triples within less than a week!

DSI PBL in-country inventory triples within less than a week! 1

Challenge

DSI PBL in-country inventory triples within less than a week.

Solution

Through good communication between the HQ and our in-country operations
and, as a direct result of excellent teamwork, we were able to implement and
execute a mobilization plan enabling us to successfully take on this contract with
zero NPT.

Conclusion & Recommendation

DSI implemented a rigorous action plan which was skillfully executed by its dedicated team to prepare equipment
through a “round the clock” support of operational and technical teams, successfully dispatching over 160 PBL tools during the first 60 days of this campaign with no jobs rejected and with zero incidents.

Key facts

Whoops! There was an error.
Whoops \ Exception \ ErrorException (E_WARNING)
Undefined array key "text" Whoops\Exception\ErrorException thrown with message "Undefined array key "text"" Stacktrace: #7 Whoops\Exception\ErrorException in /home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/includes/partials/newssingle/news-facts.php:35 #6 Whoops\Run:handleError in /home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/includes/partials/newssingle/news-facts.php:35 #5 include in /home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/class/src/Tools/Helper.php:9 #4 Probots\Tools\Helper:includePartial in /home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/class/functions/helpers.php:5 #3 loadPartial in /home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/single-post.php:8 #2 include in /home/dsipbl/public_html/dev.dsi-pbl.com/wp/wp-includes/template-loader.php:106 #1 require_once in /home/dsipbl/public_html/dev.dsi-pbl.com/wp/wp-blog-header.php:19 #0 require in /home/dsipbl/public_html/dev.dsi-pbl.com/index.php:17
Stack frames (8)
7
Whoops\Exception\ErrorException
/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/includes/partials/newssingle/news-facts.php35
6
Whoops\Run handleError
/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/includes/partials/newssingle/news-facts.php35
5
include
/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/class/src/Tools/Helper.php9
4
Probots\Tools\Helper includePartial
/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/class/functions/helpers.php5
3
loadPartial
/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/single-post.php8
2
include
/home/dsipbl/public_html/dev.dsi-pbl.com/wp/wp-includes/template-loader.php106
1
require_once
/home/dsipbl/public_html/dev.dsi-pbl.com/wp/wp-blog-header.php19
0
require
/home/dsipbl/public_html/dev.dsi-pbl.com/index.php17
/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/includes/partials/newssingle/news-facts.php
<div class="newsdetail-facts bg-grey-middle u-pb">
 
 
<?php if ($headline) : ?>
    <div class="newsdetail-facts-header">
        <?php
            loadpartial('html-cols', ['html_left' => $headlineHtml, 'flavor' => ['secondhiddenonmobile']]);
        ?>
    </div>
<?php endif; ?>
 
 
<div class="newsdetail-facts-boxes bg-white">
 
    <?php foreach ($facts as $fact) : ?>
        <?php
            $hiddenmobile = (isset($fact['hiddenmobile']) && $fact['hiddenmobile']);
        ?>
        <div class="newsdetail-facts-fact <?= $hiddenmobile ? 'u-hidden u-block@sm' : '' ?>">
            <span class="f-h2"><?= $fact['text']; ?></span>
        </div>
    <?php endforeach; ?>
</div>
 
 
</div>
 
Arguments
  1. "Undefined array key "text""
    
/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/includes/partials/newssingle/news-facts.php
<div class="newsdetail-facts bg-grey-middle u-pb">
 
 
<?php if ($headline) : ?>
    <div class="newsdetail-facts-header">
        <?php
            loadpartial('html-cols', ['html_left' => $headlineHtml, 'flavor' => ['secondhiddenonmobile']]);
        ?>
    </div>
<?php endif; ?>
 
 
<div class="newsdetail-facts-boxes bg-white">
 
    <?php foreach ($facts as $fact) : ?>
        <?php
            $hiddenmobile = (isset($fact['hiddenmobile']) && $fact['hiddenmobile']);
        ?>
        <div class="newsdetail-facts-fact <?= $hiddenmobile ? 'u-hidden u-block@sm' : '' ?>">
            <span class="f-h2"><?= $fact['text']; ?></span>
        </div>
    <?php endforeach; ?>
</div>
 
 
</div>
 
Arguments
  1. 2
    
  2. "Undefined array key "text""
    
  3. "/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/includes/partials/newssingle/news-facts.php"
    
  4. 35
    
/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/class/src/Tools/Helper.php
<?php
namespace Probots\Tools;
 
class Helper
{
    public static function includePartial($file, $data = [])
    {
        extract($data);
        include(sprintf('%s/includes/partials/%s.php', get_template_directory(), $file));
    }
 
    public static function loadPartial($file, $data = [])
    {
        ob_start();
        extract($data);
        include(sprintf('%s/includes/partials/%s.php', get_template_directory(), $file));
        return ob_get_clean();
    }
 
    public static function includeBlock($file, $data = [])
    {
        extract($data);
        include(sprintf('%s/includes/blocks/%s.php', get_template_directory(), $file));
    }
 
    public static function includeAsset($name = '')
    {
        include(sprintf('%s/assets/%s', get_template_directory(), $name));
    }
 
    public static function getAssetUrl($name = '')
    {
        return sprintf('%s/assets/%s', get_template_directory_uri(), $name);
    }
 
    public static function getTplPath($file = '')
    {
        return sprintf('%s/%s', get_template_directory(), $file);
    }
 
Arguments
  1. "/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/includes/partials/newssingle/news-facts.php"
    
/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/class/functions/helpers.php
<?php
if (!function_exists('loadPartial')) {
    function loadPartial($name, $data = [])
    {
        \Probots\Tools\Helper::includePartial($name, $data);
    }
}
 
if (!function_exists('assetUrl')) {
    function assetUrl($name)
    {
        return \Probots\Tools\Helper::getAssetUrl($name);
    }
}
 
 
if (!function_exists('loadSvg')) {
    function loadSvg($name)
    {
        include(get_template_directory() . '/assets/' . $name . '.svg');
    }
}
 
if (!function_exists('clearPhoneNumber')) {
    function clearPhoneNumber($number)
    {
        $plus = preg_match('/^(\+)/', $number)?"+":"";
        $number = preg_replace('/[^0-9]/', '', $number);
        return $plus.$number;
    }
}
 
if (!function_exists('isDaylight')) {
    function isDaylight()
    {
        $time = date("H");
        return !($time >= 18 || $time <= 6);
    }
}
 
Arguments
  1. "newssingle/news-facts"
    
  2. []
    
/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/single-post.php
<?php
$logoType = 'red_pbl';
get_header();
?>
 
<?php loadpartial('newssingle/news-head', []); ?>
<?php loadpartial('newssingle/news-gallery', []); ?>
<?php loadpartial('newssingle/news-facts', []); ?>
 
<?php
get_footer();
?>
 
Arguments
  1. "newssingle/news-facts"
    
  2. []
    
/home/dsipbl/public_html/dev.dsi-pbl.com/wp/wp-includes/template-loader.php
            }
 
            break;
        }
    }
 
    if ( ! $template ) {
        $template = get_index_template();
    }
 
    /**
     * Filters the path of the current template before including it.
     *
     * @since 3.0.0
     *
     * @param string $template The path of the template to include.
     */
    $template = apply_filters( 'template_include', $template );
    if ( $template ) {
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
Arguments
  1. "/home/dsipbl/public_html/dev.dsi-pbl.com/content/themes/dsi/single-post.php"
    
/home/dsipbl/public_html/dev.dsi-pbl.com/wp/wp-blog-header.php
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
Arguments
  1. "/home/dsipbl/public_html/dev.dsi-pbl.com/wp/wp-includes/template-loader.php"
    
/home/dsipbl/public_html/dev.dsi-pbl.com/index.php
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);
 
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
Arguments
  1. "/home/dsipbl/public_html/dev.dsi-pbl.com/wp/wp-blog-header.php"
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE
"Apache"
REQUEST_URI
"/2021/07/15/dsi-pbl-in-country-inventory-triples-within-less-than-a-week/"
USER
"dsipbl"
HOME
"/home/dsipbl"
SCRIPT_NAME
"/index.php"
QUERY_STRING
""
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/2.0"
GATEWAY_INTERFACE
"CGI/1.1"
REDIRECT_URL
"/2021/07/15/dsi-pbl-in-country-inventory-triples-within-less-than-a-week/"
REMOTE_PORT
"12356"
SCRIPT_FILENAME
"/home/dsipbl/public_html/dev.dsi-pbl.com/index.php"
SERVER_ADMIN
"webmaster@dev.dsi-pbl.com"
CONTEXT_DOCUMENT_ROOT
"/home/dsipbl/public_html/dev.dsi-pbl.com"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"https"
DOCUMENT_ROOT
"/home/dsipbl/public_html/dev.dsi-pbl.com"
REMOTE_ADDR
"18.116.13.123"
SERVER_PORT
"443"
SERVER_ADDR
"192.168.209.158"
SERVER_NAME
"dev.dsi-pbl.com"
SERVER_SIGNATURE
""
PATH
"/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin"
HTTP_HOST
"dev.dsi-pbl.com"
HTTP_REFERER
"https://dev.dsi-pbl.com/2021/07/15/dsi-pbl-in-country-inventory-triples-within-less-than-a-week"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
proxy-nokeepalive
"1"
H2_STREAM_TAG
"61881-1630-3"
H2_STREAM_ID
"3"
H2_PUSHED_ON
""
H2_PUSHED
""
H2_PUSH
"off"
H2PUSH
"off"
HTTP2
"on"
SSL_TLS_SNI
"dev.dsi-pbl.com"
HTTPS
"on"
HTTP_AUTHORIZATION
""
UNIQUE_ID
"Zuj_acFak3DY3UzXY98_8wAADw8"
REDIRECT_STATUS
"200"
REDIRECT_H2_STREAM_TAG
"61881-1630-3"
REDIRECT_H2_STREAM_ID
"3"
REDIRECT_H2_PUSHED_ON
""
REDIRECT_H2_PUSHED
""
REDIRECT_H2_PUSH
"off"
REDIRECT_H2PUSH
"off"
REDIRECT_HTTP2
"on"
REDIRECT_SSL_TLS_SNI
"dev.dsi-pbl.com"
REDIRECT_HTTPS
"on"
REDIRECT_HTTP_AUTHORIZATION
""
REDIRECT_UNIQUE_ID
"Zuj_acFak3DY3UzXY98_8wAADw8"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1726545769.182
REQUEST_TIME
1726545769
argv
[]
argc
0
ENVIRONMENT
"production"
DEBUG
"false"
SSL
"true"
LIVE_RELOAD
"false"
DB_HOST
"localhost"
DB_PORT
"3306"
DB_NAME
"dsipbl_wpdb"
DB_USER
"dsipbl_wpuser"
DB_PASSWORD
"R8Mz#RD@ALLw45"
WP_THEME_NAME
"dsi"
WP_TABLE_PREFIX
"wp_"
WP_MEDIA_URL
"https://www.dsi-pbl.com/media"
SMTP_AUTH
"true"
SMTP_SECURE
"tls"
SMTP_HOST
"sandbox.smtp.mailtrap.io"
SMTP_PORT
"587"
SMTP_USER
"dbf2bf6c1a9cb3"
SMTP_PASS
"612b31eee8226c"
SMTP_FROM_EMAIL
"webmaster@eestinfo.com"
SMTP_FROM_NAME
"DSI-Webmaster"
TAGMANAGER
"GTM-MKSNSB2"
BUGHERD
"null"
GOOGLE_MAPS
"null"
Key Value
ENVIRONMENT
"production"
DEBUG
"false"
SSL
"true"
LIVE_RELOAD
"false"
DB_HOST
"localhost"
DB_PORT
"3306"
DB_NAME
"dsipbl_wpdb"
DB_USER
"dsipbl_wpuser"
DB_PASSWORD
"R8Mz#RD@ALLw45"
WP_THEME_NAME
"dsi"
WP_TABLE_PREFIX
"wp_"
WP_MEDIA_URL
"https://www.dsi-pbl.com/media"
SMTP_AUTH
"true"
SMTP_SECURE
"tls"
SMTP_HOST
"sandbox.smtp.mailtrap.io"
SMTP_PORT
"587"
SMTP_USER
"dbf2bf6c1a9cb3"
SMTP_PASS
"612b31eee8226c"
SMTP_FROM_EMAIL
"webmaster@eestinfo.com"
SMTP_FROM_NAME
"DSI-Webmaster"
TAGMANAGER
"GTM-MKSNSB2"
BUGHERD
"null"
GOOGLE_MAPS
"null"
0. Whoops\Handler\PrettyPageHandler