Regarding the internship provision Internship letter

0

This post is regarding the internship provision internship letter, internship letter, cover letter, intern letter, letter of the internship.

17th Dec 2009

To,
The HR manager
Everest Bank Ltd
New Baneshwor, Kathmandu

Subject: Regarding the internship provision

Respected sir/madam,

As a potential intern, with required qualifications and a strong desire to excel in the banking profession, I am seeking to align myself as an intern with a company that ranks top at the global market and also offers an internship to undergraduates like me.
I am seeking a professional opportunity where my educational and other co-curricular experiences can benefit your company as well as lead me to my career goal and drive me along my career path.

I keep forth my kind request to consider my application for an internship at your bank for a period of six weeks which is a must for the course of BCIS(Bachelor in computer information system) under Pokhara University. As under the university norms, we are supposed to select the specialized subject in the final year and I have decided to take part in the IT sector. This opportunity will help me to explore more during my classes and learn more.

I assure you that I will strongly adhere to the bank norms and rules during my tenure as an intern and at any time in the future. I will also fulfill my responsibilities with utmost dedication if given any.

I wait for your positive response.

Thanking you.

Yours sincerely,
Rupak Nepali
BCIS 7th semester
Nobel College

internship letter, cover letter, intern letter, letter of internship

The solution to HOMEWORK 4.4 M101JS: MongoDB for Node.js Developers

HOMEWORK: HOMEWORK 4.4

In this problem, you will analyze a profile log taken from a MongoDB instance. To start, please download sysprofile.json from Download Handout link and import it with the following command:

mongoimport -d m101 -c profile < sysprofile.json

Now query the profile data, looking for all queries to the students’ collection in the databaseschool2, sorted in order of decreasing latency. What is the latency of the longest-running operation to the collection, in milliseconds?

hw4.4answer

  Answer: 15820

The solution to HOMEWORK 4.2 M101JS: MongoDB for Node.js Developers

HOMEWORK: HOMEWORK 4.2

Suppose you have a collection called tweets whose documents contain information about thecreated_at time of the tweet and the user’s followers_count at the time they issued the tweet. What can you infer from the following explain output?

> db.tweets.explain("executionStats").find({"user.followers_count":{$gt:1000}}).limit(10).skip(5000).sort( { created_at : 1 } )
{
    "queryPlanner" : {
        "plannerVersion" : 1,
        "namespace" : "twitter.tweets",
        "indexFilterSet" : false,
        "parsedQuery" : {
            "user.followers_count" : {
                "$gt" : 1000
            }
        },
        "winningPlan" : {
            "stage" : "LIMIT",
            "limitAmount" : 0,
            "inputStage" : {
                "stage" : "SKIP",
                "skipAmount" : 0,
                "inputStage" : {
                    "stage" : "FETCH",
                    "filter" : {
                        "user.followers_count" : {
                            "$gt" : 1000
                        }
                    },
                    "inputStage" : {
                        "stage" : "IXSCAN",
                        "keyPattern" : {
                            "created_at" : -1
                        },
                        "indexName" : "created_at_-1",
                        "isMultiKey" : false,
                        "direction" : "backward",
                        "indexBounds" : {
                            "created_at" : [
                                "[MinKey, MaxKey]"
                            ]
                        }
                    }
                }
            }
        },
        "rejectedPlans" : [ ]
    },
    "executionStats" : {
        "executionSuccess" : true,
        "nReturned" : 10,
        "executionTimeMillis" : 563,
        "totalKeysExamined" : 251120,
        "totalDocsExamined" : 251120,
        "executionStages" : {
            "stage" : "LIMIT",
            "nReturned" : 10,
            "executionTimeMillisEstimate" : 500,
            "works" : 251121,
            "advanced" : 10,
            "needTime" : 251110,
            "needFetch" : 0,
            "saveState" : 1961,
            "restoreState" : 1961,
            "isEOF" : 1,
            "invalidates" : 0,
            "limitAmount" : 0,
            "inputStage" : {
                "stage" : "SKIP",
                "nReturned" : 10,
                "executionTimeMillisEstimate" : 500,
                "works" : 251120,
                "advanced" : 10,
                "needTime" : 251110,
                "needFetch" : 0,
                "saveState" : 1961,
                "restoreState" : 1961,
                "isEOF" : 0,
                "invalidates" : 0,
                "skipAmount" : 0,
                "inputStage" : {
                    "stage" : "FETCH",
                    "filter" : {
                        "user.followers_count" : {
                            "$gt" : 1000
                        }
                    },
                    "nReturned" : 5010,
                    "executionTimeMillisEstimate" : 490,
                    "works" : 251120,
                    "advanced" : 5010,
                    "needTime" : 246110,
                    "needFetch" : 0,
                    "saveState" : 1961,
                    "restoreState" : 1961,
                    "isEOF" : 0,
                    "invalidates" : 0,
                    "docsExamined" : 251120,
                    "alreadyHasObj" : 0,
                    "inputStage" : {
                        "stage" : "IXSCAN",
                        "nReturned" : 251120,
                        "executionTimeMillisEstimate" : 100,
                        "works" : 251120,
                        "advanced" : 251120,
                        "needTime" : 0,
                        "needFetch" : 0,
                        "saveState" : 1961,
                        "restoreState" : 1961,
                        "isEOF" : 0,
                        "invalidates" : 0,
                        "keyPattern" : {
                            "created_at" : -1
                        },
                        "indexName" : "created_at_-1",
                        "isMultiKey" : false,
                        "direction" : "backward",
                        "indexBounds" : {
                            "created_at" : [
                                "[MinKey, MaxKey]"
                            ]
                        },
                        "keysExamined" : 251120,
                        "dupsTested" : 0,
                        "dupsDropped" : 0,
                        "seenInvalidated" : 0,
                        "matchTested" : 0
                    }
                }
            }
        }
    },
    "serverInfo" : {
        "host" : "generic-name.local",
        "port" : 27017,
        "version" : "3.0.1",
        "gitVersion" : "534b5a3f9d10f00cd27737fbcd951032248b5952"
    },
    "ok" : 1
}

