| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 | 
							- <?php
 
- /**
 
-  * Market helper functions
 
-  *
 
-  * @package Market
 
-  */
 
- /**
 
-  * Pull together market variables for the save/edit form
 
-  *
 
-  * @param Market $post
 
-  * @return array
 
-  */
 
- function market_prepare_form_vars($post = NULL) {
 
- 	$values = array(
 
- 		'title' => NULL,
 
- 		'description' => NULL,
 
- 		'price' => NULL,
 
- 		'access_id' => ACCESS_DEFAULT,
 
- 		'marketcategory' => NULL,
 
- 		'market_type' => NULL,
 
- 		'location' => NULL,
 
- 		'custom' => NULL,
 
- 		'tags' => NULL,
 
- 		'container_guid' => elgg_get_page_owner_guid(),
 
- 		'guid' => NULL,
 
- 	);
 
- 	if ($post) {
 
- 		foreach (array_keys($values) as $field) {
 
- 			if (isset($post->$field)) {
 
- 				$values[$field] = $post->$field;
 
- 			}
 
- 		}
 
- 	}
 
- 	if (elgg_is_sticky_form('market')) {
 
- 		$sticky_values = elgg_get_sticky_values('market');
 
- 		foreach ($sticky_values as $key => $value) {
 
- 			$values[$key] = $value;
 
- 		}
 
- 	}
 
- 	
 
- 	elgg_clear_sticky_form('market');
 
- 	if (!$post) {
 
- 		return $values;
 
- 	}
 
- 	return $values;
 
- }
 
- /**
 
-  * Delete market post and pictures
 
-  *
 
-  * @param Market $post
 
-  * @return array
 
-  */
 
- function market_delete_post($post = NULL) {
 
- 	if (!$post) {
 
- 		return false;
 
- 	}
 
- 	// Get owning user
 
- 	$owner = get_entity($post->getOwner());
 
- 	$owner_guid = $owner->guid;
 
- 	// Delete the images
 
- 	$prefix = "market/".$guid;
 
- 		
 
- 	$small = $prefix."small.jpg";
 
- 	$medium = $prefix."medium.jpg";
 
- 	$large = $prefix."large.jpg";
 
- 	$master = $prefix."master.jpg";
 
- 	$original = $prefix.".jpg";
 
- 				
 
- 	if ($small) {
 
- 		$delfile = new ElggFile();
 
- 		$delfile->owner_guid = $owner_guid;
 
- 		$delfile->setFilename($small);
 
- 		$delfile->delete();
 
- 	}
 
- 	if ($medium) {
 
- 		$delfile = new ElggFile();
 
- 		$delfile->owner_guid = $owner_guid;
 
- 		$delfile->setFilename($medium);
 
- 		$delfile->delete();
 
- 	}
 
- 	if ($large) {
 
- 		$delfile = new ElggFile();
 
- 		$delfile->owner_guid = $owner_guid;
 
- 		$delfile->setFilename($large);
 
- 		$delfile->delete();
 
- 	}
 
- 	if ($master) {
 
- 		$delfile = new ElggFile();
 
- 		$delfile->owner_guid = $owner_guid;
 
- 		$delfile->setFilename($master);
 
- 		$delfile->delete();
 
- 	}
 
- 	if ($original) {
 
- 		$delfile = new ElggFile();
 
- 		$delfile->owner_guid = $owner_guid;
 
- 		$delfile->setFilename($original);
 
- 		$delfile->delete();
 
- 	}
 
- 	// Delete the market post
 
- 	$rowsaffected = $post->delete();
 
- 	if ($rowsaffected > 0) {
 
- 		// Success
 
- 		return true;
 
- 	} else {
 
- 		// Error
 
- 		return false;
 
- 	}
 
- }
 
- /**
 
-  * Add images to market post
 
-  *
 
-  * @param Market $post
 
-  * @return array
 
-  */
 
