/** * Like getModelTypes () except that only types of models which support workflow are * returned * @param boolean $assoc * @return array */ public static function getModelTypesWhichSupportWorkflow($assoc = false, $associationTypes = false) { $modelTypes = self::getModelTypes($assoc); $tmp = $assoc ? array_flip($modelTypes) : $modelTypes; $tmp = array_filter($tmp, function ($a) use($assoc) { return X2Model::Model($a)->supportsWorkflow; }); $tmp = $assoc ? array_flip($tmp) : $tmp; $tmp = array_intersect($modelTypes, $tmp); if ($associationTypes) { $arr = array(); foreach ($tmp as $k => $v) { if ($assoc) { $arr[X2Model::getAssociationType($k)] = $v; } else { $arr[] = X2Model::getAssociationType($v); } } $tmp = $arr; } return $tmp; }
/** * Like getModelTypes () except that only types of models which support workflow are * returned * @param boolean $assoc * @return array */ public static function getModelTypesWhichSupportWorkflow($assoc = false) { $modelTypes = self::getModelTypes($assoc); $tmp = $assoc ? array_flip($modelTypes) : $modelTypes; $tmp = array_filter($tmp, function ($a) use($assoc) { return X2Model::Model($a)->supportsWorkflow; }); $tmp = $assoc ? array_flip($tmp) : $tmp; return array_intersect($modelTypes, $tmp); }