Ejemplo n.º 1
0
 /**
  * Method to get a single record.
  *
  * @param   integer  $pk  The id of the primary key.
  *
  * @return  mixed    Object on success, false on failure.
  *
  * @since    1.6
  */
 public function getItem($pk = null)
 {
     //error_log("In Model::getItem PK = "  . $pk );
     if ($item = parent::getItem($pk)) {
         // Do any procesing on fields here if needed
         //error_log("Mode::getItem --> " . print_r($item,true));
         //error_log("Item ID is --> " . $item->id);
         $isNew = $item->id ? false : true;
         // ingredients not stored as json
         // if ( is_string($item->ingredients_list)) {
         // 	$ingredients_list_string = $item->ingredients_list;
         // 	$item->ingredients_list = json_decode($ingredients_list_string,true);
         // }
         if (!empty($item->social_media_image)) {
             $social_media_images = json_decode($item->social_media_image, true);
             $item->facebook_image = $social_media_images['facebook_image'];
             $item->twitter_image = $social_media_images['twitter_image'];
             $item->pinterest_image = $social_media_images['pinterest_image'];
         }
         //error_log("In Model::getItem created == " . $item->created);
         //if ( $item->created == null || strlen($item->created) == 0 || $item->created == '' ) {
         if ($isNew) {
             $config = JFactory::getConfig();
             $tzoffset = $config->get('offset');
             //error_log("tzoffset --> " . $tzoffset);
             $datenow = JFactory::getdate('now', $tzoffset);
             //$datenow = JFactory::getdate();
             //error_log("Date Now --> " . print_r($datenow,true));
             $date = JFactory::getdate('now', $tzoffset);
             $item->created = $datenow->toSql();
             $item->publish_up = $datenow->toSql();
         } else {
             $item->modified_by = JFactory::getUser()->id;
             $config = JFactory::getConfig();
             $tzoffset = $config->get('offset');
             //error_log("tzoffset --> " . $tzoffset);
             $datenow = JFactory::getdate('now', $tzoffset);
             $item->modified = $datenow->toSql();
             //get the tags
             $item->tags = new JHelperTags();
             $item->tags->getTagIds($item->id, 'com_akrecipes.recipe');
         }
         if (!$isNew && is_string($item->ingredients_list)) {
             $ingredients = array();
             $ingredients_list = explode("\n", $item->ingredients_list);
             foreach ($ingredients_list as $key => $ingredient) {
                 $ingredient = trim($ingredient);
                 if (trim($ingredient) != '<p>&nbsp;</p>' && !empty($ingredient)) {
                     $ingredients[] = trim(strip_tags($ingredient));
                 }
             }
             $item->ingredients = $ingredients;
         }
         if (!$isNew) {
             $db = JFactory::getDbo();
             $query = $db->getQuery(true);
             $query->select('DISTINCT a.*');
             $query->from('`#__akrecipes_recipe_ingredients` as a');
             $query->select('ing.name as ingredient_name');
             $query->join('LEFT', '#__akrecipes_ingredient AS ing ON ing.id = a.ingredients_id');
             $query->where('a.recipe_id = ' . $item->id);
             $query->order(' a.sequence_no asc ');
             $db->setQuery($query);
             $result = $db->loadObjectList();
             //error_log("Query for ingredient_table -> " . $query->__toString());
             if ($result) {
                 //$item->ingredient_table = $result ;
                 $item->qty = array();
                 $item->unit = array();
                 $item->ingredient = array();
                 $item->ingredient_description = array();
                 foreach ($result as $key => $row) {
                     $item->qty[] = $row->qty;
                     $item->unit[] = $row->unit;
                     $item->ingredient[] = $row->ingredient_name;
                     $item->ingredient_description[] = $row->ingredient_description;
                 }
             }
         }
     }
     return $item;
 }
