public function getDependenciesOf($strSidebarID, $arrHierarchyBase = null) { // since 1.1.7.2 // Similar to the above GetDependencies() method but this one only checks the dependencies of the given sidebar. // This is used by the core class before it renders the widget box output in case a dependency conflict is happening. // Generate the base hierarchy array from the widget options. if (is_null($arrHierarchyBase)) { $oWO = new ResponsiveColumnWidgets_WidgetOptions(); $arrHierarchyBase = $oWO->GetHierarchyBase(); unset($oWO); // for PHP below 5.3 } $arrDependencies = $this->GetFlatternChildWidgetBoxes($strSidebarID, $arrHierarchyBase); if (is_null($arrDependencies)) { // If null, a dependency conflict occurred. So add the parsing sidebar ID to the parent sidebar. $arrDependencies = array($strSidebarID); } return $arrDependencies; }
/** * Check sidebar dependency conflicts. * * @since 1.1.7.3 */ protected function isDependencyConflict($strSidebarID) { if (!isset($this->arrSidebarHierarchies)) { // 1.1.7.3+ Store the sidebar hierarchy array in a property. $oWO = new ResponsiveColumnWidgets_WidgetOptions(); $this->arrSidebarHierarchies = $oWO->GetHierarchyBase(); unset($oWO); // for PHP below 5.3 } $oSH = new ResponsiveColumnWidgets_SidebarHierarchy(); $arrDependencies = $oSH->getDependenciesOf($strSidebarID, $this->arrSidebarHierarchies); unset($oSH); // for PHP below 5.3. if (isset($this->arrSidebarHierarchies['']) || in_array($strSidebarID, $arrDependencies)) { return true; } return false; }