Solution:
The query uses an index to determine the order in which to return result documents
The query examines 251120 documents.

hw4.2answer

Answer for Homework 2.1 M101JS Courseware

HOMEWORK: HOMEWORK 2.1

In this problem, you will be using an old weather dataset. Download weather_data.csv from the Download Handout link. This is a comma separated value file that you can import into MongoDB as follows:

mongoimport –type csv –headerline weather_data.csv -d weather -c data

You can verify that you’ve imported the data correctly by running the following commands in the mongo shell:

> use weather
> db.data.find().count()
> 2963

Reading clockwise from true north, the wind direction is measured by degrees around the compass up to 360 degrees.

90 is East

180 is South

270 is West

360 is North

Your assignment is to figure out the “State” that recorded the lowest “Temperature” when the wind was coming from the west (“Wind Direction” between 180 and 360). Please enter the name of the state that meets this requirement. Do not include the surrounding quotes in providing your answer.

Answer is:
New Mexico

Write New Mexico and submit.

If you need query then following is the query to retrieve the data

db.data.find({"Wind Direction":{$gte:180,$lte:360}}, {"State":true,"Temperature":true, "_id":false, "Wind Direction":true}).sort({"Temperature":1})

 

Steps to create custom URL to work locally Xampp localhost virtual host

0

Steps to create a custom URL to work locally:

