示例#1
0
 public function postLanguage()
 {
     $language = new Language();
     $language->name = Input::get('name');
     $language->save();
     return Response::json($language);
 }
示例#2
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     if ($this->CanAccess('create')) {
         $model = new Language();
         // Uncomment the following line if AJAX validation is needed
         // $this->performAjaxValidation($model);
         if (isset($_POST['Language'])) {
             $model->attributes = $_POST['Language'];
             if ($model->CanUpdate() && $model->save()) {
                 // if AJAX request , we should not redirect the browser
                 if (!Yii::app()->request->isAjaxRequest) {
                     $this->redirect(array('view', 'id' => $model->id));
                 } else {
                     echo CJSON::encode(array('error' => '', 'id' => $model->id));
                     die;
                 }
             }
         }
         if (!Yii::app()->request->isAjaxRequest) {
             $this->render('create', array('model' => $model, 'ajaxRendering' => false));
         } else {
             $this->renderPartial('create', array('model' => $model, 'ajaxRendering' => true));
         }
     } else {
         throw new CHttpException(405, Yii::t('app', 'You do not have permissions to access this page.'));
     }
 }
示例#3
0
 public function saveLanguage(Language $language)
 {
     try {
         $language->save();
     } catch (Exception $e) {
         throw new DaoException($e->getMessage(), $e->getCode(), $e);
     }
 }
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Language();
     if (isset($_POST['Language'])) {
         $model->attributes = $_POST['Language'];
         if ($model->save()) {
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('create', array('model' => $model));
 }
示例#5
0
 public function verifySessionContentEditLanguage()
 {
     $sSessionDefaultLanguage = Settings::getSetting("session_default", AdminManager::CONTENT_LANGUAGE_SESSION_KEY, null);
     if (LanguageQuery::create()->filterById($sSessionDefaultLanguage)->count() < 1) {
         $oLanguage = new Language();
         $oLanguage->setId($sSessionDefaultLanguage);
         $oLanguage->setPathPrefix($sSessionDefaultLanguage);
         $oLanguage->setIsActive(true);
         $oLanguage->save();
     }
 }
示例#6
0
 public function actionCreate()
 {
     $model = new Language();
     if (isset($_POST['Language'])) {
         $model->attributes = $_POST['Language'];
         if ($model->validate() && $model->save()) {
             $this->redirect(array('index'));
         }
     }
     $statusOptions = array(0 => Yii::t('common', 'Disabled'), 1 => Yii::t('common', 'Enabled'));
     $this->render('create', array('model' => $model, 'statusOptions' => $statusOptions));
 }
 /**
  * Performs the work of inserting or updating the row in the database.
  *
  * If the object is new, it inserts it; otherwise an update is performed.
  * All related objects are also updated in this method.
  *
  * @param PropelPDO $con
  * @return int             The number of rows affected by this insert/update and any referring fk objects' save() operations.
  * @throws PropelException
  * @see        save()
  */
 protected function doSave(PropelPDO $con)
 {
     $affectedRows = 0;
     // initialize var to track total num of affected rows
     if (!$this->alreadyInSave) {
         $this->alreadyInSave = true;
         // We call the save method on the following object(s) if they
         // were passed to this object by their corresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aContentObject !== null) {
             if ($this->aContentObject->isModified() || $this->aContentObject->isNew()) {
                 $affectedRows += $this->aContentObject->save($con);
             }
             $this->setContentObject($this->aContentObject);
         }
         if ($this->aLanguage !== null) {
             if ($this->aLanguage->isModified() || $this->aLanguage->isNew()) {
                 $affectedRows += $this->aLanguage->save($con);
             }
             $this->setLanguage($this->aLanguage);
         }
         if ($this->aUserRelatedByCreatedBy !== null) {
             if ($this->aUserRelatedByCreatedBy->isModified() || $this->aUserRelatedByCreatedBy->isNew()) {
                 $affectedRows += $this->aUserRelatedByCreatedBy->save($con);
             }
             $this->setUserRelatedByCreatedBy($this->aUserRelatedByCreatedBy);
         }
         if ($this->aUserRelatedByUpdatedBy !== null) {
             if ($this->aUserRelatedByUpdatedBy->isModified() || $this->aUserRelatedByUpdatedBy->isNew()) {
                 $affectedRows += $this->aUserRelatedByUpdatedBy->save($con);
             }
             $this->setUserRelatedByUpdatedBy($this->aUserRelatedByUpdatedBy);
         }
         if ($this->isNew() || $this->isModified()) {
             // persist changes
             if ($this->isNew()) {
                 $this->doInsert($con);
             } else {
                 $this->doUpdate($con);
             }
             $affectedRows += 1;
             // Rewind the data LOB column, since PDO does not rewind after inserting value.
             if ($this->data !== null && is_resource($this->data)) {
                 rewind($this->data);
             }
             $this->resetModified();
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Language();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Language'])) {
         $model->attributes = $_POST['Language'];
         if ($model->save()) {
             $this->redirect(array('view', 'id' => $model->id_language));
         }
     }
     $this->render('create', array('model' => $model));
 }
	public function testCreateNotUnique()
	{
		$l = new Language;
		$l->language = 'nl';
		$l->name = 'Dutch';
		try
		{
			$l->save();
			$this->fail('Should throw exception');
		}
		catch (ValidationException $e)
		{
			$this->assertEquals('Language code is used', $l->language_error);
		}
	}
 public function actionCreate()
 {
     $model = new Language();
     if (isset($_POST['Language'])) {
         $model->setAttributes($_POST['Language']);
         if ($model->save()) {
             if (Yii::app()->getRequest()->getIsAjaxRequest()) {
                 Yii::app()->end();
             } else {
                 $this->redirect(array('view', 'id' => $model->language_id));
             }
         }
     }
     $this->render('create', array('model' => $model));
 }
示例#11
0
 /**
  * @test
  */
 public function create()
 {
     $model = new Language();
     $model->attributes = array('code' => 'test', 'name' => 'test');
     $this->assertFalse($model->save());
     $model = new Language();
     $model->attributes = array('code' => 'te', 'name' => 'test');
     $this->assertTrue($model->save());
     $model = new Language();
     $model->attributes = array('code' => 'test', 'name' => 'aaa');
     $this->assertFalse($model->save());
     $exception = null;
     $model = new Language();
     $model->attributes = array('name' => 'aaa');
     $this->assertFalse($model->save());
     $this->assertInstanceOf('Language', Language::model());
 }
示例#12
0
 /**
  * @param string $sLanguageId
  * use cases:
  * 1. at first users' creation
  * 2. fallback method, creates language if it does not exist, but not at first users' login time, i.e. when languages have been truncated
  * @return void
  */
 public static function createLanguageIfNoneExist($sLanguage, $oUser = null)
 {
     if (LanguageQuery::create()->count() > 0) {
         return;
     }
     $oLanguage = new Language();
     $oLanguage->setId($sLanguage);
     $oLanguage->setPathPrefix($sLanguage);
     $oLanguage->setIsActive(true);
     $oLanguage->setCreatedAt(date('c'));
     $oLanguage->setUpdatedAt(date('c'));
     if ($oUser) {
         $oLanguage->setCreatedBy($oUser->getId());
         $oLanguage->setUpdatedBy($oUser->getId());
     }
     LanguagePeer::ignoreRights(true);
     $oLanguage->save();
 }
	/**
	 * @Acl allow admin-language
	*/
	public function save($language, $name)
	{
		$l = new Language;
		$l->language = $language;
		$l->name = $name;
		try
		{
			$l->save();
			$this->notice(t('Installed "%l"', array('l' => $name)));
			$this->redirect('admin/i18n');
		}
		catch (ValidationException $e)
		{
			$this->languages = Language::languages();
			$this->newLanguage = $l;
			$this->error(t('Did not install "%l"', array('l' => $name)));
			$this->render('i18n/index');
		}
	}
示例#14
0
 public function duplicatecvpage($cv_code)
 {
     $cv_old = Cv::where('cv_code', $cv_code)->first();
     if ($cv_old->user_id != Auth::id()) {
         return 'False';
     }
     $new_cv_name = $cv_old->cv_name . ' - Copy';
     $cv = new Cv();
     do {
         $random = str_random(10);
         $count = Cv::where('cv_code', $random)->count();
     } while ($count != 0);
     $cv->cv_code = $random;
     if (Auth::check()) {
         $cv->user_id = Auth::id();
     }
     $cv->cv_name = $new_cv_name;
     $cv->user_id = $cv_old->user_id;
     $cv->full_name = $cv_old->full_name;
     $cv->phone_num = $cv_old->phone_num;
     $cv->email = $cv_old->email;
     $cv->website = $cv_old->website;
     $cv->add_line1 = $cv_old->add_line1;
     $cv->add_line2 = $cv_old->add_line2;
     $cv->dob = $cv_old->dob;
     $cv->marital_status = $cv_old->marital_status;
     $cv->profile_image = $cv_old->profile_image;
     $cv->sex = $cv_old->sex;
     $cv->state_origin = $cv_old->state_origin;
     $cv->religion = $cv_old->religion;
     $cv->religion_text = $cv_old->religion_text;
     $cv->show_profile_pic = $cv_old->show_profile_pic;
     $cv->local_government = $cv_old->local_government;
     $cv->save();
     $new_cv_id = $cv->id;
     // copying sections
     $sections = Section::where('cv_id', $cv_old->id)->get();
     foreach ($sections as $section) {
         $section_new = new Section();
         $section_new->cv_id = $new_cv_id;
         $section_new->section_name = $section->section_name;
         $section_new->type = $section->type;
         $section_new->content = $section->content;
         $section_new->default = $section->default;
         $section_new->priority = $section->priority;
         $section_new->save();
     }
     // copying educations
     $educations = Education::where('cv_id', $cv_old->id)->get();
     foreach ($educations as $education) {
         $education_new = new Education();
         $education_new->cv_id = $new_cv_id;
         $education_new->coursename = $education->coursename;
         $education_new->institutename = $education->institutename;
         $education_new->add_line1 = $education->add_line1;
         $education_new->add_line2 = $education->add_line2;
         $education_new->startdate = $education->startdate;
         $education_new->enddate = $education->enddate;
         $education_new->otherinfo = $education->otherinfo;
         $education_new->priority = $education->priority;
         $education_new->save();
     }
     // copying languages
     $languages = Language::where('cv_id', $cv_old->id)->get();
     foreach ($languages as $language) {
         $language_new = new Language();
         $language_new->cv_id = $new_cv_id;
         $language_new->language_id = $language->language_id;
         $language_new->language_name = $language->language_name;
         $language_new->ability_id = $language->ability_id;
         $language_new->level_id = $language->level_id;
         $language_new->priority = $language->priority;
         $language_new->save();
     }
     // copying nysc
     $nyscs = Nysc::where('cv_id', $cv_old->id)->get();
     foreach ($nyscs as $nysc) {
         $nysc_new = new Nysc();
         $nysc_new->cv_id = $new_cv_id;
         $nysc_new->year = $nysc->year;
         $nysc_new->batch = $nysc->batch;
         $nysc_new->ppa = $nysc->ppa;
         $nysc_new->cd = $nysc->cd;
         $nysc_new->otherinfo = $nysc->otherinfo;
         $nysc_new->priority = $nysc->priority;
         $nysc_new->save();
     }
     // copying work_exp
     $work_exps = WorkExperience::where('cv_id', $cv_old->id)->get();
     foreach ($work_exps as $work_exp) {
         $work_exp_new = new WorkExperience();
         $work_exp_new->cv_id = $new_cv_id;
         $work_exp_new->title = $work_exp->title;
         $work_exp_new->company = $work_exp->company;
         $work_exp_new->location = $work_exp->location;
         $work_exp_new->startdate = $work_exp->startdate;
         $work_exp_new->enddate = $work_exp->enddate;
         $work_exp_new->otherinfo = $work_exp->otherinfo;
         $work_exp_new->priority = $work_exp->priority;
         $work_exp_new->save();
     }
     return Redirect::back();
 }
示例#15
0
 /**
  * Performs the work of inserting or updating the row in the database.
  *
  * If the object is new, it inserts it; otherwise an update is performed.
  * All related objects are also updated in this method.
  *
  * @param PropelPDO $con
  * @return int             The number of rows affected by this insert/update and any referring fk objects' save() operations.
  * @throws PropelException
  * @see        save()
  */
 protected function doSave(PropelPDO $con)
 {
     $affectedRows = 0;
     // initialize var to track total num of affected rows
     if (!$this->alreadyInSave) {
         $this->alreadyInSave = true;
         // We call the save method on the following object(s) if they
         // were passed to this object by their corresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aLanguageRelatedByLanguageId !== null) {
             if ($this->aLanguageRelatedByLanguageId->isModified() || $this->aLanguageRelatedByLanguageId->isNew()) {
                 $affectedRows += $this->aLanguageRelatedByLanguageId->save($con);
             }
             $this->setLanguageRelatedByLanguageId($this->aLanguageRelatedByLanguageId);
         }
         if ($this->isNew() || $this->isModified()) {
             // persist changes
             if ($this->isNew()) {
                 $this->doInsert($con);
             } else {
                 $this->doUpdate($con);
             }
             $affectedRows += 1;
             // Rewind the backend_settings LOB column, since PDO does not rewind after inserting value.
             if ($this->backend_settings !== null && is_resource($this->backend_settings)) {
                 rewind($this->backend_settings);
             }
             $this->resetModified();
         }
         if ($this->userGroupsRelatedByUserIdScheduledForDeletion !== null) {
             if (!$this->userGroupsRelatedByUserIdScheduledForDeletion->isEmpty()) {
                 UserGroupQuery::create()->filterByPrimaryKeys($this->userGroupsRelatedByUserIdScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->userGroupsRelatedByUserIdScheduledForDeletion = null;
             }
         }
         if ($this->collUserGroupsRelatedByUserId !== null) {
             foreach ($this->collUserGroupsRelatedByUserId as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->userRolesRelatedByUserIdScheduledForDeletion !== null) {
             if (!$this->userRolesRelatedByUserIdScheduledForDeletion->isEmpty()) {
                 UserRoleQuery::create()->filterByPrimaryKeys($this->userRolesRelatedByUserIdScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->userRolesRelatedByUserIdScheduledForDeletion = null;
             }
         }
         if ($this->collUserRolesRelatedByUserId !== null) {
             foreach ($this->collUserRolesRelatedByUserId as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->documentsRelatedByOwnerIdScheduledForDeletion !== null) {
             if (!$this->documentsRelatedByOwnerIdScheduledForDeletion->isEmpty()) {
                 foreach ($this->documentsRelatedByOwnerIdScheduledForDeletion as $documentRelatedByOwnerId) {
                     // need to save related object because we set the relation to null
                     $documentRelatedByOwnerId->save($con);
                 }
                 $this->documentsRelatedByOwnerIdScheduledForDeletion = null;
             }
         }
         if ($this->collDocumentsRelatedByOwnerId !== null) {
             foreach ($this->collDocumentsRelatedByOwnerId as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->linksRelatedByOwnerIdScheduledForDeletion !== null) {
             if (!$this->linksRelatedByOwnerIdScheduledForDeletion->isEmpty()) {
                 LinkQuery::create()->filterByPrimaryKeys($this->linksRelatedByOwnerIdScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->linksRelatedByOwnerIdScheduledForDeletion = null;
             }
         }
         if ($this->collLinksRelatedByOwnerId !== null) {
             foreach ($this->collLinksRelatedByOwnerId as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->pagesRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->pagesRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->pagesRelatedByCreatedByScheduledForDeletion as $pageRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $pageRelatedByCreatedBy->save($con);
                 }
                 $this->pagesRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collPagesRelatedByCreatedBy !== null) {
             foreach ($this->collPagesRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->pagesRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->pagesRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->pagesRelatedByUpdatedByScheduledForDeletion as $pageRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $pageRelatedByUpdatedBy->save($con);
                 }
                 $this->pagesRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collPagesRelatedByUpdatedBy !== null) {
             foreach ($this->collPagesRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->pagePropertysRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->pagePropertysRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->pagePropertysRelatedByCreatedByScheduledForDeletion as $pagePropertyRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $pagePropertyRelatedByCreatedBy->save($con);
                 }
                 $this->pagePropertysRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collPagePropertysRelatedByCreatedBy !== null) {
             foreach ($this->collPagePropertysRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->pagePropertysRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->pagePropertysRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->pagePropertysRelatedByUpdatedByScheduledForDeletion as $pagePropertyRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $pagePropertyRelatedByUpdatedBy->save($con);
                 }
                 $this->pagePropertysRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collPagePropertysRelatedByUpdatedBy !== null) {
             foreach ($this->collPagePropertysRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->pageStringsRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->pageStringsRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->pageStringsRelatedByCreatedByScheduledForDeletion as $pageStringRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $pageStringRelatedByCreatedBy->save($con);
                 }
                 $this->pageStringsRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collPageStringsRelatedByCreatedBy !== null) {
             foreach ($this->collPageStringsRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->pageStringsRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->pageStringsRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->pageStringsRelatedByUpdatedByScheduledForDeletion as $pageStringRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $pageStringRelatedByUpdatedBy->save($con);
                 }
                 $this->pageStringsRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collPageStringsRelatedByUpdatedBy !== null) {
             foreach ($this->collPageStringsRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->contentObjectsRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->contentObjectsRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->contentObjectsRelatedByCreatedByScheduledForDeletion as $contentObjectRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $contentObjectRelatedByCreatedBy->save($con);
                 }
                 $this->contentObjectsRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collContentObjectsRelatedByCreatedBy !== null) {
             foreach ($this->collContentObjectsRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->contentObjectsRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->contentObjectsRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->contentObjectsRelatedByUpdatedByScheduledForDeletion as $contentObjectRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $contentObjectRelatedByUpdatedBy->save($con);
                 }
                 $this->contentObjectsRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collContentObjectsRelatedByUpdatedBy !== null) {
             foreach ($this->collContentObjectsRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->languageObjectsRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->languageObjectsRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->languageObjectsRelatedByCreatedByScheduledForDeletion as $languageObjectRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $languageObjectRelatedByCreatedBy->save($con);
                 }
                 $this->languageObjectsRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collLanguageObjectsRelatedByCreatedBy !== null) {
             foreach ($this->collLanguageObjectsRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->languageObjectsRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->languageObjectsRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->languageObjectsRelatedByUpdatedByScheduledForDeletion as $languageObjectRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $languageObjectRelatedByUpdatedBy->save($con);
                 }
                 $this->languageObjectsRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collLanguageObjectsRelatedByUpdatedBy !== null) {
             foreach ($this->collLanguageObjectsRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->languageObjectHistorysRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->languageObjectHistorysRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->languageObjectHistorysRelatedByCreatedByScheduledForDeletion as $languageObjectHistoryRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $languageObjectHistoryRelatedByCreatedBy->save($con);
                 }
                 $this->languageObjectHistorysRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collLanguageObjectHistorysRelatedByCreatedBy !== null) {
             foreach ($this->collLanguageObjectHistorysRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->languageObjectHistorysRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->languageObjectHistorysRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->languageObjectHistorysRelatedByUpdatedByScheduledForDeletion as $languageObjectHistoryRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $languageObjectHistoryRelatedByUpdatedBy->save($con);
                 }
                 $this->languageObjectHistorysRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collLanguageObjectHistorysRelatedByUpdatedBy !== null) {
             foreach ($this->collLanguageObjectHistorysRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->languagesRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->languagesRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->languagesRelatedByCreatedByScheduledForDeletion as $languageRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $languageRelatedByCreatedBy->save($con);
                 }
                 $this->languagesRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collLanguagesRelatedByCreatedBy !== null) {
             foreach ($this->collLanguagesRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->languagesRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->languagesRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->languagesRelatedByUpdatedByScheduledForDeletion as $languageRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $languageRelatedByUpdatedBy->save($con);
                 }
                 $this->languagesRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collLanguagesRelatedByUpdatedBy !== null) {
             foreach ($this->collLanguagesRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->translationsRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->translationsRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->translationsRelatedByCreatedByScheduledForDeletion as $translationRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $translationRelatedByCreatedBy->save($con);
                 }
                 $this->translationsRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collTranslationsRelatedByCreatedBy !== null) {
             foreach ($this->collTranslationsRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->translationsRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->translationsRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->translationsRelatedByUpdatedByScheduledForDeletion as $translationRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $translationRelatedByUpdatedBy->save($con);
                 }
                 $this->translationsRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collTranslationsRelatedByUpdatedBy !== null) {
             foreach ($this->collTranslationsRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->userGroupsRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->userGroupsRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->userGroupsRelatedByCreatedByScheduledForDeletion as $userGroupRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $userGroupRelatedByCreatedBy->save($con);
                 }
                 $this->userGroupsRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collUserGroupsRelatedByCreatedBy !== null) {
             foreach ($this->collUserGroupsRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->userGroupsRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->userGroupsRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->userGroupsRelatedByUpdatedByScheduledForDeletion as $userGroupRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $userGroupRelatedByUpdatedBy->save($con);
                 }
                 $this->userGroupsRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collUserGroupsRelatedByUpdatedBy !== null) {
             foreach ($this->collUserGroupsRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->groupsRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->groupsRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->groupsRelatedByCreatedByScheduledForDeletion as $groupRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $groupRelatedByCreatedBy->save($con);
                 }
                 $this->groupsRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collGroupsRelatedByCreatedBy !== null) {
             foreach ($this->collGroupsRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->groupsRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->groupsRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->groupsRelatedByUpdatedByScheduledForDeletion as $groupRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $groupRelatedByUpdatedBy->save($con);
                 }
                 $this->groupsRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collGroupsRelatedByUpdatedBy !== null) {
             foreach ($this->collGroupsRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->groupRolesRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->groupRolesRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->groupRolesRelatedByCreatedByScheduledForDeletion as $groupRoleRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $groupRoleRelatedByCreatedBy->save($con);
                 }
                 $this->groupRolesRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collGroupRolesRelatedByCreatedBy !== null) {
             foreach ($this->collGroupRolesRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->groupRolesRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->groupRolesRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->groupRolesRelatedByUpdatedByScheduledForDeletion as $groupRoleRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $groupRoleRelatedByUpdatedBy->save($con);
                 }
                 $this->groupRolesRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collGroupRolesRelatedByUpdatedBy !== null) {
             foreach ($this->collGroupRolesRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->rolesRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->rolesRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->rolesRelatedByCreatedByScheduledForDeletion as $roleRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $roleRelatedByCreatedBy->save($con);
                 }
                 $this->rolesRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collRolesRelatedByCreatedBy !== null) {
             foreach ($this->collRolesRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->rolesRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->rolesRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->rolesRelatedByUpdatedByScheduledForDeletion as $roleRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $roleRelatedByUpdatedBy->save($con);
                 }
                 $this->rolesRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collRolesRelatedByUpdatedBy !== null) {
             foreach ($this->collRolesRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->userRolesRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->userRolesRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->userRolesRelatedByCreatedByScheduledForDeletion as $userRoleRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $userRoleRelatedByCreatedBy->save($con);
                 }
                 $this->userRolesRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collUserRolesRelatedByCreatedBy !== null) {
             foreach ($this->collUserRolesRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->userRolesRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->userRolesRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->userRolesRelatedByUpdatedByScheduledForDeletion as $userRoleRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $userRoleRelatedByUpdatedBy->save($con);
                 }
                 $this->userRolesRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collUserRolesRelatedByUpdatedBy !== null) {
             foreach ($this->collUserRolesRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->rightsRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->rightsRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->rightsRelatedByCreatedByScheduledForDeletion as $rightRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $rightRelatedByCreatedBy->save($con);
                 }
                 $this->rightsRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collRightsRelatedByCreatedBy !== null) {
             foreach ($this->collRightsRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->rightsRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->rightsRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->rightsRelatedByUpdatedByScheduledForDeletion as $rightRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $rightRelatedByUpdatedBy->save($con);
                 }
                 $this->rightsRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collRightsRelatedByUpdatedBy !== null) {
             foreach ($this->collRightsRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->documentsRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->documentsRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->documentsRelatedByCreatedByScheduledForDeletion as $documentRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $documentRelatedByCreatedBy->save($con);
                 }
                 $this->documentsRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collDocumentsRelatedByCreatedBy !== null) {
             foreach ($this->collDocumentsRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->documentsRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->documentsRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->documentsRelatedByUpdatedByScheduledForDeletion as $documentRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $documentRelatedByUpdatedBy->save($con);
                 }
                 $this->documentsRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collDocumentsRelatedByUpdatedBy !== null) {
             foreach ($this->collDocumentsRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->documentDatasRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->documentDatasRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->documentDatasRelatedByCreatedByScheduledForDeletion as $documentDataRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $documentDataRelatedByCreatedBy->save($con);
                 }
                 $this->documentDatasRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collDocumentDatasRelatedByCreatedBy !== null) {
             foreach ($this->collDocumentDatasRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->documentDatasRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->documentDatasRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->documentDatasRelatedByUpdatedByScheduledForDeletion as $documentDataRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $documentDataRelatedByUpdatedBy->save($con);
                 }
                 $this->documentDatasRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collDocumentDatasRelatedByUpdatedBy !== null) {
             foreach ($this->collDocumentDatasRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->documentTypesRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->documentTypesRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->documentTypesRelatedByCreatedByScheduledForDeletion as $documentTypeRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $documentTypeRelatedByCreatedBy->save($con);
                 }
                 $this->documentTypesRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collDocumentTypesRelatedByCreatedBy !== null) {
             foreach ($this->collDocumentTypesRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->documentTypesRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->documentTypesRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->documentTypesRelatedByUpdatedByScheduledForDeletion as $documentTypeRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $documentTypeRelatedByUpdatedBy->save($con);
                 }
                 $this->documentTypesRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collDocumentTypesRelatedByUpdatedBy !== null) {
             foreach ($this->collDocumentTypesRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->documentCategorysRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->documentCategorysRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->documentCategorysRelatedByCreatedByScheduledForDeletion as $documentCategoryRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $documentCategoryRelatedByCreatedBy->save($con);
                 }
                 $this->documentCategorysRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collDocumentCategorysRelatedByCreatedBy !== null) {
             foreach ($this->collDocumentCategorysRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->documentCategorysRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->documentCategorysRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->documentCategorysRelatedByUpdatedByScheduledForDeletion as $documentCategoryRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $documentCategoryRelatedByUpdatedBy->save($con);
                 }
                 $this->documentCategorysRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collDocumentCategorysRelatedByUpdatedBy !== null) {
             foreach ($this->collDocumentCategorysRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->tagsRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->tagsRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->tagsRelatedByCreatedByScheduledForDeletion as $tagRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $tagRelatedByCreatedBy->save($con);
                 }
                 $this->tagsRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collTagsRelatedByCreatedBy !== null) {
             foreach ($this->collTagsRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->tagsRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->tagsRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->tagsRelatedByUpdatedByScheduledForDeletion as $tagRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $tagRelatedByUpdatedBy->save($con);
                 }
                 $this->tagsRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collTagsRelatedByUpdatedBy !== null) {
             foreach ($this->collTagsRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->tagInstancesRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->tagInstancesRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->tagInstancesRelatedByCreatedByScheduledForDeletion as $tagInstanceRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $tagInstanceRelatedByCreatedBy->save($con);
                 }
                 $this->tagInstancesRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collTagInstancesRelatedByCreatedBy !== null) {
             foreach ($this->collTagInstancesRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->tagInstancesRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->tagInstancesRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->tagInstancesRelatedByUpdatedByScheduledForDeletion as $tagInstanceRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $tagInstanceRelatedByUpdatedBy->save($con);
                 }
                 $this->tagInstancesRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collTagInstancesRelatedByUpdatedBy !== null) {
             foreach ($this->collTagInstancesRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->linksRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->linksRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->linksRelatedByCreatedByScheduledForDeletion as $linkRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $linkRelatedByCreatedBy->save($con);
                 }
                 $this->linksRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collLinksRelatedByCreatedBy !== null) {
             foreach ($this->collLinksRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->linksRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->linksRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->linksRelatedByUpdatedByScheduledForDeletion as $linkRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $linkRelatedByUpdatedBy->save($con);
                 }
                 $this->linksRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collLinksRelatedByUpdatedBy !== null) {
             foreach ($this->collLinksRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->linkCategorysRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->linkCategorysRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->linkCategorysRelatedByCreatedByScheduledForDeletion as $linkCategoryRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $linkCategoryRelatedByCreatedBy->save($con);
                 }
                 $this->linkCategorysRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collLinkCategorysRelatedByCreatedBy !== null) {
             foreach ($this->collLinkCategorysRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->linkCategorysRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->linkCategorysRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->linkCategorysRelatedByUpdatedByScheduledForDeletion as $linkCategoryRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $linkCategoryRelatedByUpdatedBy->save($con);
                 }
                 $this->linkCategorysRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collLinkCategorysRelatedByUpdatedBy !== null) {
             foreach ($this->collLinkCategorysRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->referencesRelatedByCreatedByScheduledForDeletion !== null) {
             if (!$this->referencesRelatedByCreatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->referencesRelatedByCreatedByScheduledForDeletion as $referenceRelatedByCreatedBy) {
                     // need to save related object because we set the relation to null
                     $referenceRelatedByCreatedBy->save($con);
                 }
                 $this->referencesRelatedByCreatedByScheduledForDeletion = null;
             }
         }
         if ($this->collReferencesRelatedByCreatedBy !== null) {
             foreach ($this->collReferencesRelatedByCreatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->referencesRelatedByUpdatedByScheduledForDeletion !== null) {
             if (!$this->referencesRelatedByUpdatedByScheduledForDeletion->isEmpty()) {
                 foreach ($this->referencesRelatedByUpdatedByScheduledForDeletion as $referenceRelatedByUpdatedBy) {
                     // need to save related object because we set the relation to null
                     $referenceRelatedByUpdatedBy->save($con);
                 }
                 $this->referencesRelatedByUpdatedByScheduledForDeletion = null;
             }
         }
         if ($this->collReferencesRelatedByUpdatedBy !== null) {
             foreach ($this->collReferencesRelatedByUpdatedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }
 /**
  * Performs the work of inserting or updating the row in the database.
  *
  * If the object is new, it inserts it; otherwise an update is performed.
  * All related objects are also updated in this method.
  *
  * @param PropelPDO $con
  * @return int             The number of rows affected by this insert/update and any referring fk objects' save() operations.
  * @throws PropelException
  * @see        save()
  */
 protected function doSave(PropelPDO $con)
 {
     $affectedRows = 0;
     // initialize var to track total num of affected rows
     if (!$this->alreadyInSave) {
         $this->alreadyInSave = true;
         // We call the save method on the following object(s) if they
         // were passed to this object by their corresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aLanguage !== null) {
             if ($this->aLanguage->isModified() || $this->aLanguage->isNew()) {
                 $affectedRows += $this->aLanguage->save($con);
             }
             $this->setLanguage($this->aLanguage);
         }
         if ($this->aUserRelatedByCreatedBy !== null) {
             if ($this->aUserRelatedByCreatedBy->isModified() || $this->aUserRelatedByCreatedBy->isNew()) {
                 $affectedRows += $this->aUserRelatedByCreatedBy->save($con);
             }
             $this->setUserRelatedByCreatedBy($this->aUserRelatedByCreatedBy);
         }
         if ($this->aUserRelatedByUpdatedBy !== null) {
             if ($this->aUserRelatedByUpdatedBy->isModified() || $this->aUserRelatedByUpdatedBy->isNew()) {
                 $affectedRows += $this->aUserRelatedByUpdatedBy->save($con);
             }
             $this->setUserRelatedByUpdatedBy($this->aUserRelatedByUpdatedBy);
         }
         if ($this->isNew() || $this->isModified()) {
             // persist changes
             if ($this->isNew()) {
                 $this->doInsert($con);
             } else {
                 $this->doUpdate($con);
             }
             $affectedRows += 1;
             // Rewind the description LOB column, since PDO does not rewind after inserting value.
             if ($this->description !== null && is_resource($this->description)) {
                 rewind($this->description);
             }
             $this->resetModified();
         }
         if ($this->documentationPartsScheduledForDeletion !== null) {
             if (!$this->documentationPartsScheduledForDeletion->isEmpty()) {
                 DocumentationPartQuery::create()->filterByPrimaryKeys($this->documentationPartsScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->documentationPartsScheduledForDeletion = null;
             }
         }
         if ($this->collDocumentationParts !== null) {
             foreach ($this->collDocumentationParts as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }
 public function actionUpload()
 {
     parent::actionUpload();
     $folder = $_SERVER['DOCUMENT_ROOT'] . Yii::app()->request->baseUrl . '/upload/';
     // folder for uploaded files
     $file = $folder . basename($_FILES['uploadfile']['name']);
     if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)) {
         $row = 0;
         if (($handle = fopen($file, "r")) !== FALSE) {
             while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
                 if ($row > 0) {
                     $model = Language::model()->findByPk((int) $data[0]);
                     if ($model === null) {
                         $model = new Language();
                     }
                     $model->languageid = (int) $data[0];
                     $model->languagename = $data[1];
                     $model->recordstatus = (int) $data[2];
                     try {
                         if (!$model->save()) {
                             $this->messages = $this->messages . Catalogsys::model()->getcatalog(' upload error at ' . $data[0]);
                         }
                     } catch (Exception $e) {
                         $this->messages = $this->messages . $e->getMessage();
                     }
                 }
                 $row++;
             }
         } else {
             $this->messages = $this->messages . ' memory or harddisk full';
         }
         fclose($handle);
     } else {
         $this->messages = $this->messages . ' check your directory permission';
     }
     if ($this->messages == '') {
         $this->messages = 'success';
     }
     echo $this->messages;
 }
 /**
  * Import language
  */
 public function actionImport()
 {
     // Check access
     checkAccessThrowException('op_language_import_language');
     $file = CUploadedFile::getInstanceByName('file');
     $update = getPostParam('update', 0);
     // Did we upload anything?
     if (!$file || !$file->getTempName()) {
         ferror(at('File was not uploaded properly.'));
         $this->redirect(array('language/index'));
     }
     // Make sure it's an xml file
     if ($file->getType() != 'text/xml') {
         ferror(at('You must upload an XML file.'));
         $this->redirect(array('language/index'));
     }
     // Make file has contents
     if (!$file->getSize()) {
         ferror(at('File Uploaded is empty.'));
         $this->redirect(array('language/index'));
     }
     // Grab data from file
     $xml = new ClassXML();
     $xml->loadXML(file_get_contents($file->getTempName()));
     // Check to see if it has language details
     foreach ($xml->fetchElements('language_row') as $lang) {
         // Grab first language
         $langData = $xml->fetchElementsFromRecord($lang);
         break;
     }
     // Make sure we have data
     if (!count($langData)) {
         ferror(at('Could not locate language data.'));
         $this->redirect(array('language/index'));
     }
     // See if language data missing the name and short form
     if (!isset($langData['name']) || !isset($langData['abbr'])) {
         ferror(at('Language data missing name or abbreviation.'));
         $this->redirect(array('language/index'));
     }
     $langName = $langData['name'];
     $langAbbr = $langData['abbr'];
     $langId = null;
     // Check if that language exists
     $langModel = Language::model()->find('abbr=:abbr', array(':abbr' => $langAbbr));
     // If we have the model then set the id
     if ($langModel) {
         $langId = $langModel->id;
     }
     // Grab the strings
     $stringsToImport = array();
     foreach ($xml->fetchElements('message_row') as $string) {
         // Grab first language
         $stringData = $xml->fetchElementsFromRecord($string);
         $stringsToImport[] = $stringData;
     }
     // Make sure we have strings
     if (!count($stringsToImport)) {
         ferror(at('Could not locate any strings to import.'));
         $this->redirect(array('language/index'));
     }
     // Do we need to create a new language?
     if (!$langModel) {
         // Create new language
         $newLang = new Language();
         $newLang->name = $langName;
         $newLang->abbr = $langAbbr;
         if (!$newLang->save()) {
             ferror(at('Could not save the new language.'));
             $this->redirect(array('language/index'));
         }
         $langId = $newLang->id;
     }
     $imported = 0;
     $updated = 0;
     $skipped = 0;
     // Run each string and check if the one exists in the current language if it does and we have the update then update
     // otherwise skip
     foreach ($stringsToImport as $r) {
         // Get orig id if exists if not create orig
         $orig = SourceMessage::model()->find('category=:category AND message=:message', array(':category' => $r['category'], ':message' => $r['orig']));
         if ($orig) {
             // It exists so we have the original message id
             $origId = $orig->id;
         } else {
             // It does not exists create and get newly created id
             $newSource = new SourceMessage();
             $newSource->category = $r['category'];
             $newSource->message = $r['orig'];
             $newSource->save(false);
             $origId = $newSource->id;
         }
         // Now that we have the original id check if we need to update or create
         $exists = Message::model()->find('id=:id AND language_id=:lang', array(':id' => $origId, ':lang' => $langId));
         if ($exists) {
             if ($update) {
                 // Exists and update
                 $exists->translation = $r['translation'];
                 $exists->update();
                 $updated++;
             } else {
                 // Exists do not update
                 $skipped++;
             }
         } else {
             // Does not exist create
             $newMessage = new Message();
             $newMessage->id = $origId;
             $newMessage->language = $langAbbr;
             $newMessage->language_id = $langId;
             $newMessage->translation = $r['translation'];
             $newMessage->save(false);
             $imported++;
         }
     }
     // Log and save flash message
     if ($langModel) {
         alog(at("Update Language '{name}'", array('{name}' => $langName)));
         fok(at('Language Updated. {i} Strings Imported, {u} Strings Updated, {s} Strings Skipped.', array('{i}' => $imported, '{u}' => $updated, '{s}' => $skipped)));
     } else {
         alog(at("Imported New Language '{name}'", array('{name}' => $langName)));
         fok(at("New Language Created '{name}'. <b>{i}</b> Strings Imported, <b>{u}</b> Strings Updated, <b>{s}</b> Strings Skipped.", array('{name}' => $langName, '{i}' => $imported, '{u}' => $updated, '{s}' => $skipped)));
     }
     $this->redirect(array('language/index'));
 }
示例#19
0
	public function testCreateTranslation()
	{
		$l = new Language;
		$l->language = 'de';
		$l->name = 'German';
		$l->save();
		$l = new Language;
		$l->language = 'es';
		$l->name = 'Espanjol';
		$l->save();
		$page = Page::get('tidelodoo', 'en');
		$untranslated = $page->untranslated();
		$this->assertEquals(2, count($untranslated));
		$this->assertEquals('es', $untranslated[0]->language);
		$this->assertEquals('de', $untranslated[1]->language);
		
		$p = new Page;
		$p->title = 'Joedialtitoe';
		$p->language = 'de';
		$p->authorID = 'nathan';
		$p->content = 'German text';
		$p->originalLanguage = 'fr';
		$p->originalID = 'toedeloedoe';
		$p->save();
		
		$page = Page::get($p->ID, 'de');
		$languages = $page->languages();
		$this->assertEquals(3, count($languages));
		
		$page = Page::get('toedeloedoe', 'fr');
		$languages = $page->languages();
		$this->assertEquals(3, count($languages));
		
		$this->assertEquals('de', $languages[0]->language);
		$this->assertEquals('German', $languages[0]->name);
		$this->assertEquals($p->ID, $languages[0]->pageID);
		
		$page = Page::get('tidelodoe', 'nl');
		$languages = $page->languages();
		$this->assertEquals(3, count($languages));
		
		$this->assertEquals('de', $languages[0]->language);
		$this->assertEquals('German', $languages[0]->name);
		$this->assertEquals($p->ID, $languages[0]->pageID);
		
		$page = Page::get('tidelodoo', 'en');
		$languages = $page->languages();
		$this->assertEquals(3, count($languages));
		
		$this->assertEquals('de', $languages[0]->language);
		$this->assertEquals('German', $languages[0]->name);
		$this->assertEquals($p->ID, $languages[0]->pageID);
		
		$untranslated = $page->untranslated();
		$this->assertEquals(1, count($untranslated));
		$this->assertEquals('es', $untranslated[0]->language);
	}
示例#20
0
文件: language.php 项目: robertpop/NS
         if (empty($language->id)) {
             $language->lang_short = $_POST['lang_short'];
         }
         if ($language->alreadyExists()) {
             Messages::addError('This language already exists in database');
             reloadPage();
         }
         if (!empty($_FILES['xml']['name']) && !Messages::areErrors()) {
             if (!$language->uploadXmlOnAmazon($_FILES['xml']['tmp_name'], $err)) {
                 Messages::addError($err);
             }
         } elseif (empty($language->id)) {
             Messages::addError('Select xml file');
         }
         if (!Messages::areErrors()) {
             $language->save('display_order');
             Messages::addNotice('Saved');
         }
         jump('?page=language&action=add_edit&id=' . $language->id);
     }
     $smarty->assign('CONTENT', 'language/add_edit.tpl');
     break;
 case 'move_up':
 case 'move_down':
     if ($action == 'move_up') {
         $language->moveUp();
     } else {
         $language->moveDown();
     }
     Messages::addNotice('Order changed');
     jump('?page=language');
 public function beforeUpdateOptions()
 {
     $lang = new Language((int) Tools::getValue('PS_LANG_DEFAULT'));
     if (!$lang->active) {
         $lang->active = 1;
         $lang->save();
     }
 }
 public function actionEditableCreator()
 {
     if (isset($_POST['Language'])) {
         $model = new Language();
         $model->attributes = $_POST['Language'];
         if ($model->save()) {
             echo CJSON::encode($model->getAttributes());
         } else {
             $errors = array_map(function ($v) {
                 return join(', ', $v);
             }, $model->getErrors());
             echo CJSON::encode(array('errors' => $errors));
         }
     } else {
         throw new CHttpException(400, 'Invalid request');
     }
 }
 /**
  * Install the module and related modules
  *
  */
 public function ___install()
 {
     $configData = array();
     if ($this->templates->get(LanguageSupport::languageTemplateName)) {
         throw new WireException("There is already a template installed called 'language'");
     }
     if ($this->fields->get(LanguageSupport::languageFieldName)) {
         throw new WireException("There is already a field installed called 'language'");
     }
     $adminPage = $this->pages->get($this->config->adminRootPageID);
     $setupPage = $adminPage->child("name=setup");
     if (!$setupPage->id) {
         throw new WireException("Unable to locate {$adminPage->path}setup/");
     }
     // create the languages parent page
     $languagesPage = new Page();
     $languagesPage->parent = $setupPage;
     $languagesPage->template = $this->templates->get('admin');
     $languagesPage->process = $this->modules->get('ProcessLanguage');
     // INSTALL ProcessLanguage module
     $this->message("Installed ProcessLanguage");
     $languagesPage->name = 'languages';
     $languagesPage->title = 'Languages';
     $languagesPage->status = Page::statusSystem;
     $languagesPage->sort = $setupPage->numChildren;
     $languagesPage->save();
     $configData['languagesPageID'] = $languagesPage->id;
     // create the 'language_files' field used by the 'language' fieldgroup
     $field = new Field();
     $field->type = $this->modules->get("FieldtypeFile");
     $field->name = 'language_files';
     $field->label = 'Language Translation Files';
     $field->extensions = 'json';
     $field->maxFiles = 0;
     $field->inputfieldClass = 'InputfieldFile';
     $field->unzip = 1;
     $field->descriptionRows = 1;
     $field->flags = Field::flagSystem | Field::flagPermanent;
     $field->save();
     $this->message("Created field: language_files");
     // create the fieldgroup to be used by the language template
     $fieldgroup = new Fieldgroup();
     $fieldgroup->name = LanguageSupport::languageTemplateName;
     $fieldgroup->add($this->fields->get('title'));
     $fieldgroup->add($field);
     // language_files
     $fieldgroup->save();
     $this->message("Created fieldgroup: " . LanguageSupport::languageTemplateName . " ({$fieldgroup->id})");
     // create the template used by Language pages
     $template = new Template();
     $template->name = LanguageSupport::languageTemplateName;
     $template->fieldgroup = $fieldgroup;
     $template->parentTemplates = array($adminPage->template->id);
     $template->slashUrls = 1;
     $template->pageClass = 'Language';
     $template->pageLabelField = 'name';
     $template->noGlobal = 1;
     $template->noMove = 1;
     $template->noTrash = 1;
     $template->noUnpublish = 1;
     $template->noChangeTemplate = 1;
     $template->nameContentTab = 1;
     $template->flags = Template::flagSystem;
     $template->save();
     $this->message("Created Template: " . LanguageSupport::languageTemplateName);
     // create the default language page
     $default = new Language();
     $default->template = $template;
     $default->parent = $languagesPage;
     $default->name = 'default';
     $default->title = 'Default';
     $default->status = Page::statusSystem;
     $default->save();
     $configData['defaultLanguagePageID'] = $default->id;
     $configData['otherLanguagePageIDs'] = array();
     // non-default language IDs placeholder
     $this->message("Created Default Language Page: {$default->path}");
     // create the translator page and process
     $translatorPage = new Page();
     $translatorPage->parent = $setupPage;
     $translatorPage->template = $this->templates->get('admin');
     $translatorPage->status = Page::statusHidden | Page::statusSystem;
     $translatorPage->process = $this->modules->get('ProcessLanguageTranslator');
     // INSTALL ProcessLanguageTranslator
     $this->message("Installed ProcessLanguageTranslator");
     $translatorPage->name = 'language-translator';
     $translatorPage->title = 'Language Translator';
     $translatorPage->save();
     $configData['languageTranslatorPageID'] = $translatorPage->id;
     $this->message("Created Language Translator Page: {$translatorPage->path}");
     // save the module config data
     $this->modules->saveModuleConfigData('LanguageSupport', $configData);
     // install 'language' field that will be added to the user fieldgroup
     $field = new Field();
     $field->type = $this->modules->get("FieldtypePage");
     $field->name = LanguageSupport::languageFieldName;
     $field->label = 'Language';
     $field->derefAsPage = 1;
     $field->parent_id = $languagesPage->id;
     $field->labelFieldName = 'title';
     $field->inputfield = 'InputfieldRadios';
     $field->required = 1;
     $field->flags = Field::flagSystem | Field::flagPermanent;
     $field->save();
     $this->message("Created Langage Field: " . LanguageSupport::languageFieldName);
     // make the 'language' field part of the profile fields the user may edit
     $profileConfig = $this->modules->getModuleConfigData('ProcessProfile');
     $profileConfig['profileFields'][] = 'language';
     $this->modules->saveModuleConfigData('ProcessProfile', $profileConfig);
     // add to 'user' fieldgroup
     $userFieldgroup = $this->templates->get('user')->fieldgroup;
     $userFieldgroup->add($field);
     $userFieldgroup->save();
     $this->message("Added field 'language' to user profile");
     // update all users to have the default value set for this field
     $n = 0;
     foreach ($this->users as $user) {
         $user->set('language', $default);
         $user->save();
         $n++;
     }
     $this->message("Added default language to {$n} user profiles");
     $this->message("Language Support Installed! Click to the 'Setup' menu to begin defining languages.");
 }
 /**
  * Import language from XML form
  * 
  * @param void
  * @return null
  */
 function import()
 {
     if (!extension_loaded('xml') || !function_exists('xml_parser_create')) {
         $this->httpError(HTTP_ERR_NOT_FOUND);
     }
     // if
     $import_url = assemble_url('admin_languages_import');
     $this->wireframe->addBreadCrumb(lang('Import Language'), $import_url);
     $step = $this->request->post('wizard_step') ? $this->request->post('wizard_step') : 'initial';
     if ($step == 'initial') {
         $next_step = 'review';
     } else {
         if ($step == 'review') {
             $next_step = 'finalize';
         }
     }
     // if
     if (!folder_is_writable(LOCALIZATION_PATH)) {
         $this->wireframe->addPageMessage(lang('Localization folder: <strong>:folder</strong> is not writable', array('folder' => LOCALIZATION_PATH)), PAGE_MESSAGE_ERROR);
         $this->smarty->assign('import_enabled', false);
     } else {
         $this->smarty->assign(array('import_url' => $import_url, 'step' => $step, 'next_step' => $next_step, 'import_enabled' => true));
         if ($this->request->isSubmitted()) {
             switch ($step) {
                 case 'initial':
                     break;
                 case 'review':
                     $xml_file = $_FILES['xml']['tmp_name'];
                     if (!is_file($xml_file)) {
                         flash_error('You need to upload XML file first');
                         $this->redirectToReferer($import_url);
                     }
                     // if
                     require_once ANGIE_PATH . '/classes/xml/xml2array.php';
                     $language = xml2array(file_get_contents($xml_file));
                     if (!$language) {
                         flash_error('Language XML file is corrupted');
                         $this->redirectToReferer($import_url);
                     }
                     // if
                     $locale = $language['language']['info']['locale']['value'];
                     $name = $language['language']['info']['name']['value'];
                     $ac_version = $language['language']['info']['ac_version']['value'];
                     $system_version = $this->application->version ? $this->application->version : '1.0';
                     if (!$locale || !$name) {
                         flash_error('Language XML file is corrupted');
                         $this->redirectToReferer($import_url);
                     }
                     // if
                     if (Languages::localeExists($locale)) {
                         flash_error('Language with locale :locale is already installed on system', array('locale' => $locale));
                         $this->redirectToReferer($import_url);
                     }
                     // if
                     if (Languages::nameExists($name)) {
                         flash_error('Language with name :name is already installed on system', array('name' => $name));
                         $this->redirectToReferer($import_url);
                     }
                     // if
                     $attachment = make_attachment($_FILES['xml']);
                     if (!$attachment || is_error($attachment)) {
                         flash_error($attachment->getMessage(), array('name' => $name));
                         $this->redirectToReferer($import_url);
                     }
                     // if
                     if (version_compare($ac_version, $system_version, '=') != true) {
                         $this->wireframe->addPageMessage(lang('Current activeCollab version is <strong>:system_version</strong> and this translation is made for <strong>:ac_version</strong> version. Importing can continue, but this translation may not work on your system', array('system_version' => $system_version, 'ac_version' => $ac_version)), 'warning');
                     }
                     // if
                     $this->smarty->assign(array('language_ac_version' => $ac_version, 'language_name' => $name, 'language_locale' => $locale, 'system_version' => $system_version, 'attachment_id' => $attachment->getId()));
                     $this->setTemplate('import_review');
                     break;
                 case 'finalize':
                     $attachment_id = $this->request->post('attachment_id');
                     $attachment = Attachments::findById($attachment_id);
                     if (!instance_of($attachment, 'Attachment')) {
                         flash_error('There was some unknown error, please try again');
                         $this->redirectTo($import_url);
                     }
                     // if
                     require_once ANGIE_PATH . '/classes/xml/xml2array.php';
                     $language_array = xml2array(file_get_contents(UPLOAD_PATH . '/' . $attachment->getLocation()));
                     if (!$language_array) {
                         flash_error('Uploaded file is not valid XML');
                         $this->redirectToReferer($import_url);
                     }
                     // if
                     $language_locale = $language_array['language']['info']['locale']['value'];
                     $language_name = $language_array['language']['info']['name']['value'];
                     $language_version = $language_array['language']['info']['ac_version']['value'];
                     $language = new Language();
                     $language->setLocale($language_locale);
                     $language->setName($language_name);
                     $result = recursive_mkdir($language->getLocalizationPath(), 0777, LOCALIZATION_PATH);
                     if (!$result) {
                         flash_error('Could not create localization folder');
                         $this->redirectToReferer($import_url);
                     }
                     // if
                     $save = $language->save();
                     if (!$save || is_error($save)) {
                         flash_error($save->getMessage());
                         $this->redirectToReferer($import_url);
                     }
                     // if
                     $info = array('name' => $language_name, 'code' => $language_locale, 'version' => $language_version);
                     $result = file_put_contents($language->getLocalizationPath() . '/info.php', "<?php return " . var_export($info, true) . " ?>");
                     if (is_foreachable($language_array['language']['translations']['module'])) {
                         foreach ($language_array['language']['translations']['module'] as $module_translation) {
                             if (is_foreachable($module_translation['translation'])) {
                                 $module_name = $module_translation['attr']['name'];
                                 $output = array();
                                 foreach ($module_translation['translation'] as $translation) {
                                     if (is_array($translation)) {
                                         $phrase = $translation['attr']['phrase'];
                                         $translation_value = $translation['value'];
                                         $output[$phrase] = $translation_value;
                                     }
                                     // if
                                 }
                                 // foreach
                                 $filename = Languages::getTranslationPath($language, $module_name);
                                 file_put_contents($filename, "<?php return " . var_export($output, true) . " ?>");
                             }
                             // if
                         }
                         // foreach
                     }
                     // if
                     $attachment->delete();
                     flash_success('Language imported successfully');
                     $this->redirectTo('admin_languages');
                     break;
                 default:
                     break;
             }
         }
         // if
     }
     // if
 }
示例#25
0
 public function save(Language $language)
 {
     return $language->save();
 }
示例#26
0
 /**
  * Performs the work of inserting or updating the row in the database.
  *
  * If the object is new, it inserts it; otherwise an update is performed.
  * All related objects are also updated in this method.
  *
  * @param PropelPDO $con
  * @return int             The number of rows affected by this insert/update and any referring fk objects' save() operations.
  * @throws PropelException
  * @see        save()
  */
 protected function doSave(PropelPDO $con)
 {
     $affectedRows = 0;
     // initialize var to track total num of affected rows
     if (!$this->alreadyInSave) {
         $this->alreadyInSave = true;
         // We call the save method on the following object(s) if they
         // were passed to this object by their corresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aLanguage !== null) {
             if ($this->aLanguage->isModified() || $this->aLanguage->isNew()) {
                 $affectedRows += $this->aLanguage->save($con);
             }
             $this->setLanguage($this->aLanguage);
         }
         if ($this->aUserRelatedByOwnerId !== null) {
             if ($this->aUserRelatedByOwnerId->isModified() || $this->aUserRelatedByOwnerId->isNew()) {
                 $affectedRows += $this->aUserRelatedByOwnerId->save($con);
             }
             $this->setUserRelatedByOwnerId($this->aUserRelatedByOwnerId);
         }
         if ($this->aLinkCategory !== null) {
             if ($this->aLinkCategory->isModified() || $this->aLinkCategory->isNew()) {
                 $affectedRows += $this->aLinkCategory->save($con);
             }
             $this->setLinkCategory($this->aLinkCategory);
         }
         if ($this->aUserRelatedByCreatedBy !== null) {
             if ($this->aUserRelatedByCreatedBy->isModified() || $this->aUserRelatedByCreatedBy->isNew()) {
                 $affectedRows += $this->aUserRelatedByCreatedBy->save($con);
             }
             $this->setUserRelatedByCreatedBy($this->aUserRelatedByCreatedBy);
         }
         if ($this->aUserRelatedByUpdatedBy !== null) {
             if ($this->aUserRelatedByUpdatedBy->isModified() || $this->aUserRelatedByUpdatedBy->isNew()) {
                 $affectedRows += $this->aUserRelatedByUpdatedBy->save($con);
             }
             $this->setUserRelatedByUpdatedBy($this->aUserRelatedByUpdatedBy);
         }
         if ($this->isNew() || $this->isModified()) {
             // persist changes
             if ($this->isNew()) {
                 $this->doInsert($con);
             } else {
                 $this->doUpdate($con);
             }
             $affectedRows += 1;
             $this->resetModified();
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }
示例#27
0
 public function postLanguage()
 {
     $cre = ['language_id' => Input::get('language_id'), 'ability' => Input::get('ability'), 'level' => Input::get('level')];
     $rules = ['language_id' => 'required|not_in:0', 'ability' => 'required', 'level' => 'required'];
     $validator = Validator::make($cre, $rules);
     if ($validator->passes()) {
         if (Input::get('language_id') == -1 && Input::get('language_name') == '') {
             $data["language_id"] = Input::get('language_id');
             $data["success"] = false;
             $data["message"] = 'Please fill the other language name';
         } else {
             $language = new Language();
             $language->cv_id = Input::get('cv_id');
             $language->language_id = Input::get('language_id');
             if ($language->language_id == -1) {
                 $language->language_name = Input::get('language_name');
             }
             $language->ability_id = Input::get('ability');
             $language->level_id = Input::get('level');
             $language->save();
             $insert_id = $language->id;
             $data["message"] = 'Language is succefully added';
             if ($language->language_id != -1) {
                 $lang = DB::table('langs')->select('language')->where('id', $language->language_id)->first();
                 $data["language_id"] = $lang->language;
             } else {
                 $data["language_id"] = Input::get('language_name');
             }
             $ability = DB::table('abilities')->select('ability')->where('id', $language->ability_id)->first();
             $data["success"] = true;
             $data["ability"] = $ability->ability;
             $level = DB::table('levels')->select('level')->where('id', $language->level_id)->first();
             $data["level"] = $level->level;
             $data["id"] = $insert_id;
         }
     } else {
         $data["success"] = false;
         $data["message"] = 'Please fill all required fields';
     }
     return json_encode($data);
 }