Drush: Drush\Config\CoreExtensionFilter Class Reference

Inheritance diagram for Drush\Config\CoreExtensionFilter:
Collaboration diagram for Drush\Config\CoreExtensionFilter:

Public Member Functions

 __construct ($adjustments=array())
 filterRead ($name, $data)
 filterWrite ($name, array $data, StorageInterface $storage)

Protected Member Functions

 filterOutIgnored ($data, $originalData)

Protected Attributes

 $adjustments

Detailed Description

This filter adjusts the data going to and coming from the core.extension configuration object.

Modules named in this list are ignored during config-import and config-export operations. What this means in practical terms is:

  • During a 'read' operation, if a named module is enabled in the active configuration, then it will remain enabled after the import. If it is disabled in the active configuration, then it will remain disabled. The value from the data being imported is ignored.
  • During a 'write' operation, if a named module is enabled in the configuration already written out on the target storage object, then it will remain enabled. If it is disabled in the previously-exported data, then it will remain disabled. If there is no existing export (first-time export), then all of the named modules will be excluded (disabled) from the export. The current enabled / disabled state of the module in the active configuration is ignored.

The data from core.extension looks like this:

module: modulename: weight theme: themename: weight

The "adjustments" lists is just an array where the values are the module names to exclude from import / export, as described above.

Definition at line 45 of file CoreExtensionFilter.php.

Member Function Documentation

Drush\Config\CoreExtensionFilter::filterRead (   $name,
  $data 
)

Filters configuration data after it is read from storage.

Parameters
string$nameThe name of a configuration object to load.
array$dataThe configuration data to filter.
Returns
array $data The filtered data.

Implements Drush\Config\StorageFilter.

Definition at line 53 of file CoreExtensionFilter.php.

References Drush\service().

Here is the call graph for this function:

Drush\Config\CoreExtensionFilter::filterWrite (   $name,
array  $data,
StorageInterface  $storage 
)

Filter configuration data before it is written to storage.

Parameters
string$nameThe name of a configuration object to save.
array$dataThe configuration data to filter.
StorageInterfaceThe storage object that the filtered data will be written to. Provided in case the filter needs to read the existing configuration before writing it.
Returns
array $data The filtered data.

Implements Drush\Config\StorageFilter.

Definition at line 61 of file CoreExtensionFilter.php.


The documentation for this class was generated from the following file:

File

doxygen/html/classDrush_1_1Config_1_1CoreExtensionFilter.html
View source
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Drush: Drush\Config\CoreExtensionFilter Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Drush
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.2 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>Drush</b></li><li class="navelem"><b>Config</b></li><li class="navelem"><a class="el" href="classDrush_1_1Config_1_1CoreExtensionFilter.html">CoreExtensionFilter</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classDrush_1_1Config_1_1CoreExtensionFilter-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Drush\Config\CoreExtensionFilter Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for Drush\Config\CoreExtensionFilter:</div>
<div class="dyncontent">
<div class="center"><img src="classDrush_1_1Config_1_1CoreExtensionFilter__inherit__graph.png" border="0" usemap="#Drush_0CConfig_0CCoreExtensionFilter_inherit__map" alt="Inheritance graph"/></div>
<map name="Drush_0CConfig_0CCoreExtensionFilter_inherit__map" id="Drush_0CConfig_0CCoreExtensionFilter_inherit__map">
<area shape="rect" id="node2" href="interfaceDrush_1_1Config_1_1StorageFilter.html" title="Drush\\Config\\StorageFilter" alt="" coords="12,5,188,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for Drush\Config\CoreExtensionFilter:</div>
<div class="dyncontent">
<div class="center"><img src="classDrush_1_1Config_1_1CoreExtensionFilter__coll__graph.png" border="0" usemap="#Drush_0CConfig_0CCoreExtensionFilter_coll__map" alt="Collaboration graph"/></div>
<map name="Drush_0CConfig_0CCoreExtensionFilter_coll__map" id="Drush_0CConfig_0CCoreExtensionFilter_coll__map">
<area shape="rect" id="node2" href="interfaceDrush_1_1Config_1_1StorageFilter.html" title="Drush\\Config\\StorageFilter" alt="" coords="12,5,188,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afa843054847ac98d1e926e3b8a322455"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa843054847ac98d1e926e3b8a322455"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>__construct</b> ($adjustments=array())</td></tr>
<tr class="memitem:a7941d4860eb3807c85a83d1139615875"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDrush_1_1Config_1_1CoreExtensionFilter.html#a7941d4860eb3807c85a83d1139615875">filterRead</a> ($name, $data)</td></tr>
<tr class="memitem:a0a35fc17f2675a1a900a4ce43b84a53e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDrush_1_1Config_1_1CoreExtensionFilter.html#a0a35fc17f2675a1a900a4ce43b84a53e">filterWrite</a> ($name, array $data, StorageInterface $storage)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a932e8d9e3c8b38b57dfba890fae5d2dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a932e8d9e3c8b38b57dfba890fae5d2dd"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>filterOutIgnored</b> ($data, $originalData)</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a6e9a220990ffa6e204c2372c4089b31f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6e9a220990ffa6e204c2372c4089b31f"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>$adjustments</b></td></tr>
</table>
<a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>This filter adjusts the data going to and coming from the core.extension configuration object.</p>
<p>Modules named in this list are ignored during config-import and config-export operations. What this means in practical terms is:</p>
<ul>
<li>During a 'read' operation, if a named module is enabled in the active configuration, then it will remain enabled after the import. If it is disabled in the active configuration, then it will remain disabled. The value from the data being imported is ignored.</li>
</ul>
<ul>
<li>During a 'write' operation, if a named module is enabled in the configuration already written out on the target storage object, then it will remain enabled. If it is disabled in the previously-exported data, then it will remain disabled. If there is no existing export (first-time export), then all of the named modules will be excluded (disabled) from the export. The current enabled / disabled state of the module in the active configuration is ignored.</li>
</ul>
<p>The data from core.extension looks like this:</p>
<p>module: modulename: weight theme: themename: weight</p>
<p>The "adjustments" lists is just an array where the values are the module names to exclude from import / export, as described above. </p>

