0,
'photo_title' => '',
'album_id' => 0,
'photo_description' => '',
'photo_keywords' => '',
'photo_filename' => '',
'photo_thumb1' => '',
'photo_thumb2' => '',
'photo_datestamp' => time(),
'photo_user' => $userdata['user_id'],
'photo_views' => 0,
'photo_order' => 0,
'photo_allow_comments' => TRUE,
'photo_allow_ratings' => TRUE,
];
if (isset($_POST['save_photo'])) {
$data = [
'photo_id' => form_sanitizer($_POST['photo_id'], '', 'photo_id'),
'photo_title' => form_sanitizer($_POST['photo_title'], '', 'photo_title'),
'album_id' => form_sanitizer($_POST['album_id'], '', 'album_id'),
'photo_description' => form_sanitizer($_POST['photo_description'], '', 'photo_description'),
'photo_keywords' => form_sanitizer($_POST['photo_keywords'], '', 'photo_keywords'),
'photo_order' => form_sanitizer($_POST['photo_order'], '', 'photo_order'),
'photo_datestamp' => form_sanitizer($_POST['photo_datestamp'], '', 'photo_datestamp'),
'photo_user' => form_sanitizer($_POST['photo_user'], '', 'photo_user'),
'photo_allow_comments' => isset($_POST['photo_allow_comments']) ? TRUE : FALSE,
'photo_allow_ratings' => isset($_POST['photo_allow_ratings']) ? TRUE : FALSE,
'photo_views' => 0,
'photo_filename' => '',
'photo_thumb1' => '',
'photo_thumb2' => '',
];
if (empty($data['photo_order'])) {
$data['photo_order'] = dbresult(dbquery("SELECT MAX(photo_order) FROM ".DB_PHOTOS." where album_id=:albumid", [':albumid' => $data['album_id']]), 0) + 1;
}
if (\defender::safe()) {
if (!empty($_FILES['photo_image']) && is_uploaded_file($_FILES['photo_image']['tmp_name'])) {
$upload = form_sanitizer($_FILES['photo_image'], '', 'photo_image');
if (empty($upload['error'])) {
$data['photo_filename'] = $upload['image_name'];
$data['photo_thumb1'] = $upload['thumb1_name'];
$data['photo_thumb2'] = $upload['thumb2_name'];
}
} else if ($data['photo_id'] > 0) { // during edit, photo_id is not 0.
// delete image
if (!empty($_POST['del_image'])) {
// album_id
$result = dbquery("select photo_filename, photo_thumb1, photo_thumb2 FROM ".DB_PHOTOS." WHERE photo_id=:photoid", [':photoid' => $data['photo_id']]);
if (dbrows($result) > 0) {
$pData = dbarray($result);
if ($pData['photo_filename'] && file_exists(IMAGES_G.$pData['photo_filename'])) {
unlink(IMAGES_G.$pData['photo_filename']);
}
if ($pData['photo_thumb1'] && file_exists(IMAGES_G.$pData['photo_thumb1'])) {
unlink(IMAGES_G_T.$pData['photo_thumb1']);
}
if ($pData['photo_thumb2'] && file_exists(IMAGES_G.$pData['photo_thumb2'])) {
unlink(IMAGES_G_T.$pData['photo_thumb2']);
}
$data['photo_filename'] = "";
$data['photo_thumb1'] = "";
$data['photo_thumb2'] = "";
}
} else {
$data['photo_filename'] = form_sanitizer($_POST['photo_filename'], '', 'photo_filename');
$data['photo_thumb2'] = !empty($_POST['photo_thumb2']) ? form_sanitizer($_POST['photo_thumb2'], '', 'photo_thumb2') : '';
$data['photo_thumb1'] = !empty($_POST['photo_thumb1']) ? form_sanitizer($_POST['photo_thumb1'], '', 'photo_thumb1') : '';
}
} else {
// because we require the photo image must be uploaded.
\defender::stop();
\defender::setInputError("photo_image");
addNotice('danger', $locale['photo_0014']);
}
}
if (\defender::safe()) {
if (dbcount("(photo_id)", DB_PHOTOS, "photo_id=:photoid", [':photoid' => intval($data['photo_id'])])) {
// update album
dbquery_order(DB_PHOTOS, $data['photo_order'], 'photo_order', $data['photo_id'], 'photo_id', FALSE, FALSE, FALSE, '', 'update');
dbquery_insert(DB_PHOTOS, $data, 'update');
addNotice('success', $locale['photo_0015']);
redirect(clean_request('album_id='.$data['album_id'], ['ref', 'action', 'album_id', 'photo_id', 'section'], FALSE));
} else {
// create album
dbquery_order(DB_PHOTOS, $data['photo_order'], 'photo_order', 0, "photo_id", FALSE, FALSE, FALSE, '', 'save');
dbquery_insert(DB_PHOTOS, $data, 'save');
addNotice('success', $locale['photo_0016']);
redirect(clean_request('album_id='.$data['album_id'], ['ref', 'action', 'album_id', 'photo_id', 'section'], FALSE));
}
}
}
if ($photo_edit) {
$result = dbquery("SELECT * FROM ".DB_PHOTOS." WHERE photo_id=:photoid", [':photoid' => intval($_GET['photo_id'])]);
if (dbrows($result) > 0) {
$data = dbarray($result);
} else {
redirect(FUSION_REQUEST);
}
}
echo openform('photoform', 'post', FUSION_REQUEST, ['enctype' => TRUE, 'class' => 'm-t-20']);
echo "
\n
\n";
echo form_hidden('photo_id', '', $data['photo_id']);
echo form_hidden('photo_datestamp', '', $data['photo_datestamp']);
echo form_hidden('photo_user', '', $data['photo_user']);
echo form_text('photo_title', $locale['photo_0001'], $data['photo_title'], [
'required' => TRUE,
'placeholder' => $locale['photo_0002'],
'class' => 'form-group-lg'
]);
openside('');
if ($data['photo_filename'] || $data['photo_thumb1']) {
echo "
\n";
$image = '';
if ($data['photo_filename'] && file_exists(IMAGES_G.$data['photo_filename'])) {
$image = thumbnail(IMAGES_G.$data['photo_filename'], $gll_settings['thumb_w']);
echo form_hidden('photo_filename', '', $data['photo_filename']);
}
if ($data['photo_thumb2'] && file_exists(IMAGES_G_T.$data['photo_thumb2'])) {
$image = thumbnail(IMAGES_G_T.$data['photo_thumb2'], $gll_settings['thumb_w']);
echo form_hidden('photo_thumb2', '', $data['photo_thumb2']);
}
if ($data['photo_thumb1'] && file_exists(IMAGES_G_T.$data['photo_thumb2'])) {
$image = thumbnail(IMAGES_G_T.$data['photo_thumb1'], $gll_settings['thumb_w']);
echo form_hidden('photo_thumb1', '', $data['photo_thumb1']);
}
echo "\n";
echo form_checkbox('del_image', $locale['gallery_0017'], '');
echo "
\n";
} else {
$upload_settings = [
'upload_path' => IMAGES_G,
'required' => TRUE,
'thumbnail_folder' => 'thumbs',
'thumbnail' => TRUE,
'thumbnail_w' => $gll_settings['thumb_w'],
'thumbnail_h' => $gll_settings['thumb_h'],
'thumbnail_suffix' => '_t1',
'thumbnail2' => TRUE,
'thumbnail2_w' => $gll_settings['photo_w'],
'thumbnail2_h' => $gll_settings['photo_h'],
'thumbnail2_suffix' => '_t2',
'max_width' => $gll_settings['photo_max_w'],
'max_height' => $gll_settings['photo_max_h'],
'max_byte' => $gll_settings['photo_max_b'],
'multiple' => FALSE,
'delete_original' => FALSE,
'inline' => FALSE,
'template' => "modern",
'error_text' => $locale['photo_0014'],
'valid_ext' => $gll_settings['gallery_file_types'],
'ext_tip' => sprintf($locale['album_0010'], parsebytesize($gll_settings['photo_max_b']), $gll_settings['gallery_file_types'],
$gll_settings['photo_max_w'], $gll_settings['photo_max_h'])
];
echo form_fileinput('photo_image', $locale['photo_0004'], '', $upload_settings);
}
closeside();
echo form_select('photo_keywords', $locale['album_0005'], $data['photo_keywords'], [
'placeholder' => $locale['album_0006'],
'multiple' => TRUE,
'tags' => TRUE,
'width' => '100%',
'inner_width' => '100%',
]);
$snippetSettings = [
'required' => FALSE,
'preview' => TRUE,
'type' => 'bbcode',
'autosize' => TRUE,
'form_name' => "photoform",
'placeholder' => $locale['photo_0009'],
'path' => []
];
if (fusion_get_settings("tinymce_enabled")) {
$snippetSettings = [
'form_name' => 'inputform',
'required' => FALSE,
'inline' => TRUE,
'placeholder' => $locale['photo_0009']
];
}
echo form_textarea('photo_description', $locale['photo_0008'], $data['photo_description'], $snippetSettings);
echo form_text('photo_order', $locale['photo_0013'], $data['photo_order'], [
'type' => 'number',
'inner_width' => '100px',
'inline' => TRUE
]);
echo "
\n";
echo "
\n";
echo form_select('album_id', $locale['photo_0003'], $data['album_id'], [
'options' => get_albumOpts(),
'inner_width' => "100%",
]);
echo form_checkbox('photo_allow_comments', $locale['photo_0010'], $data['photo_allow_comments']);
echo form_checkbox('photo_allow_ratings', $locale['photo_0011'], $data['photo_allow_ratings']);
echo "
\n
\n";
echo form_button('save_photo', $locale['photo_0012'], $locale['photo_0012'], ['class' => 'btn-success', 'icon' => 'fa fa-hdd-o']);
echo closeform();
} else {
echo "\n";
echo str_replace(
['[link]', '[/link]'], ['
', ''], $locale['gallery_0012']
);
echo "
\n";
}
}
function mass_photo_form() {
$locale = fusion_get_locale();
$aidlink = fusion_get_aidlink();
$userdata = fusion_get_userdata();
$gll_settings = get_settings('gallery');
$albumRows = dbcount("(album_id)", DB_PHOTO_ALBUMS, multilang_table("PG") ? in_group('album_language', LANGUAGE) : "");
if ($albumRows) {
if (isset($_POST['upload_photo'])) {
$data['album_id'] = form_sanitizer($_POST['album_id'], 0, 'album_id');
if (\defender::safe()) {
$upload = form_sanitizer($_FILES['photo_mass_image'], '', 'photo_mass_image');
$success_upload = 0;
$failed_upload = 0;
if (!empty($upload)) {
$total_files_uploaded = count($upload);
for ($i = 0; $i < $total_files_uploaded; $i++) {
$current_upload = $upload[$i];
if ($current_upload['error'] == 0) {
$current_photos = [
'album_id' => $data['album_id'],
'photo_title' => $current_upload['image_name'],
'photo_filename' => $current_upload['image_name'],
'photo_thumb1' => $current_upload['thumb1_name'],
'photo_thumb2' => $current_upload['thumb2_name'],
'photo_datestamp' => time(),
'photo_user' => $userdata['user_id'],
'photo_order' => dbresult(dbquery("SELECT MAX(photo_order) FROM ".DB_PHOTOS." where album_id=:albumid", [':albumid' => $data['album_id']]), 0) + 1
];
dbquery("INSERT INTO ".DB_PHOTOS." (".implode(", ", array_keys($current_photos)).")
VALUES ('".implode("','", array_values($current_photos))."')
");
$success_upload++;
} else {
$failed_upload++;
}
}
addNotice('success', sprintf($locale['photo_0021'], $success_upload));
if ($failed_upload) {
addNotice('warning', sprintf($locale['photo_0021a'], $failed_upload));
}
redirect(clean_request('album_id='.$data['album_id'], ['ref', 'action', 'album_id', 'photo_id', 'section'], FALSE));
}
}
}
echo openform('mass_form', 'post', FUSION_REQUEST, ['enctype' => TRUE, 'class' => 'clearfix']);
echo "\n".$locale['photo_0019']."
\n";
echo form_select('album_id', $locale['photo_0003'], '', [
'input_id' => 'album',
'options' => get_albumOpts(),
]);
$upload_settings = [
'upload_path' => IMAGES_G,
'required' => TRUE,
'thumbnail_folder' => 'thumbs',
'thumbnail' => TRUE,
'thumbnail_w' => $gll_settings['thumb_w'],
'thumbnail_h' => $gll_settings['thumb_h'],
'thumbnail_suffix' => '_t1',
'thumbnail2' => TRUE,
'thumbnail2_w' => $gll_settings['photo_w'],
'thumbnail2_h' => $gll_settings['photo_h'],
'thumbnail2_suffix' => '_t2',
'max_width' => $gll_settings['photo_max_w'],
'max_height' => $gll_settings['photo_max_h'],
'max_byte' => $gll_settings['photo_max_b'],
'delete_original' => FALSE,
'template' => 'modern',
'multiple' => TRUE,
'inline' => FALSE,
'max_count' => 20,
'error_text' => $locale['photo_0014'],
'valid_ext' => $gll_settings['gallery_file_types'],
'ext_tip' => sprintf($locale['album_0010'], parsebytesize($gll_settings['photo_max_b']), $gll_settings['gallery_file_types'],
$gll_settings['photo_max_w'], $gll_settings['photo_max_h']),
];
echo form_fileinput('photo_mass_image[]', $locale['photo_0004'], '', $upload_settings);
echo form_button('upload_photo', $locale['photo_0020'], $locale['photo_0020'], ['class' => 'btn-primary']);
echo closeform();
} else {
echo "\n";
echo str_replace(
['[link]', '[/link]'], ['
', ''], $locale['gallery_0012']
);
echo "
\n";
}
}