예제 #1
0
파일: field.php 프로젝트: andresmaeso/neno
 /**
  * {@inheritdoc}
  *
  * @param   mixed $data              Field data
  * @param   bool  $loadExtraData     Load extra data flag
  * @param   bool  $loadParent        Load parent flag
  * @param   bool  $fetchTranslations If the translation have to be loaded
  */
 public function __construct($data, $loadExtraData = true, $loadParent = false, $fetchTranslations = false)
 {
     parent::__construct($data);
     $data = new JObject($data);
     if ($loadParent) {
         $this->table = $data->get('table') == null ? NenoContentElementTable::load($data->get('tableId'), $loadExtraData, $loadParent) : $data->get('table');
     }
     $this->translations = null;
     if (!$this->isNew() && $loadExtraData) {
         $this->getWordCount();
     }
 }
예제 #2
0
파일: file.php 프로젝트: andresmaeso/neno
 /**
  * Constructor
  *
  * @param   mixed $data          File data
  * @param   bool  $loadExtraData Load extra data flag
  * @param   bool  $loadParent    Load parent flag
  */
 public function __construct($data, $loadExtraData = true, $loadParent = false)
 {
     parent::__construct($data);
     $data = (array) $data;
     if (!empty($this->filename)) {
         $languageFileData = explode('.', $this->filename);
         $this->language = $languageFileData[0];
     }
     if (!empty($data['groupId'])) {
         $this->group = NenoContentElementGroup::load($data['groupId'], $loadExtraData);
     }
     if ($loadExtraData && !$this->isNew()) {
         $this->loadExtraData();
     }
 }
예제 #3
0
파일: string.php 프로젝트: javigomez/neno
 /**
  * Constructor
  *
  * @param   mixed $data          Language string data
  * @param   bool  $loadExtraData If extra data should be loaded
  * @param   bool  $loadParent    If the parent should be loaded
  */
 public function __construct($data, $loadExtraData = false, $loadParent = false)
 {
     parent::__construct($data);
     $this->translations = null;
     $data = (array) $data;
     if ($this->isNew()) {
         $this->timeAdded = new DateTime();
     } else {
         if (!$this->timeAdded instanceof DateTime) {
             $this->timeAdded = new DateTime($this->timeAdded);
         }
     }
     if ($loadParent) {
         $this->languageFile = NenoContentElementLanguageFile::load($data['languagefileId'], $loadExtraData, $loadParent);
     }
 }
예제 #4
0
파일: group.php 프로젝트: andresmaeso/neno
 /**
  * {@inheritdoc}
  *
  * @param   mixed $data          Group data
  * @param   bool  $loadExtraData Load extra data flag
  */
 public function __construct($data, $loadExtraData = true)
 {
     parent::__construct($data);
     $this->tables = null;
     $this->languageFiles = null;
     $this->assignedTranslationMethods = array();
     $this->extensions = array();
     $this->elementCount = null;
     $this->wordCount = null;
     // Only search for the statistics for existing groups
     if (!$this->isNew()) {
         $this->getExtensionIdList();
         $this->getElementCount();
         $this->calculateExtraData();
         if ($loadExtraData) {
             $this->getWordCount();
         }
     }
 }
예제 #5
0
파일: table.php 프로젝트: andresmaeso/neno
 /**
  * {@inheritdoc}
  *
  * @param   mixed $data          Table data
  * @param   bool  $loadExtraData Load Extra data flag
  * @param   bool  $loadParent    Load parent flag
  */
 public function __construct($data, $loadExtraData = true, $loadParent = false)
 {
     parent::__construct($data);
     $data = (array) $data;
     // Make sure the name of the table is properly formatted.
     $this->tableName = NenoHelper::unifyTableName($this->tableName);
     $this->primaryKey = is_array($this->primaryKey) ? json_encode($this->primaryKey) : json_decode($this->primaryKey);
     if (!empty($data['groupId']) && $loadParent) {
         $this->group = NenoContentElementGroup::load($data['groupId'], $loadExtraData);
     }
     // Init the field list
     $this->fields = null;
     if (!$this->isNew()) {
         $this->getFields($loadExtraData);
         if ($loadExtraData) {
             $this->getWordCount();
             $this->getRecordCount();
         }
     }
 }
예제 #6
0
 /**
  * {@inheritdoc}
  *
  * @param   mixed $data          Element data
  * @param   bool  $loadExtraData Load extra data flag
  * @param   bool  $loadParent    Load parent flag
  */
 public function __construct($data, $loadExtraData = true, $loadParent = false)
 {
     parent::__construct($data);
     $data = new JObject($data);
     if ($data->get('content') !== null) {
         $this->element = $data->get('content');
     } elseif ($loadParent) {
         $contentId = $data->get('content_id') === null ? $data->get('contentId') : $data->get('content_id');
         if (!empty($contentId)) {
             // If it's a language string, let's create a NenoContentElementLangstring
             if ($this->contentType == self::LANG_STRING) {
                 $this->element = NenoContentElementLanguageString::load($contentId, $loadExtraData, $loadParent);
             } else {
                 $this->element = NenoContentElementField::load($contentId, $loadExtraData, $loadParent);
             }
         }
     }
     $this->charactersCounter = mb_strlen($this->getString());
     if (!$this->isNew()) {
         $db = JFactory::getDbo();
         $query = $db->getQuery(true);
         $query->select('tm.*')->from('#__neno_translation_methods AS tm')->innerJoin('#__neno_content_element_translation_x_translation_methods AS tr_x_tm ON tr_x_tm.translation_method_id = tm.id')->where('tr_x_tm.translation_id = ' . (int) $this->id);
         $db->setQuery($query);
         $this->translationMethods = $db->loadObjectList();
     }
 }