<p>Definition at line <a class="el" href="CoreExtensionFilter_8php_source.html#l00045">45</a> of file <a class="el" href="CoreExtensionFilter_8php_source.html">CoreExtensionFilter.php</a>.</p>
</div><h2>Member Function Documentation</h2>
<a class="anchor" id="a7941d4860eb3807c85a83d1139615875"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Drush\Config\CoreExtensionFilter::filterRead </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Filters configuration data after it is read from storage.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">string</td><td class="paramname">$name</td><td>The name of a configuration object to load. </td></tr>
    <tr><td class="paramtype">array</td><td class="paramname">$data</td><td>The configuration data to filter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array $data The filtered data. </dd></dl>

<p>Implements <a class="el" href="interfaceDrush_1_1Config_1_1StorageFilter.html#a8261bad9a489bb220e4eb9df93818a08">Drush\Config\StorageFilter</a>.</p>

<p>Definition at line <a class="el" href="CoreExtensionFilter_8php_source.html#l00053">53</a> of file <a class="el" href="CoreExtensionFilter_8php_source.html">CoreExtensionFilter.php</a>.</p>

<p>References <a class="el" href="Drush_8php_source.html#l00160">Drush\service()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="classDrush_1_1Config_1_1CoreExtensionFilter_a7941d4860eb3807c85a83d1139615875_cgraph.png" border="0" usemap="#classDrush_1_1Config_1_1CoreExtensionFilter_a7941d4860eb3807c85a83d1139615875_cgraph" alt=""/></div>
<map name="classDrush_1_1Config_1_1CoreExtensionFilter_a7941d4860eb3807c85a83d1139615875_cgraph" id="classDrush_1_1Config_1_1CoreExtensionFilter_a7941d4860eb3807c85a83d1139615875_cgraph">
<area shape="rect" id="node3" href="classDrush.html#a83560a0aab97e348848b3615f152af54" title="Drush\\service" alt="" coords="244,13,345,43"/><area shape="rect" id="node5" href="classDrush.html#abce7035069a9f7517f908b82bdd4dae0" title="Drush\\getContainer" alt="" coords="396,13,529,43"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a0a35fc17f2675a1a900a4ce43b84a53e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Drush\Config\CoreExtensionFilter::filterWrite </td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>$name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">array&#160;</td>
          <td class="paramname"><em>$data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">StorageInterface&#160;</td>
          <td class="paramname"><em>$storage</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Filter configuration data before it is written to storage.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramtype">string</td><td class="paramname">$name</td><td>The name of a configuration object to save. </td></tr>
    <tr><td class="paramtype">array</td><td class="paramname">$data</td><td>The configuration data to filter. </td></tr>
    <tr><td class="paramtype"></td><td class="paramname">StorageInterface</td><td>The storage object that the filtered data will be written to. Provided in case the filter needs to read the existing configuration before writing it.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>array $data The filtered data. </dd></dl>

<p>Implements <a class="el" href="interfaceDrush_1_1Config_1_1StorageFilter.html#a7ea6f5b9340e22e977b5985c42867062">Drush\Config\StorageFilter</a>.</p>

<p>Definition at line <a class="el" href="CoreExtensionFilter_8php_source.html#l00061">61</a> of file <a class="el" href="CoreExtensionFilter_8php_source.html">CoreExtensionFilter.php</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>lib/Drush/Config/<a class="el" href="CoreExtensionFilter_8php_source.html">CoreExtensionFilter.php</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Nov 2 2016 07:30:14 for Drush by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.2
</small></address>
</body>
</html>