original_string: public function getActionReferenceColumnsByTable()
      {
          $result = array(
              'log_link_visit_action' => array('idaction_url',
                  'idaction_url_ref',
                  'idaction_name_ref'
              ),
  
              'log_conversion'        => array('idaction_url'),
  
              'log_visit'             => array('visit_exit_idaction_url',
                  'visit_exit_idaction_name',
                  'visit_entry_idaction_url',
                  'visit_entry_idaction_name'),
  
              'log_conversion_item'   => array('idaction_sku',
                  'idaction_name',
                  'idaction_category',
                  'idaction_category2',
                  'idaction_category3',
                  'idaction_category4',
                  'idaction_category5')
          );
  
          $dimensionIdActionColumns = $this->getVisitActionTableActionReferences();
          $result['log_link_visit_action'] = array_unique(
              array_merge($result['log_link_visit_action'], $dimensionIdActionColumns));
  
          foreach ($this->actionReferenceColumnsOverride as $table => $columns) {
              if (empty($result[$table])) {
                  $result[$table] = $columns;
              } else {
                  $result[$table] = array_unique(array_merge($result[$table], $columns));
              }
          }
  
          /**
           * Triggered when detecting which log_action entries to keep. Any log tables that use the log_action
           * table to reference text via an ID should add their table info so no actions that are still in use
           * will be accidentally deleted.
           *
           * **Example**
           *
           *     Piwik::addAction('Db.getActionReferenceColumnsByTable', function(&$result) {
           *         $tableNameUnprefixed = 'log_example';
           *         $columnNameThatReferencesIdActionInLogActionTable = 'idaction_example';
           *         $result[$tableNameUnprefixed] = array($columnNameThatReferencesIdActionInLogActionTable);
           *     });
           * @param array $result
           */
          Piwik::postEvent('Db.getActionReferenceColumnsByTable', array(&$result));
  
          return $result;
      }
code: public function getActionReferenceColumnsByTable()
      {
          $result = array(
              'log_link_visit_action' => array('idaction_url',
                  'idaction_url_ref',
                  'idaction_name_ref'
              ),
  
              'log_conversion'        => array('idaction_url'),
  
              'log_visit'             => array('visit_exit_idaction_url',
                  'visit_exit_idaction_name',
                  'visit_entry_idaction_url',
                  'visit_entry_idaction_name'),
  
              'log_conversion_item'   => array('idaction_sku',
                  'idaction_name',
                  'idaction_category',
                  'idaction_category2',
                  'idaction_category3',
                  'idaction_category4',
                  'idaction_category5')
          );
  
          $dimensionIdActionColumns = $this->getVisitActionTableActionReferences();
          $result['log_link_visit_action'] = array_unique(
              array_merge($result['log_link_visit_action'], $dimensionIdActionColumns));
  
          foreach ($this->actionReferenceColumnsOverride as $table => $columns) {
              if (empty($result[$table])) {
                  $result[$table] = $columns;
              } else {
                  $result[$table] = array_unique(array_merge($result[$table], $columns));
              }
          }
  
          /**
           * Triggered when detecting which log_action entries to keep. Any log tables that use the log_action
           * table to reference text via an ID should add their table info so no actions that are still in use
           * will be accidentally deleted.
           *
           * **Example**
           *
           *     Piwik::addAction('Db.getActionReferenceColumnsByTable', function(&$result) {
           *         $tableNameUnprefixed = 'log_example';
           *         $columnNameThatReferencesIdActionInLogActionTable = 'idaction_example';
           *         $result[$tableNameUnprefixed] = array($columnNameThatReferencesIdActionInLogActionTable);
           *     });
           * @param array $result
           */
          Piwik::postEvent('Db.getActionReferenceColumnsByTable', array(&$result));
  
          return $result;
      }
code_tokens: public function getActionReferenceColumnsByTable ( ) { $ result = array ( 'log_link_visit_action' => array ( 'idaction_url' , 'idaction_url_ref' , 'idaction_name_ref' ) , 'log_conversion' => array ( 'idaction_url' ) , 'log_visit' => array ( 'visit_exit_idaction_url' , 'visit_exit_idaction_name' , 'visit_entry_idaction_url' , 'visit_entry_idaction_name' ) , 'log_conversion_item' => array ( 'idaction_sku' , 'idaction_name' , 'idaction_category' , 'idaction_category2' , 'idaction_category3' , 'idaction_category4' , 'idaction_category5' ) ) ; $ dimensionIdActionColumns = $ this -> getVisitActionTableActionReferences ( ) ; $ result [ 'log_link_visit_action' ] = array_unique ( array_merge ( $ result [ 'log_link_visit_action' ] , $ dimensionIdActionColumns ) ) ; foreach ( $ this -> actionReferenceColumnsOverride as $ table => $ columns ) { if ( empty ( $ result [ $ table ] ) ) { $ result [ $ table ] = $ columns ; } else { $ result [ $ table ] = array_unique ( array_merge ( $ result [ $ table ] , $ columns ) ) ; } } /**
           * Triggered when detecting which log_action entries to keep. Any log tables that use the log_action
           * table to reference text via an ID should add their table info so no actions that are still in use
           * will be accidentally deleted.
           *
           * **Example**
           *
           *     Piwik::addAction('Db.getActionReferenceColumnsByTable', function(&$result) {
           *         $tableNameUnprefixed = 'log_example';
           *         $columnNameThatReferencesIdActionInLogActionTable = 'idaction_example';
           *         $result[$tableNameUnprefixed] = array($columnNameThatReferencesIdActionInLogActionTable);
           *     });
           * @param array $result
           */ Piwik :: postEvent ( 'Db.getActionReferenceColumnsByTable' , array ( & $ result ) ) ; return $ result ; }
docstring: Returns a list of idaction column names organized by table name. Uses dimension metadata
  to find idaction columns dynamically.
  
  Note: It is not currently possible to use the Piwik platform to add idaction columns to tables
  other than log_link_visit_action (w/o doing something unsupported), so idaction columns in
  other tables are hard coded.
  
  @return array[]
docstring_tokens: Returns a list of idaction column names organized by table name . Uses dimension metadata to find idaction columns dynamically .