<?php
/*
 * Copyright (c) 2013, webvariants GbR, http://www.webvariants.de
 *
 * This file is released under the terms of the MIT license. You can find the
 * complete text in the attached LICENSE file or online at:
 *
 * http://www.opensource.org/licenses/mit-license.php
 */

class _WV2_Extensions_Language extends _WV2_Extensions_Base {
	/**
	 * Handler für CLANG_ADDED
	 *
	 * Dupliziert alle Metadaten der Hauptsprache.
	 *
	 * @param array $params  die von Sally übergebenen Parameter
	 */
	public static function onLanguageAdded(array $params) {
		$langs = array_keys(sly_Util_Language::findAll());

		// do nothing if the first language was added
		if (count($langs) === 1) return;

		$defaultLang = sly_Core::getDefaultClangId();
		if (!in_array($defaultLang, $langs)) $defaultLang = reset($langs);

		$service = new _WV2_Service_Metadata();
		$service->copy(array('clang' => $defaultLang), array('clang' => $params['id']), null);

		WV2_Metainfo::clearDataCache();
	}

	/**
	 * Handler für CLANG_DELETED
	 *
	 * Löscht alle Metadaten für alle Objekte in der gelöschten Sprache.
	 *
	 * @param array $params  die von Sally übergebenen Parameter
	 */
	public static function onLanguageDeleted(array $params) {
		$service = new _WV2_Service_Metadata();
		$service->deleteClang($params['id']);

		WV2_Metainfo::clearDataCache();
	}
}