If you had installed Xampp in D:/ folder then follow the following steps, if you have installed in C:/ or another folder then replace D with respective folder name.

  • Open up the Xampp control panel and stop Apache (Ensure that you don’t have it running as a service.
  • Navigate to D:/xampp/apache/conf/extra or wherever you installed Xampp
  • Open up your text editor with administrative privileges and open up httpd-vhosts.conf found in the D:/xampp/apache/conf/extra folder
  • At the very bottom of the file paste the following (check if it exists there already) <VirtualHost *:80> DocumentRoot “D:/xampp/htdocs” ServerName localhost </VirtualHost>
  • Without that line of code, you will lose access to your default htdocs/ For eg: http://localhost/ will be inaccessible.
  • Now copy and paste the code below: <VirtualHost *:80> DocumentRoot “D:/xampp/htdocs/webocreation” ServerName webocreation.dev ServerAlias www.webocreation.dev <Directory “D:/xampp/htdocs/webocreation”> AllowOverride All Require all Granted </Directory> </VirtualHost>
  • Now we head over to our Windows Hosts File, to edit the HOSTS. File will be located at C:/Windows/System32/drivers/etc/hosts, where hosts is the file. 127.0.0.1             localhost
  • Look for the line above and enter your site mimicking the layout 127.0.0.1             localhost 127.0.0.1             webocreation.dev
  • Change this to the domain name you choose earlier
  • Change it to reflect the lines above (if you have problems saving it meant you didn’t have your text editor running in admin mode.
  • Restart Apache and test to make sure it is working.
  • Go to the URL

Limit number of sub-categories to show at OpenCart 2

It is not recommended to change the default files of OpenCart as if you upgrade then all changes will be lost so we have seen one solution to achieve your requirement by changing the header.tpl. Open catalog/view/theme/YOUR_THEME/template/common/header.tpl
Find the following lines of code:

<?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
              <ul class="list-unstyled">
                <?php foreach ($children as $child) { ?>
                <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
                <?php } ?>
              </ul>
              <?php } ?>

And replace with following lines of code:

<ul class="list-unstyled">
  <?php foreach ($category['children'] as $key=>$child) { ?>
  <?php if($key<5){ ?>
  <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
  <?php } ?>
  <?php } ?>
</ul>

With this change, there will be only one column.

For many sub-categories, you can make multiple columns of sub-categories in OpenCart.
While inserting the category, in the data tab, insert the “Columns” value to show multiple columns. You can see examples of the “MP3 Players” category and its sub-categories in the default installation.

limit-sub-categories-opencart-menu


Coming soon products opencart free module

Products to show without the add to cart button, another Opencart free module “Coming Soon Products module  OpenCart version 2.0”. When you enabled this module, you will be able to see the products which available date is greater than today.

The module will look like below:

coming soon opencart module

Admin section will look like:

future products opencart module

Download Coming Soon Future Products free module from the link below:

Download Coming Soon Future Products free Module

Installation:

  1. Unzip the downloaded folder.
  2. Upload the files in the root folder to your server, no file is overwritten.
  3. Then activate the “Future Products” module.

Activating the “Future Products” module:

  1. After uploading files to servers, it’s time to install the “Future Products” module
  2. We are showing the “Future Products” module at the right column of the Category page (Category Layout) but you can show it wherever you like as this acts as a normal module.
  3. Go to Admin section
  4. Then click on Extensions on the left menu
  5. After that Click Modules and go to “Future Products” in the modules list
  6. Then click the Green button for the “Future Products” to install the module (see the image below)
  7. Then click the blue edit button
  8. After that, you will see the form which has the status field, select “Enabled” and then click the Save button.
  9. Your module is active and is ready to use in the layout.

Setup layout for the sidebar “Future Products” module at the right column of the home page:

  1. From the admin section go to System >> Design >> Layouts.
  2. You will see a list of layouts, from which edit the Home layout.
  3. Then click Blue add the button to add rows at module section which is shown in the image below:
  4. Second, you choose the “Future Products” in the module column and Column right in the Position column and insert the sort order as required.
  5. Then click save button

Your custom home page is ready with the “Future Products” module in the right column. Likewise, you can show in many other layouts and pages.

Codes of “Future Products” modules of the presentation layer’s controller:

Go to catalog/controller/module/futureproducts.php

<?php
class ControllerModuleFutureProducts extends Controller {
   public function index($setting) {
      $this->load->language('module/futureproducts');
      $data['heading_title'] = $setting['name'];
      $data['text_tax'] = $this->language->get('text_tax');
      $data['button_cart'] = $this->language->get('button_cart');
      $data['button_wishlist'] = $this->language->get('button_wishlist');
      $data['button_compare'] = $this->language->get('button_compare');
      $this->load->model('catalog/product');
      $this->load->model('catalog/futureproducts');
      $this->load->model('tool/image');

      $data['products'] = array();
      $filter_data = array(
         'sort'  => 'p.date_added',
         'order' => 'DESC',
         'start' => 0,
         'limit' => $setting['limit']
      );

      $results = $this->model_catalog_futureproducts->getProducts($filter_data);
      if ($results) {
         foreach ($results as $result) {
            if ($result['image']) {
               $image = $this->model_tool_image->resize($result['image'], $setting['width'], $setting['height']);
            } else {
               $image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']);
            }
            if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
               $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
            } else {
               $price = false;
            }
            if ((float)$result['special']) {
               $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
            } else {
               $special = false;
            }
            if ($this->config->get('config_tax')) {
               $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
            } else {
               $tax = false;
            }
            if ($this->config->get('config_review_status')) {
               $rating = $result['rating'];
            } else {
               $rating = false;
            }
            $data['products'][] = array(
               'product_id'  => $result['product_id'],
               'thumb'       => $image,
               'name'        => $result['name'],
               'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
               'price'       => $price,
               'special'     => $special,
               'tax'         => $tax,
               'rating'      => $rating,
               'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id']),
            );
         }
         if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/futureproducts.tpl')) {
            return $this->load->view($this->config->get('config_template') . '/template/module/futureproducts.tpl', $data);
         } else {
            return $this->load->view('default/template/module/futureproducts.tpl', $data);
         }
      }
   }
}

