หน้าฟอร์ม
โค้ด: เลือกทั้งหมด
<dl>
<dt><label for="avata">{L_PROFILE_IMAGE_V3}{L_COLON}</label></dt>
<dd class="avatar_image " for="file-upload" >
<label for="file-upload" >
<!-- IF AVATAR -->{AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF -->
</label>
<input id="file-upload" name='avatar_upload_file' type="file" accept="image/*" style="display:none;">
<input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_UPLOAD_SIZE}" />
<button type="button" name="avatar_delete" id="avatar_delete" class="avatar_delete" ><span class="head-p-icon"><img src="{T_THEME_PATH}/images/icon_close.png" alt="" /></span></button>
<!-- BEGIN avatar_drivers -->
<!-- IF avatar_drivers.SELECTED -->
<input type="hidden" name="avatar_driver" id="avatar_driver" value="{avatar_drivers.DRIVER}" />
<!-- ENDIF -->
<!-- END avatar_drivers -->
<!-- IF S_UPLOAD_AVATAR_URL -->
<input type="hidden" name="avatar_upload_url" id="avatar_upload_url" value="" class="inputbox" />
<!-- ENDIF -->
<br>
<span class="notify_image">{L_AVATAR_EXPLAIN}</span>
</dd>
</dl>
โค้ด: เลือกทั้งหมด
public function upload_profile_avatar($file){
global $phpbb_container, $cache,$user,$config,$request,$phpbb_root_path,$db,$template;
if ($this->request->is_set_post('submit'))
{
$avatar_path = $phpbb_root_path . $config['avatar_path'];
/* @var $phpbb_avatar_manager \phpbb\avatar\manager */
$phpbb_avatar_manager = $phpbb_container->get('avatar.manager');
$avatar_drivers = $phpbb_avatar_manager->get_enabled_drivers();
$error= array();
$avatar_data = \phpbb\avatar\manager::clean_row($user->data, 'user');
$driver_name = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', ''));
if (in_array($driver_name, $avatar_drivers))
{
$driver = $phpbb_avatar_manager->get_driver($driver_name);
//ตรงนี้ที่ไม่ได้ค่า $result ออกมา
//process_form เป็นของ phpbb/avatar/driver/upload.php
$result = $driver->process_form($request, $template, $user, $avatar_data, $error);
if ($result)
{
// Success! Lets save the result in the database
$result = array(
'user_avatar_type' => $driver_name,
'user_avatar' => $result['avatar'],
'user_avatar_width' => $result['avatar_width'],
'user_avatar_height' => $result['avatar_height'],
);
$sql = 'UPDATE ' . USERS_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $result) . '
WHERE user_id = ' . (int) $user->data['user_id'];
$db->sql_query($sql);
}
}
}
}