Advertisement
matthewpoer

Adding Fields to Layouts with ParserFactory

Nov 29th, 2012
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.66 KB | None | 0 0
  1. <?php
  2. function post_install(){
  3.     $GLOBALS['log']->info("Starting Post Install script for PSI_LVM module...");
  4.     psi_lvm_add_to_listview();
  5.     psi_lvm_add_to_dashlet();
  6.     $GLOBALS['log']->info("Ending Post Install script for PSI_LVM module...");
  7. }
  8.  
  9. function psi_lvm_add_to_listview(){
  10.     require_once('modules/ModuleBuilder/parsers/ParserFactory.php');
  11.  
  12.     /**
  13.      * @var ListLayoutMetaDataParser a parser for the listview metadata
  14.      */
  15.     $parser = ParserFactory::getParser('listview', 'Calls');
  16.  
  17.     /**
  18.      * @var array will contain the new array structure, largely based upon the old one
  19.      */
  20.     $_viewdefs = array();
  21.  
  22.     /**
  23.      * @var bool to see if we're on the first field or elsewhere
  24.      */
  25.     $first=true;
  26.     foreach($parser->_viewdefs as $key=>$value){
  27.         $_viewdefs[$key] = $value;
  28.         if($first){
  29.             $_viewdefs['psi_lvm_c'] = array (
  30.                 'width' => '10%',
  31.                 'label' => 'LBL_PSI_LVM',
  32.                 'default' => true,
  33.                 'sortable' => false,
  34.                 'related_fields' => array('status'),
  35.             );
  36.             $first = false;
  37.         }
  38.     }
  39.     $parser->_viewdefs = $_viewdefs;
  40.     $parser->handleSave(false);
  41. }
  42.  
  43. function psi_lvm_add_to_dashlet(){
  44.     /**
  45.      * @var ListLayoutMetaDataParser a parser for the listview metadata
  46.      */
  47.     $parser = ParserFactory::getParser('dashlet', 'Calls');
  48.     $parser->_viewdefs['psi_lvm_c'] = array(
  49.         'type' => 'PSI_Left_Voicemail',
  50.         'label' => 'LBL_PSI_LVM',
  51.         'width' => '10%',
  52.         'default' => false,
  53.         'sortable' => false,
  54.     );
  55.     $parser->handleSave(false);
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement