diff options
Diffstat (limited to 'mod/groups')
-rw-r--r-- | mod/groups/actions/edit.php | 48 | ||||
-rw-r--r-- | mod/groups/languages/en.php | 1 | ||||
-rw-r--r-- | mod/groups/views/default/forms/groups/edit.php | 13 |
3 files changed, 59 insertions, 3 deletions
diff --git a/mod/groups/actions/edit.php b/mod/groups/actions/edit.php index c8eebbd84..b5502115b 100644 --- a/mod/groups/actions/edit.php +++ b/mod/groups/actions/edit.php @@ -59,7 +59,53 @@ $group->save(); - $group->join($user); // Creator always a member + if (!$group->isMember($user)) + $group->join($user); // Creator always a member + + + // Now see if we have a file icon + if ((isset($_FILES['icon'])) && (substr_count($_FILES['icon']['type'],'image/'))) + { + $prefix = "groups/".$group->guid; + + $filehandler = new ElggFile(); + $filehandler->owner_guid = $group->owner_guid; + $filehandler->setFilename($prefix . ".jpg"); + $filehandler->open("write"); + $filehandler->write(get_uploaded_file('icon')); + $filehandler->close(); + + $thumbtiny = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(),25,25, true); + $thumbsmall = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(),40,40, true); + $thumbmedium = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(),100,100, true); + $thumblarge = get_resized_image_from_existing_file($filehandler->getFilenameOnFilestore(),200,200, false); + if ($thumbtiny) { + + $thumb = new ElggFile(); + $thumb->setMimeType('image/jpeg'); + + $thumb->setFilename($prefix."tiny.jpg"); + $thumb->open("write"); + $thumb->write($thumbtiny); + $thumb->close(); + + $thumb->setFilename($prefix."small.jpg"); + $thumb->open("write"); + $thumb->write($thumbsmall); + $thumb->close(); + + $thumb->setFilename($prefix."medium.jpg"); + $thumb->open("write"); + $thumb->write($thumbmedium); + $thumb->close(); + + $thumb->setFilename($prefix."large.jpg"); + $thumb->open("write"); + $thumb->write($thumblarge); + $thumb->close(); + + } + } system_message(elgg_echo("groups:saved")); diff --git a/mod/groups/languages/en.php b/mod/groups/languages/en.php index d286835d5..af3213fbf 100644 --- a/mod/groups/languages/en.php +++ b/mod/groups/languages/en.php @@ -22,6 +22,7 @@ 'groups:new' => "Create a new group", 'groups:edit' => "Edit a group", + 'groups:icon' => 'Group icon (leave blank to leave unchanged)', 'groups:title' => 'Group title', 'groups:description' => 'Description', 'groups:interests' => 'Interests', diff --git a/mod/groups/views/default/forms/groups/edit.php b/mod/groups/views/default/forms/groups/edit.php index 7a3a9c353..abb226464 100644 --- a/mod/groups/views/default/forms/groups/edit.php +++ b/mod/groups/views/default/forms/groups/edit.php @@ -9,8 +9,17 @@ * @link http://elgg.com/ */ ?> -<form action="<?php echo $vars['url']; ?>action/groups/edit" method="post"> +<form action="<?php echo $vars['url']; ?>action/groups/edit" enctype="multipart/form-data" method="post"> + <p> + <label><?php echo elgg_echo("groups:icon"); ?><br /> + <?php + + echo elgg_view("input/file",array('internalname' => 'icon')); + + ?> + </label> + </p> <?php //var_export($vars['profile']); @@ -46,7 +55,7 @@ <?php if ($vars['entity']) { - ?><input type="hidden" name="group_guid" value="<?php //echo $vars['entity']->getGUID(); ?>" /><?php + ?><input type="hidden" name="group_guid" value="<?php echo $vars['entity']->getGUID(); ?>" /><?php } ?> <input type="hidden" name="user_guid" value="<?php echo page_owner_entity()->guid; ?>" /> |