WFPL_SITE_WIDTH) { $data['width'] = WFPL_SITE_WIDTH; } $old = persistent_get('wfplcms_header_image'); if ($_FILES['image'] && $_FILES['image']['error'] == 0) { if ($old) { $data['version'] = 1 + $old['version']; } else { $data['version'] = 1; } $ext = generate_filename($_FILES['image']['name'], $_FILES['image']['type']); $ext = substr($ext, strrpos($ext, '.') + 1); $ext = strtolower($ext); if ($ext !== 'jpg' && $ext !== 'jpeg') { $ext = 'png'; } $dest = "{$GLOBALS['upload_directory']}header_v{$data['version']}.$ext"; $image = convert_uploaded_image('image', $dest, $data['width'], 2000); # FIXME use autoresizer instead, and call identify to get aspect ratio $image = explode(' ', $image); $data['url'] = $image[0]; $data['width'] = $image[1]; $data['height'] = $image[2]; } else if ($old) { $data['url'] = $old['url']; if ($data['width'] == $old['width']) { $data['height'] = $old['height']; } else { $data['height'] = $old['height'] / $old['width'] * $data['width']; } } unset($_FILES['image']); return $data; } function admin_header_main() { session_auth_must('admin_header'); if (isset($_REQUEST['width'])) { $data = admin_header_get_fields(); if (isset($data['url'])) { persistent_set('wfplcms_header_image', $data); message('Header image updated'); return './admin_header'; } } else { $data = persistent_get('wfplcms_header_image'); if (!$data) { $data = array('width' => ''); } } tem_set('width_max', WFPL_SITE_WIDTH); tem_set('form', $data); }