Ejemplo n.º 2
0
 /**
  * Method to save the form data.
  *
  * @param   array  $data  The form data
  *
  * @return bool
  *
  * @throws Exception
  * @since 1.6
  */
 public function save($data)
 {
     //error_log("IN recipeform::save data == " . print_r($data,true) )	;
     $app = JFactory::getApplication('com_akrecipes');
     $params = $app->getParams();
     $id = !empty($data['id']) ? $data['id'] : (int) $this->getState('recipe.id');
     $state = !empty($data['state']) ? 1 : 0;
     $user = JFactory::getUser();
     $isNew = $id ? false : true;
     /*
     if ($isNew) {
     	error_log("Is New Recipe --> " . $id);	
     } else {
     	error_log("NOT a new Recipe --> " . $id);
     }
     */
     if ($id) {
         // Check the user can edit this item
         $authorised = $user->authorise('core.edit', 'com_akrecipes') || ($authorised = $user->authorise('core.edit.own', 'com_akrecipes'));
         if ($user->authorise('core.edit.state', 'com_akrecipes') !== true && $state == 1) {
             // The user cannot edit the state of the item.
             $data['state'] = 0;
         }
     } else {
         // Check the user can create new items in this section
         $authorised = $user->authorise('core.create', 'com_akrecipes');
         if ($user->authorise('core.edit.state', 'com_akrecipes') !== true && $state == 1) {
             // The user cannot edit the state of the item.
             $data['state'] = 0;
         }
     }
     if ($authorised !== true) {
         throw new Exception(JText::_('JERROR_ALERTNOAUTHOR'), 403);
     }
     //error_log("ingredients_list --> " . print_r($data['ingredients_list'],true));
     $table = $this->getTable();
     $imagesavepath = $this->saveImage($data);
     if ($imagesavepath == false) {
         $this->setError("Failed to process image. Try changing the image or reducing its size and try again.");
         return false;
     }
     if (!empty($imagesavepath)) {
         $data['image'] = $imagesavepath;
     }
     if ($isNew) {
         $config = JFactory::getConfig();
         $tzoffset = $config->get('offset');
         $datenow = JFactory::getdate('now', $tzoffset);
         $date = JFactory::getdate('now', $tzoffset);
         $data['created'] = $datenow->toSql();
         $data['publish_up'] = $datenow->toSql();
         if (isset($data['contest_id']) && is_array($data['contest_id'])) {
             $data['contest_id'] = $data['contest_id'][0];
         }
     } else {
         $data['modified_by'] = JFactory::getUser()->id;
         $config = JFactory::getConfig();
         $tzoffset = $config->get('offset');
         $datenow = JFactory::getdate('now', $tzoffset);
         $data['modified'] = $datenow->toSql();
     }
     if ($table->save($data) === true) {
         error_log("Saveing new recipe -> data = " . print_r($data, true));
         if ($params->get('recipeform_sendconfirmationemail', 1) == 1) {
             $this->sendEmail($data, $params);
         }
         return $table->id;
     } else {
         return false;
     }
 }
Ejemplo n.º 3
0
 public function rate()
 {
     // Initialise variables.
     $app = JFactory::getApplication();
     // Checking if the user can remove object
     $user = JFactory::getUser();
     // Get the user data.
     $id = $app->input->getInt('id', 0);
     $rating = $app->input->getInt('rating', 0);
     JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_akrecipes/tables');
     $stats_table = JTable::getInstance("Rating", "AkrecipesTable", array());
     $stats_table->load(array('content_id' => $id));
     $row = $stats_table->getProperties();
     //if the row does not exist, update the content_id column
     if (!$stats_table->id || $stats_table->content_id == 0) {
         $row['content_id'] = $id;
     }
     $row['lastip'] = $ip = empty($_SERVER['REMOTE_ADDR']) ? 'N/A' : $_SERVER['REMOTE_ADDR'];
     $row['rating_sum'] = $row['rating_sum'] + $rating;
     $row['rating_count']++;
     $config = JFactory::getConfig();
     $tzoffset = $config->get('offset');
     //error_log("tzoffset --> " . $tzoffset);
     $datenow = JFactory::getdate('now', $tzoffset);
     $row['last_updated'] = $datenow->toSql();
     $retVal = new stdClass();
     if ($stats_table->save($row)) {
         $retVal->success = true;
         $retVal->rating_sum = $row['rating_sum'];
         $retVal->rating_count = $row['rating_count'];
         $retVal->message = 'Rating successful';
     } else {
         $retVal->success = false;
         $retVal->message = 'Rating successful';
     }
     echo json_encode($retVal);
     $app->close();
     return;
 }
