3 require_once('inc/wfpl/upload.php');
5 $GLOBALS['upload_directory'] = 'image/';
8 function admin_header_get_fields() {
11 $data['width'] = (int) format_int_0(_REQUEST_cut('width'));
12 $data['caption'] = format_oneline(_REQUEST_cut('caption'));
14 if ($data['width'] < 100 || $data['width'] > WFPL_SITE_WIDTH) {
15 $data['width'] = WFPL_SITE_WIDTH;
18 $old = persistent_get('wfplcms_header_image');
19 if ($_FILES['image'] && $_FILES['image']['error'] == 0) {
21 $data['version'] = 1 + $old['version'];
25 $ext = generate_filename($_FILES['image']['name'], $_FILES['image']['type']);
26 $ext = substr($ext, strrpos($ext, '.') + 1);
27 $ext = strtolower($ext);
28 if ($ext !== 'jpg' && $ext !== 'jpeg') {
31 $dest = "{$GLOBALS['upload_directory']}header_v{$data['version']}.$ext";
32 $image = convert_uploaded_image('image', $dest, $data['width'], 2000);
33 # FIXME use autoresizer instead, and call identify to get aspect ratio
34 $image = explode(' ', $image);
35 $data['url'] = $image[0];
36 $data['width'] = $image[1];
37 $data['height'] = $image[2];
39 $data['url'] = $old['url'];
40 if ($data['width'] == $old['width']) {
41 $data['height'] = $old['height'];
43 $data['height'] = $old['height'] / $old['width'] * $data['width'];
46 unset($_FILES['image']);
52 function admin_header_main() {
53 session_auth_must('admin_header');
55 if (isset($_REQUEST['width'])) {
56 $data = admin_header_get_fields();
57 if (isset($data['url'])) {
58 persistent_set('wfplcms_header_image', $data);
59 message('Header image updated');
60 return './admin_header';
63 $data = persistent_get('wfplcms_header_image');
65 $data = array('width' => '');
69 tem_set('width_max', WFPL_SITE_WIDTH);
71 tem_set('form', $data);