/**
  * insert/update/replace object
  *
  * @access public
  * @param object $obj
  * @param bool $force force operation
  * @return bool FALSE if failed
  */
 function insert(&$obj, $force = false)
 {
     if ($obj->isNew() && !$obj->doReplace()) {
         // set cvitae_order
         $uid = $obj->get('uid');
         $criteria = new Criteria('uid', $uid);
         $tmp =& $this->getObjects($criteria, false, 'MAX(`cvitae_order`) AS `max`');
         if (is_object($tmp)) {
             $max = $tmp->getExtraVar('max');
         } else {
             $max = 0;
         }
         $obj->set('cvitae_order', $max + 1);
     }
     return parent::insert($obj, $force);
 }
 /**
  * create object
  *
  * @access public
  * @param bool $isNew true if create new object
  * @return object
  */
 function &create($isNew = true)
 {
     $obj =& parent::create($isNew);
     if ($isNew) {
         $xconfig_handler =& xoonips_getormhandler('xoonips', 'config');
         $obj->set('group_item_number_limit', $xconfig_handler->getValue('group_item_number_limit'));
         $obj->set('group_index_number_limit', $xconfig_handler->getValue('group_index_number_limit'));
         $obj->set('group_item_storage_limit', $xconfig_handler->getValue('group_item_storage_limit'));
     }
     return $obj;
 }
 function XooNIpsOrmGroupsUsersLinkHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmGroupsUsersLink', 'xoonips_groups_users_link', 'groups_users_link_id');
 }
 /**
  * set sort_number automatically before insert.
  * @see TableObject::insert
  */
 function insert(&$obj, $force = false)
 {
     if (!is_null($obj->get('sort_number'))) {
         return parent::insert($obj, $force);
     }
     // for regular index
     $row = $this->getObjects(new Criteria('parent_index_id', $obj->get('parent_index_id')), false, 'MAX(sort_number) as max_value');
     if ($row) {
         $obj->set('sort_number', $row[0]->getExtraVar('max_value') + 1);
     } else {
         $obj->set('sort_number', 1);
     }
     return parent::insert($obj, $force);
 }
 function XooNIpsOrmKeywordHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmKeyword', 'xoonips_item_keyword', 'seq_id');
 }
 /**
  * create a new object
  *
  * @access public
  * @param bool isNew mark the new object as 'new'?
  * @return object XooNIpsOrmEventLog reference to the new object
  */
 function &create($isNew = true)
 {
     $obj = parent::create($isNew);
     if ($obj === false) {
         return $obj;
     }
     if ($isNew) {
         $obj->set('remote_host', $this->getRemoteHost());
         $obj->set('timestamp', time());
     }
     return $obj;
 }
 function XooNIpsOrmOaipmhMetadataFieldHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmOaipmhMetadataField', 'xoonips_oaipmh_metadata_field', 'metadata_field_id', true);
 }
 function XooNIpsOrmOaipmhRepositoriesHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmOaipmhRepositories', 'xoonips_oaipmh_repositories', 'repository_id', true);
 }
 function XooNIpsOrmTransferRequestHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmTransferRequest', 'xoonips_transfer_request', 'item_id', false);
 }
 function XooNIpsOrmTitleHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmTitle', 'xoonips_item_title', 'seq_id');
 }
 /**
  * create a new object
  *
  * @access public
  * @param bool isNew mark the new object as 'new'?
  * @return object XooNIpsOrmUsers reference to the new object
  */
 function &create($isNew = true)
 {
     $obj = parent::create($isNew);
     if ($obj === false) {
         return $obj;
     }
     if ($isNew) {
         // set default private index/item/storage limit
         $xconfig_handler =& xoonips_getormhandler('xoonips', 'config');
         $keys = array('private_index_number_limit' => 'private_index_number_limit', 'private_item_number_limit' => 'private_item_number_limit', 'private_item_storage_limit' => 'private_item_storage_limit');
         foreach ($keys as $key => $field) {
             $value = $xconfig_handler->getValue($key);
             $obj->set($field, $value);
             unset($xcobj);
         }
     }
     return $obj;
 }
 function XNPBinderOrmItemDetailHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XNPBinderOrmItemDetail', 'xnpbinder_item_detail', 'binder_id', false);
 }
 /**
  * gets File objects join xoonips_file_type.
  *
  * @access public
  * @param object $criteria
  * @param bool $id_as_key
  * @param string $fieldlist fieldlist for distinct select
  * @param bool $distinct
  * @param XooNIpsJoinCriteria $joindef join criteria object
  * @return array objects
  */
 function &getObjects($criteria = null, $id_as_key = false, $fieldlist = '', $distinct = false, $joindef = null)
 {
     if (is_null($joindef) || !(is_subclass_of($joindef, 'xoonipsjoincriteria') || strtolower(get_class($joindef)) == 'xoonipsjoincriteria')) {
         $joindef = new XooNIpsJoinCriteria('xoonips_file_type', 'file_type_id', 'file_type_id');
     } else {
         $joindef->cascade(new XooNIpsJoinCriteria('xoonips_file_type', 'file_type_id', 'file_type_id'), 'xoonips_file');
     }
     $table = $this->db->prefix('xoonips_file');
     if (trim($fieldlist) == '') {
         $fieldlist = "{$table}.file_id, {$table}.item_id, {$table}.original_file_name, {$table}.mime_type, {$table}.file_name, {$table}.file_size, {$table}.thumbnail_file, {$table}.caption, {$table}.sess_id, {$table}.file_type_id, {$table}.search_module_name, {$table}.search_module_version, {$table}.header, {$table}.timestamp, {$table}.is_deleted, {$table}.download_count";
     }
     $files = parent::getObjects($criteria, $id_as_key, $fieldlist, $distinct, $joindef);
     if ($files) {
         for ($i = 0; $i < count($files); $i++) {
             $files[$i]->setFilepath($this->createFilepath($files[$i]));
         }
     }
     return $files;
 }
 function XooNIpsOrmFileTypeHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmFileType', 'xoonips_file_type', 'file_type_id');
 }
 /**
  * helper function for sql string creation. change last_updated to updated
  *
  * @access private
  * @param object $obj
  * @param array $vars array of variables
  * @return array quoted strings
  */
 function &_makeVarsArray4SQL(&$obj, &$vars)
 {
     $ret = parent::_makeVarsArray4SQL($obj, $vars);
     $ret['updated'] = 'FROM_UNIXTIME(' . $ret['updated'] . ')';
     return $ret;
 }
 function XNPConferenceOrmAuthorHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XNPConferenceOrmAuthor', 'xnpconference_author', 'conference_author_id', false);
 }
 function XooNIpsOrmSearchCacheItemHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmSearchCacheItem', 'xoonips_search_cache_item', 'search_cache_item_id', true);
 }
 function XooNIpsOrmRelatedToHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmRelatedTo', 'xoonips_related_to', 'related_to_id');
 }
 function XooNIpsOrmItemLockHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmItemLock', 'xoonips_item_lock', 'item_id', false);
 }
 function XooNIpsOrmIndexGroupIndexLinkHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmIndexGroupIndexLink', 'xoonips_index_group_index_link', 'index_group_index_link_id');
 }
 function XooNIpsOrmPositionsHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmPositions', 'xoonips_positions', 'posi_id', true);
 }
 function XNPModelOrmCreatorHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XNPModelOrmCreator', 'xnpmodel_creator', 'model_creator_id', false);
 }
 function insert(&$obj, $force = false)
 {
     if ($obj->isNew()) {
         $obj->set('user_regdate', time());
     }
     return parent::insert($obj, $force);
 }
 function XNPPaperOrmAuthorHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XNPPaperOrmAuthor', 'xnppaper_author', 'paper_author_id', false);
 }
 function XNPSimulatorOrmDeveloperHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XNPSimulatorOrmDeveloper', 'xnpsimulator_developer', 'simulator_developer_id', false);
 }
 function insert(&$obj, $force = false)
 {
     if (strtolower(get_class($obj)) != strtolower($this->__class_name)) {
         return false;
     }
     if (!$obj->isDirty()) {
         return true;
     }
     $cc = $this->get_cc($obj);
     if ($cc) {
         $obj->set('rights', $cc);
     }
     return parent::insert($obj, $force);
 }
 function XNPFilesOrmItemDetailHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XNPFilesOrmItemDetail', 'xnpfiles_item_detail', 'files_id', false);
 }
 function XNPBookOrmAuthorHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XNPBookOrmAuthor', 'xnpbook_author', 'book_author_id', false);
 }
 function XooNIpsOrmBinderItemLinkHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XooNIpsOrmBinderItemLink', 'xoonips_binder_item_link', 'binder_item_link_id', true);
 }
 function XNPToolOrmDeveloperHandler(&$db)
 {
     parent::XooNIpsTableObjectHandler($db);
     $this->__initHandler('XNPToolOrmDeveloper', 'xnptool_developer', 'tool_developer_id', false);
 }