Ejemplo n.º 4
0
 protected function addDefaultRating($recipe_id)
 {
     JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_akrecipes/tables');
     $stats_table = JTable::getInstance("Rating", "AkrecipesTable", array());
     $stats_table->load(array('content_id' => $recipe_id));
     $row = $stats_table->getProperties();
     //error_log("Default rating row = " . print_r($row,true));
     //if the row does not exist, update the content_id column
     if (!$stats_table->id || $stats_table->content_id == 0) {
         $row['content_id'] = $recipe_id;
         $row['lastip'] = empty($_SERVER['REMOTE_ADDR']) ? 'N/A' : $_SERVER['REMOTE_ADDR'];
         $row['rating_sum'] = 5;
         $row['rating_count'] = 1;
         $config = JFactory::getConfig();
         $tzoffset = $config->get('offset');
         //error_log("tzoffset --> " . $tzoffset);
         $datenow = JFactory::getdate('now', $tzoffset);
         $row['last_updated'] = $datenow->toSql();
         $retval = $stats_table->save($row);
         // error_log("Saved rating row : " . print_r($row,true));
         // error_log("Saved rating retval : " . print_r($retval,true));
         // 		} else {
         // error_log("Not saving : " .$recipe_id );
     }
 }
Ejemplo n.º 5
0
 public function hit($pk = null)
 {
     if (is_null($pk)) {
         $pk = array();
         foreach ($this->_tbl_keys as $key) {
             $pk[$key] = $this->{$key};
         }
     } elseif (!is_array($pk)) {
         $pk = array($this->_tbl_key => $pk);
     }
     foreach ($this->_tbl_keys as $key) {
         $pk[$key] = is_null($pk[$key]) ? $this->{$key} : $pk[$key];
         if ($pk[$key] === null) {
             throw new UnexpectedValueException('Null primary key not allowed.');
         }
     }
     $config = JFactory::getConfig();
     $tzoffset = $config->get('offset');
     $datenow = JFactory::getdate('now', $tzoffset);
     $raw_stats = $this->raw_stats;
     $date = $datenow->format('Y-m-d');
     if ($raw_stats) {
         $raw_stats = unserialize($raw_stats);
     } else {
         $raw_stats = array();
     }
     $count_1 = $this->_calculate_1_day_stats($raw_stats, $date);
     $count_7 = $this->_calculate_days_stats(7, $raw_stats, $date);
     $count_30 = $this->_calculate_days_stats(30, $raw_stats, $date);
     if (isset($raw_stats) && count($raw_stats) >= 30) {
         array_shift($raw_stats);
         $raw_stats[$date] = 1;
     } else {
         if (!isset($raw_stats[$date])) {
             $raw_stats[$date] = 1;
         } else {
             $raw_stats[$date]++;
         }
     }
     $last_updated = $datenow->toSql();
     $update_fields = array($this->_db->quoteName($this->getColumnAlias('all_time_stats')) . ' = (' . $this->_db->quoteName($this->getColumnAlias('all_time_stats')) . ' + 1)', $this->_db->quoteName($this->getColumnAlias('last_updated')) . ' = ' . $this->_db->quote($last_updated), $this->_db->quoteName($this->getColumnAlias('1_day_stats')) . ' = ' . $count_1, $this->_db->quoteName($this->getColumnAlias('7_day_stats')) . ' = ' . $count_7, $this->_db->quoteName($this->getColumnAlias('30_day_stats')) . ' = ' . $count_30, $this->_db->quoteName($this->getColumnAlias('raw_stats')) . ' = ' . $this->_db->quote(serialize($raw_stats)));
     // Check the row in by primary key.
     $query = $this->_db->getQuery(true)->update($this->_tbl)->set($update_fields);
     $this->appendPrimaryKeys($query, $pk);
     $this->_db->setQuery($query);
     $this->_db->execute();
     // Set table values in the object.
     $this->all_time_stats++;
     return true;
 }
Ejemplo n.º 6
0
$listDirn = $this->escape($this->state->get('list.direction'));
?>


			<?php 
if ($listDirn == 'asc') {
    $this->items[$this->i] = array_reverse($this->items[$this->i]);
}
foreach ($this->items[$this->i] as $i => $item) {
    echo ' ';
    ?>
				
				<div class="well span2">
					<div class="nowrap">
						<?php 
    echo JFactory::getdate($this->escape($item->tdate))->format('Y-m-d');
    ?>
					</div>
					<div class="">
						<?php 
    $ext = strtolower(JFile::getExt($item->filename));
    $mediapath = '/media/com_htraininglogs/images/';
    $target = ' target="_blank" ';
    switch ($ext) {
        case 'pdf':
            $mediafilethumb = $mediapath . 'pdf.png';
            break;
        case 'doc':
        case 'docx':
            $mediafilethumb = $mediapath . 'doc.png';
            break;