Codes of “Future Products” modules of the presentation layer’s language file:

Go to catalog/language/english/module/futureproducts.php

<?php
// Heading
$_['heading_title'] = 'Future Products';
// Text
$_['text_tax']      = 'Ex Tax:';

Codes of “Account Login” modules of the presentation layer’s template file:

Go to catalog/view/theme/default/module/futureproducts.tpl

<h3><?php echo $heading_title; ?></h3>
<div class="row">
  <?php foreach ($products as $product) { ?>
  <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12">
    <div class="product-thumb transition">
      <div class="image"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></div>
      <div class="caption">
        <h4><?php echo $product['name']; ?></h4>
        <p><?php echo $product['description']; ?></p>
        <?php if ($product['rating']) { ?>
        <div class="rating">
          <?php for ($i = 1; $i <= 5; $i++) { ?>
          <?php if ($product['rating'] < $i) { ?>
          <span class="fa fa-stack"><i class="fa fa-star-o fa-stack-2x"></i></span>
          <?php } else { ?>
          <span class="fa fa-stack"><i class="fa fa-star fa-stack-2x"></i><i class="fa fa-star-o fa-stack-2x"></i></span>
          <?php } ?>
          <?php } ?>
        </div>
        <?php } ?>
        <?php if ($product['price']) { ?>
        <p class="price">
          <?php if (!$product['special']) { ?>
          <?php echo $product['price']; ?>
          <?php } else { ?>
          <span class="price-new"><?php echo $product['special']; ?></span> <span class="price-old"><?php echo $product['price']; ?></span>
          <?php } ?>
          <?php if ($product['tax']) { ?>
          <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
          <?php } ?>
        </p>
        <?php } ?>
      </div>

    </div>
  </div>
  <?php } ?>
</div>

Similarly, in the admin section, we have three files for the module

  1. admin/controller/module/futureproducts.php
  2. admin/language/english/module/futureproducts.php
  3. admin/view/template/module/futureproducts.tpl

Codes of “Future Products” modules of the admin layer’s  controller file:

Go to admin/controller/module/futureproducts.php

