Craft\AmNavService::saveNavigation PHP Method

saveNavigation() public method

Saves a navigation.
public saveNavigation ( craft\AmNav_NavigationModel $navigation ) : boolean
$navigation craft\AmNav_NavigationModel
return boolean
    public function saveNavigation(AmNav_NavigationModel $navigation)
    {
        // Navigation data
        if ($navigation->id) {
            $navigationRecord = AmNav_NavigationRecord::model()->findById($navigation->id);
            if (!$navigationRecord) {
                throw new Exception(Craft::t('No navigation exists with the ID “{id}”.', array('id' => $navigation->id)));
            }
        } else {
            $navigationRecord = new AmNav_NavigationRecord();
        }
        // Set attributes
        $navigationRecord->setAttributes($navigation->getAttributes());
        $navigationRecord->setAttribute('settings', json_encode($navigation->settings));
        // Validate
        $navigationRecord->validate();
        $navigation->addErrors($navigationRecord->getErrors());
        // Save navigation
        if (!$navigation->hasErrors()) {
            // Save in database
            return $navigationRecord->save();
        }
        return false;
    }