当前位置: 首页>>代码示例>>PHP>>正文


PHP FOFModel::onBeforeSave方法代码示例

本文整理汇总了PHP中FOFModel::onBeforeSave方法的典型用法代码示例。如果您正苦于以下问题:PHP FOFModel::onBeforeSave方法的具体用法?PHP FOFModel::onBeforeSave怎么用?PHP FOFModel::onBeforeSave使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FOFModel的用法示例。


在下文中一共展示了FOFModel::onBeforeSave方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: onBeforeSave

 /**
  * This method runs before the $data is saved to the $table. Return false to
  * stop saving.
  *
  * @param   array     &$data   The data to save
  * @param   FOFTable  &$table  The table to save the data to
  *
  * @return  boolean  Return false to prevent saving, true to allow it
  */
 protected function onBeforeSave(&$data, &$table)
 {
     if (!parent::onBeforeSave($data, $table)) {
         return false;
     }
     $isAdmin = FOFPlatform::getInstance()->isBackend();
     if (!$isAdmin) {
         $data['enabled'] = 0;
     } else {
         if ($this->getGeoCoordinates($data) === false) {
             $this->setError(JText::_('COM_BABIOONEVENT_GET_GEOCOORDINATES_FAILED'));
             return false;
         }
         $dtFields = array('s', 'e');
         foreach ($dtFields as $dtf) {
             // Preset default values
             $data[$dtf . 'time'] = '00:00:00';
             $data[$dtf . 'timeset'] = 0;
             // Check time and date
             $result = $this->checkDate($dtf . 'date');
             if ($result !== false) {
                 $data[$dtf . 'date'] = $result;
                 $result = $this->checkTime($dtf . 'time');
                 if ($result !== false) {
                     $data[$dtf . 'time'] = $result;
                     $data[$dtf . 'timeset'] = 1;
                 }
             }
         }
     }
     if ($this->_isNewRecord) {
         $data['created'] = JFactory::getDate()->toSql();
         if ($isAdmin) {
             $data['created_by'] = JFactory::getUser()->get('id');
             $data['created_by_alias'] = JFactory::getUser()->get('name');
         } else {
             $data['created_by'] = 0;
             $data['created_by_alias'] = 'WebsiteForm';
         }
     } else {
         if ($isAdmin) {
             $data['modified'] = JFactory::getDate()->toSql();
             $data['modified_by'] = JFactory::getUser()->get('id');
         } else {
             // Confused
             return false;
         }
     }
     $params = JComponentHelper::getParams('com_babioonevent');
     if ($params->get('showcategory', 1) == 0) {
         $defaultcategory = $params->get('defaultcategory', 0);
         if ($defaultcategory != 0) {
             $data['catid'] = $defaultcategory;
         }
     }
     // Make sure the dates have the correct format
     foreach (array('sdate', 'edate') as $d) {
         if (array_key_exists($d, $data) && $data[$d] != '') {
             $data[$d] = $this->formatDate($data[$d]);
             if ($data[$d] === false) {
                 $this->setError('Date format not valid: ' . $d);
                 return false;
             }
         }
     }
     return true;
 }
开发者ID:rdeutz,项目名称:babioon-event,代码行数:76,代码来源:events.php


注:本文中的FOFModel::onBeforeSave方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。