<?php
class ControllerModuleFutureProducts extends Controller {
   private $error = array();
   public function index() {
      $this->load->language('module/futureproducts');
      $this->document->setTitle($this->language->get('heading_title'));
      $this->load->model('extension/module');
      if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
         if (!isset($this->request->get['module_id'])) {
            $this->model_extension_module->addModule('futureproducts', $this->request->post);
         } else {
            $this->model_extension_module->editModule($this->request->get['module_id'], $this->request->post);
         }
         $this->cache->delete('product');
         $this->session->data['success'] = $this->language->get('text_success');
         $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
      }
      $data['heading_title'] = $this->language->get('heading_title');
      $data['text_edit'] = $this->language->get('text_edit');
      $data['text_enabled'] = $this->language->get('text_enabled');
      $data['text_disabled'] = $this->language->get('text_disabled');
      $data['entry_name'] = $this->language->get('entry_name');
      $data['entry_limit'] = $this->language->get('entry_limit');
      $data['entry_width'] = $this->language->get('entry_width');
      $data['entry_height'] = $this->language->get('entry_height');
      $data['entry_status'] = $this->language->get('entry_status');
      $data['button_save'] = $this->language->get('button_save');
      $data['button_cancel'] = $this->language->get('button_cancel');
      if (isset($this->error['warning'])) {
         $data['error_warning'] = $this->error['warning'];
      } else {
         $data['error_warning'] = '';
      }
      if (isset($this->error['name'])) {
         $data['error_name'] = $this->error['name'];
      } else {
         $data['error_name'] = '';
      }
      if (isset($this->error['width'])) {
         $data['error_width'] = $this->error['width'];
      } else {
         $data['error_width'] = '';
      }
      if (isset($this->error['height'])) {
         $data['error_height'] = $this->error['height'];
      } else {
         $data['error_height'] = '';
      }
      $data['breadcrumbs'] = array();
      $data['breadcrumbs'][] = array(
         'text' => $this->language->get('text_home'),
         'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], 'SSL')
      );
      $data['breadcrumbs'][] = array(
         'text' => $this->language->get('text_module'),
         'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')
      );
      if (!isset($this->request->get['module_id'])) {
         $data['breadcrumbs'][] = array(
            'text' => $this->language->get('heading_title'),
            'href' => $this->url->link('module/futureproducts', 'token=' . $this->session->data['token'], 'SSL')
         );
      } else {
         $data['breadcrumbs'][] = array(
            'text' => $this->language->get('heading_title'),
            'href' => $this->url->link('module/futureproducts', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], 'SSL')
         );
      }
      if (!isset($this->request->get['module_id'])) {
         $data['action'] = $this->url->link('module/futureproducts', 'token=' . $this->session->data['token'], 'SSL');
      } else {
         $data['action'] = $this->url->link('module/futureproducts', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], 'SSL');
      }
      $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL');
      if (isset($this->request->get['module_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) {
         $module_info = $this->model_extension_module->getModule($this->request->get['module_id']);
      }
      if (isset($this->request->post['name'])) {
         $data['name'] = $this->request->post['name'];
      } elseif (!empty($module_info)) {
         $data['name'] = $module_info['name'];
      } else {
         $data['name'] = '';
      }
      if (isset($this->request->post['limit'])) {
         $data['limit'] = $this->request->post['limit'];
      } elseif (!empty($module_info)) {
         $data['limit'] = $module_info['limit'];
      } else {
         $data['limit'] = 5;
      }
      if (isset($this->request->post['width'])) {
         $data['width'] = $this->request->post['width'];
      } elseif (!empty($module_info)) {
         $data['width'] = $module_info['width'];
      } else {
         $data['width'] = 200;
      }
      if (isset($this->request->post['height'])) {
         $data['height'] = $this->request->post['height'];
      } elseif (!empty($module_info)) {
         $data['height'] = $module_info['height'];
      } else {
         $data['height'] = 200;
      }
      if (isset($this->request->post['status'])) {
         $data['status'] = $this->request->post['status'];
      } elseif (!empty($module_info)) {
         $data['status'] = $module_info['status'];
      } else {
         $data['status'] = '';
      }
      $data['header'] = $this->load->controller('common/header');
      $data['column_left'] = $this->load->controller('common/column_left');
      $data['footer'] = $this->load->controller('common/footer');
      $this->response->setOutput($this->load->view('module/futureproducts.tpl', $data));
   }
   protected function validate() {
      if (!$this->user->hasPermission('modify', 'module/futureproducts')) {
         $this->error['warning'] = $this->language->get('error_permission');
      }
      if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 64)) {
         $this->error['name'] = $this->language->get('error_name');
      }
      if (!$this->request->post['width']) {
         $this->error['width'] = $this->language->get('error_width');
      }
      if (!$this->request->post['height']) {
         $this->error['height'] = $this->language->get('error_height');
      }
      return !$this->error;
   }
}

Codes of “Future Products” modules of the admin layer’s language file:

Go to admin/language/english/module/futureproducts.php

<?php
// Heading
$_['heading_title']    = 'Future Products';
// Text
$_['text_module']      = 'Modules';
$_['text_success']     = 'Success: You have modified Future Products module!';
$_['text_edit']        = 'Edit Future Products Module';
// Entry
$_['entry_name']       = 'Module Name';
$_['entry_limit']      = 'Limit';
$_['entry_image']      = 'Image (W x H) and Resize Type';
$_['entry_width']      = 'Width';
$_['entry_height']     = 'Height';
$_['entry_status']     = 'Status';
// Error
$_['error_permission'] = 'Warning: You do not have permission to modify Future Products module!';
$_['error_name']       = 'Module Name must be between 3 and 64 characters!';
$_['error_width']      = 'Width required!';
$_['error_height']     = 'Height required!';

Codes of “Account Login” modules of the admin layer’s template file:

Go to admin/view/module/futureproducts.tpl

