___getTemplatesStatusToggled( $aTemplateIDs, true, $bForce ); } /** * @param array an array holding template IDs or template option arrays. */ public function replyToDeactivateTemplates( array $aTemplateIDs, $bForce ) { $this->___getTemplatesStatusToggled( $aTemplateIDs, false, $bForce ); } /** * @param array $aTemplateIDs * @param boolean $bActivate true for activation; false for deactivation */ private function ___getTemplatesStatusToggled( array $aTemplateIDs, $bActivate, $bForce ) { $_oTemplateOption = AmazonAutoLinks_TemplateOption::getInstance(); $_aTemplates = $this->getAsArray( $_oTemplateOption->get() ); foreach( $aTemplateIDs as $_sID ) { $_aTemplates = $this->___getTemplateStatusToggled( $_sID, $_aTemplates, $bActivate, $bForce ); } $_oTemplateOption->aOptions = $_aTemplates; $_oTemplateOption->save(); } private function ___getTemplateStatusToggled( $sID, array $aTemplates, $bActivate, $bForce ) { if ( isset( $aTemplates[ $sID ] ) ) { if ( $bForce ) { $aTemplates[ $sID ] = array( 'is_active' => $bActivate, ) + $this->getElementAsArray( $aTemplates, $sID ); } return $aTemplates; } // At this point, an unstored template is given. // The id may be a relative path of the template directory $_sDirPath = $this->getAbsolutePathFromRelative( $sID ); if ( ! file_exists( $_sDirPath ) ) { return $aTemplats; } $_oTemplateOption = AmazonAutoLinks_TemplateOption::getInstance(); $_aTemplate = $_oTemplateOption->getTemplateArrayByDirPath( $_sDirPath ); $aTemplates[ $sID ] = array( 'is_active' => $bActivate, ) + $_aTemplate; return $aTemplates; } }