/** * Setup * * @param AppModel $Model * @param array $settings * @access public */ public function setup(Model $Model, $settings = array()) { if (!isset($this->settings[$Model->alias])) { $this->settings[$Model->alias] = $this->_defaults; } $this->settings[$Model->alias] = array_merge($this->settings[$Model->alias], $settings); $this->settings[$Model->alias]['withModel'] = $this->settings[$Model->alias]['taggedClass']; $Model->bindModel(array('hasAndBelongsToMany' => array('GlobalTag' => array('className' => $this->settings[$Model->alias]['tagClass'], 'foreignKey' => $this->settings[$Model->alias]['foreignKey'], 'associationForeignKey' => $this->settings[$Model->alias]['associationForeignKey'], 'unique' => true, 'conditions' => array('GlobalTagged.model' => $Model->modelName()), 'fields' => '', 'dependent' => true, 'with' => $this->settings[$Model->alias]['withModel']))), $this->settings[$Model->alias]['resetBinding']); }