<?php echo $header; ?><?php echo $column_left; ?>
<div id="content">
  <div class="page-header">
    <div class="container-fluid">
      <div class="pull-right">
        <button type="submit" form="form-bestseller" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button>
        <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div>
      <h1><?php echo $heading_title; ?></h1>
      <ul class="breadcrumb">
        <?php foreach ($breadcrumbs as $breadcrumb) { ?>
        <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
        <?php } ?>
      </ul>
    </div>
  </div>
  <div class="container-fluid">
    <?php if ($error_warning) { ?>
    <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?>
      <button type="button" class="close" data-dismiss="alert">&times;</button>
    </div>
    <?php } ?>
    <div class="panel panel-default">
      <div class="panel-heading">
        <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3>
      </div>
      <div class="panel-body">
        <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-bestseller" class="form-horizontal">
          <div class="form-group">
            <label class="col-sm-2 control-label" for="input-name"><?php echo $entry_name; ?></label>
            <div class="col-sm-10">
              <input type="text" name="name" value="<?php echo $name; ?>" placeholder="<?php echo $entry_name; ?>" id="input-name" class="form-control" />
              <?php if ($error_name) { ?>
              <div class="text-danger"><?php echo $error_name; ?></div>
              <?php } ?>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-2 control-label" for="input-limit"><?php echo $entry_limit; ?></label>
            <div class="col-sm-10">
              <input type="text" name="limit" value="<?php echo $limit; ?>" placeholder="<?php echo $entry_limit; ?>" id="input-limit" class="form-control" />
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-2 control-label" for="input-width"><?php echo $entry_width; ?></label>
            <div class="col-sm-10">
              <input type="text" name="width" value="<?php echo $width; ?>" placeholder="<?php echo $entry_width; ?>" id="input-width" class="form-control" />
              <?php if ($error_width) { ?>
              <div class="text-danger"><?php echo $error_width; ?></div>
              <?php } ?>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-2 control-label" for="input-height"><?php echo $entry_height; ?></label>
            <div class="col-sm-10">
              <input type="text" name="height" value="<?php echo $height; ?>" placeholder="<?php echo $entry_height; ?>" id="input-height" class="form-control" />
              <?php if ($error_height) { ?>
              <div class="text-danger"><?php echo $error_height; ?></div>
              <?php } ?>
            </div>
          </div>
          <div class="form-group">
            <label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label>
            <div class="col-sm-10">
              <select name="status" id="input-status" class="form-control">
                <?php if ($status) { ?>
                <option value="1" selected="selected"><?php echo $text_enabled; ?></option>
                <option value="0"><?php echo $text_disabled; ?></option>
                <?php } else { ?>
                <option value="1"><?php echo $text_enabled; ?></option>
                <option value="0" selected="selected"><?php echo $text_disabled; ?></option>
                <?php } ?>
              </select>
            </div>
          </div>
        </form>
      </div>
    </div>
  </div>
</div>
<?php echo $footer; ?>

Please let us know if you have any questions or concerns. Please don’t forget to post your questions or comments so that we can add extra topics and Opencart free module. You can follow us at our twitter account @rupaknpl and subscribe to our YouTube channel for opencart tutorials.

Drupal Select Node by EntityFieldQuery by translate language

0

While working as drupal developer in multi language Drupal 7 site you may find EntityFieldQuery class which allows finding entities based on entity properties and keep on getting confused with the propertyCondition and entityCondition for language translation.

Below example of entity field query helps me to find node main language specific featured blog post and

  global $language;
  $query = new EntityFieldQuery;
  $query->entityCondition('entity_type', 'node')
      ->entityCondition('bundle', $bundletype)
      ->propertyCondition('status', NODE_PUBLISHED) // in case you need it
      ->propertyCondition('language', $language->language)
      ->fieldCondition('field_featured_blog', 'value', '1', "=")
      ->propertyOrderBy('changed', 'DESC')
      ->range(0,1);
  $query->execute();

Below will find data as per the translated entity based language featured blog.

  global $language;
  $query = new EntityFieldQuery;
  $query->entityCondition('entity_type', 'node')
      ->entityCondition('bundle', $bundletype)
      ->propertyCondition('status', NODE_PUBLISHED)
      ->entityCondition('language', $language->language)
      ->fieldCondition('field_featured_blog','value', '1', "=")
      ->propertyOrderBy('created', 'DESC');
  $query->execute();

Drupal EntityFieldQuery by language

When you do print_r($query), then you will get following:

