Пример #1
0
 /**
  * Set the type name for the given language.  A new entry in
  * the database will be created if the language did not exist.
  *
  * @param int $p_languageId
  * @param string $p_value
  *
  * @return boolean
  */
 public function setName($p_languageId, $p_value)
 {
     global $g_ado_db;
     if (!is_numeric($p_languageId)) {
         return false;
     }
     // if the string is empty, nuke it
     if (!is_string($p_value) || $p_value == '') {
         if ($phrase_id = $this->translationExists($p_languageId)) {
             $trans = new Translation($p_languageId, $phrase_id);
             $trans->delete();
             $changed = true;
         } else {
             $changed = false;
         }
     } else {
         $description = new Translation($p_languageId, $this->getProperty('fk_phrase_id'));
         if ($description->exists()) {
             $changed = $description->setText($p_value);
         } else {
             $changed = $description->create($p_value);
             if ($changed && is_null($this->getProperty('fk_phrase_id'))) {
                 $this->setProperty('fk_phrase_id', $description->getPhraseId());
             }
         }
     }
     return $changed;
 }
Пример #2
0
 /**
  * Enter description here...
  *
  * @param int $p_phraseId
  * @param int $p_languageId
  * @param string $p_text
  */
 public static function SetPhrase($p_languageId, $p_phraseId, $p_text)
 {
     if (!is_numeric($p_languageId) || !is_numeric($p_phraseId) || !is_string($p_text)) {
         return false;
     }
     $translation = new Translation($p_languageId, $p_phraseId);
     if ($translation->exists()) {
         return $translation->setText($p_text);
     } else {
         return $translation->create($p_text);
     }
 }
Пример #3
0
	/**
	 * Set the type name for the given language.  A new entry in
	 * the database will be created if the language did not exist.
	 *
	 * @param int $p_languageId
	 * @param string $p_value
	 *
	 * @return boolean
	 */
	public function setName($p_languageId, $p_value)
	{
		global $g_ado_db;
		if (!is_numeric($p_languageId)) {
			return false;
		}
		// if the string is empty, nuke it
		if (!is_string($p_value) || $p_value == '') {
			if ($phrase_id = $this->translationExists($p_languageId)) {
			    $trans = new Translation($p_languageId, $phrase_id);
			    $trans->delete();
				$changed = true;
			} else {
			    $changed = false;
			}
		} else {
			$description = new Translation($p_languageId, $this->getProperty('fk_phrase_id'));
			if ($description->exists()) {
                $changed = $description->setText($p_value);
			} else {
				$changed = $description->create($p_value);
				if ($changed && is_null($this->getProperty('fk_phrase_id'))) {
					$this->setProperty('fk_phrase_id', $description->getPhraseId());
				}
			}
		}

		if ($changed) {
			if (function_exists("camp_load_translation_strings")) {
			    camp_load_translation_strings("api");
			}
			$logtext = getGS('Field "$1" updated', $this->m_data['field_name']);
			Log::Message($logtext, null, 143);
		}

		return $changed;
	} // fn setName
Пример #4
0
 /**
  * A quick lookup to see if the current language was already translated
  * for this article type: used by delete and update in setName.
  * Returns 0 if no translation or the phrase_id if there is one.
  *
  * @param int p_languageId
  *
  * @return 0 or phrase_id
  **/
 public function translationExists($p_languageId)
 {
     if ($this->m_metadata->getPhraseId() != -1) {
         $translation = new Translation($p_languageId, $this->m_metadata->getPhraseId());
         if ($translation->exists()) {
             return $translation->getPhraseId();
         }
     }
     return 0;
 }