protected function loadSetFields($force = FALSE)
 {
     $registry = pjRegistry::getInstance();
     if ($force || !isset($_SESSION[$this->defaultFieldsIndex]) || $_SESSION[$this->defaultFieldsIndex] != $this->option_arr['o_fields_index'] || !isset($_SESSION[$this->defaultFields]) || empty($_SESSION[$this->defaultFields])) {
         pjAppController::setFields($this->getLocaleId());
         # Update session
         if ($registry->is('fields')) {
             $_SESSION[$this->defaultFields] = $registry->get('fields');
         }
         $_SESSION[$this->defaultFieldsIndex] = $this->option_arr['o_fields_index'];
     }
     if (isset($_SESSION[$this->defaultFields]) && !empty($_SESSION[$this->defaultFields])) {
         # Load fields from session
         $registry->set('fields', $_SESSION[$this->defaultFields]);
     }
     return TRUE;
 }
 public function pjActionGetLocale()
 {
     $this->setAjax(true);
     if ($this->isXHR()) {
         if (isset($_GET['locale']) && (int) $_GET['locale'] > 0) {
             pjAppController::setFields($_GET['locale']);
             $this->set('category_arr', pjCategoryModel::factory()->select('t1.*, t2.content AS name')->join('pjMultiLang', "t2.model='pjCategory' AND t2.foreign_id=t1.id AND t2.field='name' AND t2.locale='" . pjObject::escapeString($_GET['locale']) . "'", 'left outer')->where('t1.status', 'T')->orderBy('`order` ASC')->findAll()->getData());
             $this->set('extra_arr', pjExtraModel::factory()->select('t1.*, t2.content AS name')->join('pjMultiLang', "t2.model='pjExtra' AND t2.foreign_id=t1.id AND t2.field='name' AND t2.locale='" . pjObject::escapeString($_GET['locale']) . "'", 'left outer')->orderBy('name ASC')->findAll()->getData());
         }
     }
 }