EntityFieldQuery Object
(
    [altered] => 1
    [entityConditions] => Array
        (
            [entity_type] => Array
                (
                    [value] => node
                    [operator] => =
                )

            [bundle] => Array
                (
                    [value] =>
                    [operator] => 
                )

            [language] => Array
                (
                    [value] => en
                    [operator] => =
                )

        )

    [fieldConditions] => Array
        (
            [0] => Array
                (
                    [field] => Array
                        (
                            [translatable] => 1
                            [entity_types] => Array
                                (
                                )

                            [settings] => Array
                                (
                                    [allowed_values] => Array
                                        (
                                            [0] => 
                                            [1] => 
                                        )

                                    [allowed_values_function] => 
                                    [entity_translation_sync] => 
                                )

                            [storage] => Array
                                (
                                    [type] => field_sql_storage
                                    [settings] => Array
                                        (
                                        )

                                    [module] => field_sql_storage
                                    [active] => 1
                                    [details] => Array
                                        (
                                            [sql] => Array
                                                (
                                                    [FIELD_LOAD_CURRENT] => Array
                                                        (
                                                            [field_data_field_featured_blog] => Array
                                                                (
                                                                    [value] => field_featured_blog_value
                                                                )

                                                        )

                                                    [FIELD_LOAD_REVISION] => Array
                                                        (
                                                            [field_revision_field_featured_blog] => Array
                                                                (
                                                                    [value] => field_featured_blog_value
                                                                )

                                                        )

                                                )

                                        )

                                )

                            [foreign keys] => Array
                                (
                                )

                            [indexes] => Array
                                (
                                    [value] => Array
                                        (
                                            [0] => value
                                        )

                                )

                            [id] => 260
                            [field_name] => field_featured_blog
                            [type] => list_boolean
                            [module] => list
                            [active] => 1
                            [locked] => 0
                            [cardinality] => 1
                            [deleted] => 0
                            [columns] => Array
                                (
                                    [value] => Array
                                        (
                                            [type] => int
                                            [not null] => 
                                        )

                                )

                            [bundles] => Array
                                (
                                    [node] => Array
                                        (
                                            [0] => 
                                            [1] => 
                                        )

                                )

                        )

                    [column] => value
                    [value] => 1
                    [operator] => =
                    [delta_group] => 
                    [language_group] => 
                )

        )

    [fieldMetaConditions] => Array
        (
        )

    [propertyConditions] => Array
        (
            [0] => Array
                (
                    [column] =>
                    [value] => 1
                    [operator] => 
                )

        )

    [order] => Array
        (
            [0] => Array
                (
                    [type] => property
                    [specifier] =>
                    [direction] => DESC
                )

        )

    [range] => Array
        (
        )

    [pager] => Array
        (
        )

    [deleted] => 
    [fields] => Array
        (
            [0] => Array
                (
                    [translatable] => 1
                    [entity_types] => Array
                        (
                        )

                    [settings] => Array
                        (
                            [allowed_values] => Array
                                (
                                    [0] => 
                                    [1] => 
                                )

                            [allowed_values_function] => 
                            [entity_translation_sync] => 
                        )

                    [storage] => Array
                        (
                            [type] => field_sql_storage
                            [settings] => Array
                                (
                                )

                            [module] => field_sql_storage
                            [active] => 1
                            [details] => Array
                                (
                                    [sql] => Array
                                        (
                                            [FIELD_LOAD_CURRENT] => Array
                                                (
                                                    [field_data_field_featured_blog] => Array
                                                        (
                                                            [value] => field_featured_blog_value
                                                        )

                                                )

                                            [FIELD_LOAD_REVISION] => Array
                                                (
                                                    [field_revision_field_featured_blog] => Array
                                                        (
                                                            [value] => field_featured_blog_value
                                                        )

                                                )

                                        )

                                )

                        )

                    [foreign keys] => Array
                        (
                        )

                    [indexes] => Array
                        (
                            [value] => Array
                                (
                                    [0] => value
                                )

                        )

                    [id] => 260
                    [field_name] => field_featured_blog
                    [type] => list_boolean
                    [module] => list
                    [active] => 1
                    [locked] => 0
                    [cardinality] => 1
                    [deleted] => 0
                    [columns] => Array
                        (
                            [value] => Array
                                (
                                    [type] => int
                                    [not null] => 
                                )

                        )

                    [bundles] => Array
                        (
                            [node] => Array
                                (
                                    [0] =>
                                    [1] =>
                                )

                        )

                )

        )

    [count] => 
    [age] => FIELD_LOAD_CURRENT
    [tags] => Array
        (
        )

    [metaData] => Array
        (
        )

    [orderedResults] => Array
        (
        )

    [executeCallback] => 
)