- function market_add_image($post = NULL, $data = NULL, $imagenum = 0) {
 
- 	if (!$post || !$data) {
 
- 		return false;
 
- 	}
 
- 	$filenum = $imagenum;
 
- 	if ($imagenum == 1) {
 
- 		$filenum = '';
 
- 	}
 
- 	$prefix = "market/".$post->guid;
 
- 		
 
- 	$filehandler = new ElggFile();
 
- 	$filehandler->owner_guid = $post->owner_guid;
 
- 	$filehandler->setFilename($prefix . $filenum . ".jpg");
 
- 	$filehandler->open("write");
 
- 	$filehandler->write($data);
 
- 	$filehandler->close();
 
- 		
 
- 	$small = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(),40,40, true);
 
- 	$medium = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(),153,153, true);
 
- 	$large = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(),200,200, false);
 
- 	$master = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(),600,800, false);
 
- 	if ($small) {
 
- 	
 
- 		$sizes = array('small' => $small, 'medium' => $medium, 'large' => $large, 'master' => $master);
 
- 		foreach($sizes as $size => $imgdata) {
 
- 			
 
- 				$thumb = new ElggFile();
 
- 				$thumb->owner_guid = $post->owner_guid;
 
- 				$thumb->setMimeType('image/jpeg');
 
- 				$thumb->setFilename($prefix.$size.$filenum.'.jpg');
 
- 				$thumb->open('write');
 
- 				$thumb->write($imgdata);
 
- 				$thumb->close();
 
- 		}
 
- 		
 
- 		// Set image in metadata array
 
- 		market_set_images($post, $imagenum);
 
- 	}
 
- }
 
- /**
 
-  * Set what images has been uploaded (1,2,3, or 4)
 
-  *
 
-  * @param Market $post
 
-  * @return array
 
-  */
 
- function market_set_images($post, $imagenum) {
 
- 	// Check images metadata, if empty create initial array
 
- 	if ($post->images == '') {
 
- 		$post->images = serialize(array(1 => 0, 2 => 0, 3 => 0, 4 => 0));
 
- 	}
 
- 	
 
- 	// Create image array and seialize it into metadata
 
- 	$images = unserialize($post->images);
 
- 	$new_array = array();
 
- 	foreach ($images as $key => $value) {
 
- 		if ($key == $imagenum) {
 
- 			$value = 1;
 
- 		}
 
- 		$new_array[$key] = $value;
 
- 	}
 
- 	$post->images = serialize($new_array);
 
- 	return true;
 
- }
 
- /**
 
-  * Delete market post and pictures
 
-  *
 
-  * @param Market $post
 
-  * @return array
 
-  */
 
- function market_delete_image($post = NULL, $imagenum) {
 
- 	if (!$post || !$imagenum) {
 
- 		return false;
 
- 	}
 
- 	$filenum = $imagenum;
 
- 	if ($imagenum == 1) {
 
- 		$filenum = '';
 
- 	}
 
- 	$owner = get_entity($post->getOwner());
 
- 	$owner_guid = $owner->guid;
 
- 	$prefix = "market/{$post->guid}";
 
- 	$names = array("{$prefix}small{$filenum}.jpg", "{$prefix}medium{$filenum}.jpg", "{$prefix}large{$filenum}.jpg", "{$prefix}master{$filenum}.jpg");
 
- 	foreach($names as $name) {
 
- 		$delfile = new ElggFile();
 
- 		$delfile->owner_guid = $owner_guid;
 
- 		$delfile->setFilename($name);
 
- 		$delfile->delete();
 
- 	}
 
- 	$images = unserialize($post->images);
 
- 	$new_array = array();
 
- 	foreach ($images as $key => $value) {
 
- 		if ($key == $imagenum) {
 
- 			$value = 0;
 
- 		}
 
- 		$new_array[$key] = $value;
 
- 	}
 
- 	$post->images = serialize($new_array);
 
- 	$post->save();
 
- 	return true;
 
- }
 
 
  |