Full details of EntityFieldQuery at:
https://api.drupal.org/api/drupal/includes%21entity.inc/class/EntityFieldQuery/7.x

The function defaults to either = or IN depending on the value param as an array or string.
https://api.drupal.org/api/drupal/includes%21entity.inc/function/EntityFieldQuery%3A%3ApropertyCondition/7.x

 

 

Convert node id to full redirect url in drupal

Convert node id to full redirect url in drupal

$link=url(drupal_get_path_alias('node/nodeid', array('absolute' => TRUE));
echo $link;

In above code node/nodeid need to be something like node/1 or so.

Line Delimited JSON (LDJ) protocol

0

The protocol that use newlines to separate messages, we’ll call this protocol Line Delimited JSON (LDJ). There are no line breaks in JSON messages. Although JSON is whitespace agnostic it ignores whitespace outside of string value.

Serializing Messages with JSON

Let’s develop the message-passing protocol that uses JSON to serialize messages. Each message is a JSON-serialized object, which is a hash of key-value pairs. Here’s an example JSON object with two key-value pairs:

{"key":"value","anotherKey":"anotherValue"}

The net-watcher service we’ve been developing in this chapter sends two kinds of messages that we need to convert to JSON:
When the connection is first established, the client receives the string
Now watching target.txt for changes…
Whenever the target file changes, the client receives a string like this: File “target.txt” changed: Sat Jan 12, 2013, 12:35:52 GMT-0500 (EST)
We’ll encode the first kind of message this way:

{"type":"watching","file":"target.txt"}

The type field indicates that this is a watching message the specified file is now being watched.
The second type of message is encoded this way:

{"type":"changed","file":"target.txt","timestamp":1358175733785}

Here the type field announces that the target file has changed. The timestamp field contains an integer value representing the number of milliseconds since midnight, January 1, 1970. This happens to be an easy time format to work within JavaScript. For example, you can get the current time in this format with Date.now().

To relieve the client program from the danger of split JSON messages, we’ll implement Line Delimited JSON (LDJ) buffering client module. Then we’ll incorporate it into the network-watcher client.

First, let’s have a look at how the Node does inheritance. The following code sets up LDJClientto inherit from EventEmitter.

const
    events=require('events'),
    util=require('util'),
    //clientconstructor
    LDJClient=function(stream){
        events.EventEmitter.call(this);
    };
util.inherits(LDJClient,events.EventEmitter);

LDJClient is a constructor function, which means other code should call new LDJClient(stream) to get an instance. The stream parameter is an object that emits data events, such as a Socket connection. Inside the constructor function, we call the EventEmitter constructor on this. That line of code is roughly equivalent to calling super() in languages with classical inheritance.

Finally, we call util.inherits() to make LDJClient’s prototypal parent object the EventEmitterprototype. If this sounds cryptic to you, don’t worry. It’s like saying classLDJClientinherits from EventEmitter in languages with a classical inheritance model. It means that if you look for a property on an LDJClientand it’s not there, the EventEmitteris the next place to look

Exporting Functionality in a Module
Let’s pull together the previous code samples and expose LDJClientas a module. Open a text editor and insert the following: /ldj.js

"usestrict";
const
    events=require('events'),
    util=require('util'),
//clientconstructor
    LDJClient=function(stream){
        events.EventEmitter.call(this);
        let
            self=this,
            buffer='';
        stream.on('data',function(data){
            buffer+=data;
            letboundary=buffer.indexOf('\n');
            while(boundary!==-1){
                letinput=buffer.substr(0,boundary);
                buffer=buffer.substr(boundary+1);
                self.emit('message',JSON.parse(input));
                boundary=buffer.indexOf('\n');
            }
        });
    };
report erratum •discuss
Extending Core Classes in Custom Modules • 37
www.it-ebooks.info
util.inherits(LDJClient,events.EventEmitter);
//exposemodulemethods
exports.LDJClient=LDJClient;
exports.connect=function(stream){
    returnnewLDJClient(stream);
};

To create an LDJClientinstance.
Code to use the LDJ module will look something like this:

const
    ldj=require('./ldj.js'),
    client=ldj.connect(networkStream);
client.on('message',function(message){
    //takeactionforthismessage
});