Egész pontosan ezt írta: “a single-photo fájlban volt egy plusz the_excerp kód”. Ez volt az oka, hogy kétszer jelent meg a szöveg a bejegyzésben, egyszer csak a bevezető, és utána még egyszer az egész.
Sziasztok, van valami kész megoldás arra, hogy a nextgen gallery automatikusan vízjelezze a feltöltött képeket?
Hmmm…
Galéria — Beállítások — Vízjel
no ott nem tudod ezt beállítani 
Szia BLajos!
Szerintem a nextgen alapból nem tud rátenni vízjelet. Ahhoz, hogy tudjon bele kellene mászni a kódba, de ez fölösleges és macerás.
Persze, ha mondjuk hetente többször több száz képet akarsz feltenni, akkor már el lehetne gondolkodni rajta, de akkoris inkább még feltöltés előtt egy képszerkesztő programot használnék és a már jelölt képeket tölteném fel.
Üdv,
P.
“Szerintem a nextgen alapból nem tud rátenni vízjelet.”
De tud
a fennt említett oldalon kell beállítani.
Bocs, nem fogalmaztam egyértelműen 
alapból = egyből, azaz a képek feltöltésekor, a bélyegkép elkészítésén kívül nem tud rátenni vízjelet
Szia, tud vízjelezni a nextgen alapból, csak rá kell kattintani a vízjelezésre.
Akár csak kiválasztott képeket, akár egy egész galéria vagy akár az összes galéria képeit csoportosan is vízjelezi.
De az kellene, hogy a nextgen public uploader pluginból a felhasználók által feltöltött képeket automatikusan vízjelezze, azaz ne kelljen nekem manuálisan az adminban ráböknöm a vízjelezésre.
keresd meg a nextgen gallery admin mappájában a functions.php fájlban ezt a részt a kétszázadik, meg az ezredik sor után nem sokkal ezt a részt:
// add images to database
$image_ids = nggAdmin::add_Images($gallery_id, $new_images);
//add the preview image if needed
nggAdmin::set_gallery_preview ( $gallery_id );
illeszd be ezt mögé mind a két helyen:
// vízjel létrehozása
nggAdmin::do_ajax_operation( 'set_watermark' , $image_ids, __('Set watermark','nggallery') );
azután az ajx.php fájl 37.sorában ezt:
;
case 'create_thumbnail' :
$result = nggAdmin::create_thumbnail($picture)
cseréld le erre:
case 'create_thumbnail' :
nggAdmin::set_watermark($picture);
$result = nggAdmin::create_thumbnail($picture);
így automatikusan a kép feltöltésekor rákerül a vízjel a képre.
// add images to database
$image_ids = nggAdmin::add_Images($gallery_id, $new_images);
//add the preview image if needed
nggAdmin::set_gallery_preview ( $gallery_id );
illeszd be ezt mögé mind a két helyen:
// vízjel létrehozása
nggAdmin::do_ajax_operation( 'set_watermark' , $image_ids, __('Set watermark','nggallery') );
azután az ajx.php fájl 37.sorában ezt:
;
case 'create_thumbnail' :
$result = nggAdmin::create_thumbnail($picture)
cseréld le erre:
case 'create_thumbnail' :
nggAdmin::set_watermark($picture);
$result = nggAdmin::create_thumbnail($picture);
így automatikusan a kép feltöltésekor rákerül a vízjel a képre.
// vízjel létrehozása
nggAdmin::do_ajax_operation( 'set_watermark' , $image_ids, __('Set watermark','nggallery') );
azután az ajx.php fájl 37.sorában ezt:
case 'create_thumbnail' :
$result = nggAdmin::create_thumbnail($picture);
cseréld le erre:
case 'create_thumbnail' :
nggAdmin::set_watermark($picture);
$result = nggAdmin::create_thumbnail($picture);
így automatikusan a kép feltöltésekor rákerül a vízjel a képre.;
case 'create_thumbnail' :
$result = nggAdmin::create_thumbnail($picture)
cseréld le erre:
case 'create_thumbnail' :
nggAdmin::set_watermark($picture);
$result = nggAdmin::create_thumbnail($picture);
így automatikusan a kép feltöltésekor rákerül a vízjel a képre.
case 'create_thumbnail' :
nggAdmin::set_watermark($picture);
$result = nggAdmin::create_thumbnail($picture);
így automatikusan a kép feltöltésekor rákerül a vízjel a képre.
jah, természetesen állítsd be a vízjelezéshez használandó képet vagy szöveget a nextgen beállításaiban az adminon 
Köszi, ez gyorsan ment.
Működik, király, ha adminból töltök fel, de a public uploaderből feltöltve nem vízjelezi a képeket.
valószínűleg az nem azt a metódust használja
vagy pedig jogosultsági probléma van vele. nem mondom, hogy azonnal, de majd ránézek.
A public uploader külön plugin és ahogy @impavidus mondja mást hív meg, ott is hasnlóképp kell eljárni.
Sziasztok, ismét tudakozódni jöttem 
Most olyan nyűgöm van, hogy a nextgen beállításaiban bekapcsolom szépen az imagebrowser opciót a megjelenítéshez, megy is minden szépen, sikerült azt is beállítanom, hogy nem pid=xxx hanem szépséges keresőbarát URL címe van az oldalaknak amiket generál a képeknek a nextgen.
A problémám, hogy a wordpress likebutton pluginja nem az oldalon lévő képet lájkolja, hanem az egész galériát… és nem is teszi be a képet, csak egy kis bejegyzést készít.
tud valaki megoldást a dologra, hogy a képeket lájkolja a like button és még be is tegye a lájkolt képet az üzenőfalra?
[font=arial, sans-serif:1rnq1wjq]A facebook like, ha jól tudom, már nem csinál olyat, hogy a thumbnail képeket is megosztja. A share funkció az ami neked kell, a megosztási számok megjelenítésével.
Az egyszerűbb utat írom le neked, ami nem igényel mindenféle bonyolultabb programozást és paraméterezgetést.[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]Ha jól látom abból amit írtál, a keresőbarát urkl-eket már sikerült beállítanod az imagebrowseres megjelenítésnél amikor új oldalban nyitja meg a képeket a nextgen.
A galéria admin felületén tehát amit megadtál alt és title szöveget, azt fogja megjeleníttetni a keresőbarát url-ként, ha nem adtál meg szöveget akkor a kép neve és egy random generált karaktersor lesz.[/font:1rnq1wjq]
[font=arial, sans-serif:1rnq1wjq]
[]Töltsd le és telepítsd a ShareThis plugint a wordpressbe http://wordpress.org/extend/plugins/share-this/ .
[]Aktiválás után beállításaiban állítsd be a horizontal count megjelenést.
[]Az Add facebook like és a multipost funkciókat pippantsd be.
[]Az automatically add share this opciókat page és post esetében állítsd no-ra. (így nem fogja automatikusan minden oldalba beilleszteni a"gyári" megjelenítőkódot. Nincs rá szükséged, mert egyedit fogsz használni, amit kifejezetten a nextgen imagebrowseres megjelenítéséhez van testre szabva.)
[*]Elmented a beállításokat.
[/list][/font:1rnq1wjq]
[font=arial, sans-serif:1rnq1wjq]Ezután nyisd meg a wp-content/plugins/nextgen-gallery/view/imagebrowser.php fájlt.[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]illeszd be a következő sort a[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]
alttext ?>
[/size][/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]kódrészlet után:[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]
<span class=‘st_facebook_hcount’ st_title=‘alttext ?>’ st_url=‘gallery/image/alttext ?>/’ displayText=‘Facebook Share’>és ezzel készen is vagy.[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]
Ha szeretnéd pozícionálni a sharebuttont, akkor a beillesztett kódot tedd egy divbe, addj neki egy ID-t így:[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]
<span class=‘st_facebook_hcount’ st_title=‘alttext ?>’ st_url=‘gallery/image/alttext ?>/’ displayText=‘Facebook Share’>[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]és utána cssben paraméterezheted, hogy a megjelenése már a képen legyen akár.[/font:1rnq1wjq]
alttext ?>
[/font][font=arial, sans-serif:1rnq1wjq]kódrészlet után:[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]<span class=‘st_facebook_hcount’ st_title=‘alttext ?>’ st_url=‘gallery/image/alttext ?>/’ displayText=‘Facebook Share’>és ezzel készen is vagy.[/size][/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]
Ha szeretnéd pozícionálni a sharebuttont, akkor a beillesztett kódot tedd egy divbe, addj neki egy ID-t így:[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]
<span class=‘st_facebook_hcount’ st_title=‘alttext ?>’ st_url=‘gallery/image/alttext ?>/’ displayText=‘Facebook Share’>[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]és utána cssben paraméterezheted, hogy a megjelenése már a képen legyen akár.[/font:1rnq1wjq]
<span class=‘st_facebook_hcount’ st_title=‘alttext ?>’ st_url=‘gallery/image/alttext ?>/’ displayText=‘Facebook Share’>és ezzel készen is vagy.[/font][font=arial, sans-serif:1rnq1wjq]Ha szeretnéd pozícionálni a sharebuttont, akkor a beillesztett kódot tedd egy divbe, addj neki egy ID-t így:[/font:1rnq1wjq][font=arial, sans-serif:1rnq1wjq]
és utána cssben paraméterezheted, hogy a megjelenése már a képen legyen akár.[/font:1rnq1wjq]
<span class=‘st_facebook_hcount’ st_title=‘alttext ?>’ st_url=‘gallery/image/alttext ?>/’ displayText=‘Facebook Share’>[/font][font=arial, sans-serif:1rnq1wjq]és utána cssben paraméterezheted, hogy a megjelenése már a képen legyen akár.[/font:1rnq1wjq]off: Nem lehetne a fórum kinézetét beoptimalizálni, hogy 1280-nál kisebb felbontáson se kelljen jobbra balra görgetni?
pl a css 72.sorban a width 1170-et átírni max-width 1170-re? 
Köszi, ez egyszerű volt, 
Üdv, ismét jelentkezek és segítségre vágyok 
Minden működik a nextgen galériával kapcsolatban, egyetlen dolgot nem tudok megoldani:
A public uploader plugin nagyon jól működik, csak tagok tudnak feltölteni képet, de nem tárolódik le, hogy melyik user töltötte fel. Ãgy pedig, mivel fotós versenyt rendeznénk, nehéz nyertest hirdetni, 
Ez valahogyan megoldható?
Gondolkodtam azon, hogy az uploader description mezőjében a nevet adják meg, de ugye az megjelenik az oldalon, mint a kép leírása, és jó lenne, ha az megmaradna, és az lenne a kép neve a keresőbarát url-ben amit ott megad, a név pedig nem jelenne meg, lévén anonim verseny lesz szakmai zsűrivel és közönségszavazással vegyesen.
Valakinek van erre valami megoldása, vagy létezik valami plugin? Én nem találtam sehol.
Megvan a megoldás 
Impavidus küldött emailben egy teljes npu-upload.php fájlt amivel a plugin inc mappájában lévő npu-upload fájlt kellett kicserélnem.
Engedélyével közzéteszem itt a módosított fájlt, hogy más is használhassa.
A fájlban benne van kommentben, hogy mit kell még csinálni, bekapcsolni, és/vagy módosítani akár más fájlban, ha még egy két funkciót, a kérésemhez kapcsolódóan használni szeretnénk a teljes élvezethez 
Itt is köszönöm a segítséget neki, ti pedig használjátok egészséggel a modot.
<?php
if (!class_exists(“npuGalleryUpload”)) {
// Public Variables
class npuGalleryUpload {
public $arrImageIds;
public $strGalleryPath = false;
public $blnRedirectPage = false;
public $arrUploadedThumbUrls = false;
public $arrUploadedImageUrls = false;
public $arrErrorMsg = array();
public $arrImageMsg = array();
public $arrErrorMsg_widg = array();
public $arrImageMsg_widg = array();
public $arrImageNames = array();
public $arrImageMeta = array();
public $strTitle = false;
public $strDescription = false;
public $strKeywords = false;
public $strTimeStamp = false;
// Function: Constructors
public function __construct()
{
add_shortcode(“ngg_uploader”, array(&$this, ‘shortcode_show_uploader’)); // Shortcode Uploader
// Enable Widget
if(get_option(‘npu_widget_uploader_select’) == ‘Enabled’) {
add_action(‘widgets_init’, array(&$this, ‘npu_upload_register’)); // Widget Uploader
}
}
// Function: Register Widget
public function npu_upload_register() {
$options = get_option(‘npu_gal_upload’);
if (!$options) {
$options = array();
}
$widget_ops = array(‘classname’ => ‘npu_gallery_upload’, ‘description’ => __(‘Upload images to a NextGEN Gallery’, ‘nggallery’));
$control_ops = array(‘width’ => 250, ‘height’ => 200, ‘id_base’ => ‘npu-gallery-upload’);
$name = __(‘NextGEN Uploader’,‘nggallery’);
$id = false;
foreach (array_keys($options) as $o) {
if (!isset($options[$o][‘title’])) {
continue;
}
$id = “npu-gallery-upload-$o”;
wp_register_sidebar_widget($id, $name, array(&$this, ‘npu_upload_output’), $widget_ops, array(‘number’ => $o));
wp_register_widget_control($id, $name, array(&$this, ‘npu_upload_control’), $control_ops, array(‘number’ => $o));
}
if ( !$id ) {
wp_register_sidebar_widget( ‘npu-gallery-upload-1’, $name, array(&$this, ‘npu_upload_output’), $widget_ops, array( ‘number’ => -1 ) );
wp_register_widget_control( ‘npu-gallery-upload-1’, $name, array(&$this, ‘npu_upload_control’), $control_ops, array( ‘number’ => -1 ) );
}
}
// Function: Widget Control
public function npu_upload_control($widget_args = 1) {
global $wp_registered_widgets, $wpdb;
static $updated = false;
if (is_numeric($widget_args)) {
$widget_args = array(‘number’ => $widget_args);
}
$widget_args = wp_parse_args($widget_args, array(‘number’ => -1));
extract($widget_args, EXTR_SKIP);
$options = get_option(‘npu_gal_upload’);
if (!is_array($options)) {
$options = array();
}
if (!$updated && !empty($_POST[‘sidebar’])) {
$sidebar = (string) $_POST[‘sidebar’];
$sidebar_widgets = wp_get_sidebars_widgets();
if (isset($sidebar_widgets[$sidebar])) {
$this_sidebar = &$sidebar_widgets[$sidebar];
} else {
$this_sidebar = array();
}
foreach ($this_sidebar as $_widget_id) {
if (‘npu_gallery_upload’ == $wp_registered_widgets[$_widget_id][‘classname’] && isset($wp_registered_widgets[$_widget_id][‘params’][0][‘number’])) {
$widget_number = $wp_registered_widgets[$_widget_id][‘params’][0][‘number’];
if (!in_array(“npu-gallery-upload-{$widget_number}”, $_POST[‘widget-id’])) {
unset ($options[$widget_number]);
}
}
}
foreach ((array)$_POST[‘widget_npu_upload’] as $widget_number => $widget_npu_upload) {
if (!isset($widget_npu_upload[‘gal_id’]) && isset($options[$widget_number])) {
continue;
}
$widget_npu_upload = stripslashes_deep($widget_npu_upload);
$options[$widget_number][‘title’] = $widget_npu_upload[‘title’];
$options[$widget_number][‘gal_id’] = $widget_npu_upload[‘gal_id’];
}
update_option(‘npu_gal_upload’, $options);
$updated = true;
}
if (-1 == $number) {
$title = ‘Upload’;
$gal_id = 0;
$number = ‘%i%’;
} else {
extract((array)$options[$number]);
}
include_once (NGGALLERY_ABSPATH.“lib/ngg-db.php”);
$nggdb = new nggdb();
$gallerylist = $nggdb->find_all_galleries(‘gid’, ‘DESC’);
?>
<label for="npu_upload-title-">
<input id="npu_upload-title-" name="widget_npu_upload[][title]" type="text" class="widefat" value="" />
<label for="npu_upload-id-">
<select id="npu_upload-id-" name="widget_npu_upload[][gal_id]" >
<?php
foreach ($gallerylist as $gallery) {
$name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; ?>
<option gid , $gal_id); ?> value="gid; ?>">gid.' - '.$name,'nggallery'); ?>
<input type="hidden" id="npu_upload-submit-" name="widget_npu_upload[][submit]" value="1" />
<?php
}
// Function: Widget Output
public function npu_upload_output($args, $widget_args = 1, $options = false) {
extract($args, EXTR_SKIP);
if (is_numeric($widget_args)) {
$widget_args = array('number' => $widget_args);
}
$widget_args = wp_parse_args($widget_args, array('number' => -1));
extract($widget_args, EXTR_SKIP);
if(!$options) {
$options = get_option('npu_gal_upload');
}
$gal_id = $options[$number]['gal_id'];
$this->handleUpload_widget();
echo $args['before_widget'];
echo $args['before_title'].$options[$number]['title'].$args['after_title'];
$this->display_uploader_widget($gal_id, false);
echo $args['after_widget'];
}
// Function: Add Scripts
public function add_scripts () {
wp_register_script('ngg-ajax', NGGALLERY_URLPATH .'admin/js/ngg.ajax.js', array('jquery'), '1.0.0');
// Setup Array
wp_localize_script('ngg-ajax', 'nggAjaxSetup', array(
'url' => admin_url('admin-ajax.php'),
'action' => 'ngg_ajax_operation',
'operation' => '',
'nonce' => wp_create_nonce( 'ngg-ajax' ),
'ids' => '',
'permission' => __('You do not have the correct permission', 'nggallery'),
'error' => __('Unexpected Error', 'nggallery'),
'failure' => __('Upload Failed', 'nggallery')
) );
wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), '1.0.0');
wp_register_script('swfupload_f10', NGGALLERY_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.2.0');
wp_enqueue_script( 'jquery-ui-tabs' );
wp_enqueue_script( 'mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.1.1' );
wp_enqueue_script( 'ngg-swfupload-handler', NGGALLERY_URLPATH .'admin/js/swfupload.handler.js', array('swfupload_f10'), '1.0.0' );
wp_enqueue_script( 'ngg-ajax' );
wp_enqueue_script( 'ngg-progressbar' );
}
//
// Function: Shortcode Form
public function display_uploader($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) {
$strOutput = "";
if (count($this->arrErrorMsg) > 0) {
$strOutput .= "
foreach ($this->arrErrorMsg as $msg) {
$strOutput .= $msg;
}
$strOutput .= "
}
// Display upload received message (or an error)
if (count($this->arrImageMsg) > 0) {
$strOutput .= "
foreach ($this->arrImageMsg as $msg) {
$strOutput .= $msg;
}
$strOutput .= "
}
if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) {
$strOutput .= "
if(get_option('npu_notlogged')) {
$strOutput .= get_option('npu_notlogged');
} else {
$strOutput .= "You must be registered and logged in to upload images.";
}
$strOutput .= "
} else {
$npu_selected_user_role = get_option('npu_user_role_select');
if (current_user_can('level_'. $npu_selected_user_role . '') || get_option('npu_user_role_select') == 99) {
if(get_option('npu_image_description_select') == 'Enabled') {
$strOutput .= "
";
if(get_option('npu_description_text')) {
$strOutput .= get_option('npu_description_text');
} else {
$strOutput .= __('Description:', 'ngg-public-uploader');
}
}
// A public upload admin felületén a Descriptiont engedélyezned kell a működéshez, és a Description mezőben kell megadnod az inputmezők nevét.
// használhatsz szóközöket, hogy az inputmezők fölé kerüljön a szöveg
// amit ne felejts el, hogy a nextegen plugin könyvtárában a lib/image.php fájlban a 110. sor környékén találsz egy szakaszt, "//create the a href link from the picture" után ezt: $this->href = "n".'imageURL.'" title="'.htmlspecialchars( stripslashes( nggGallery::i18n($this->description, 'pic_' . $this->pid . '_description') ) ).'" '.$this->get_thumbcode($this->name).'>'."nt"; cseréld le erre: $this->href = "n".'imageURL.'" title="'.htmlspecialchars( stripslashes( nggGallery::i18n($this->alttext, 'pic_' . $this->pid . '_alttext') ) ).'" '.$this->get_thumbcode($this->name).'>'."nt";
// Ha nem baj, hogy az egér ha a kép felett van kiírja ki töltötte fel a képet, akkor nem kell kicserélni ezt a kódrészletet.
$EXTRA_FIELDS1 = '
';
$EXTRA_FIELDS2 = '
';
//
$strOutput .= "
$strOutput .= "nt";
$strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false) .
'
' . $EXTRA_FIELDS1;
$strOutput .= "
' ';
$strOutput .= " ";
$strOutput .= "
$EXTRA_FIELDS2;
$strOutput .= "" .
'';
$strOutput .= "
$strOutput .= "ntt<input class="button-primary" type="submit" name="uploadimage" id="uploadimage_btn" ";
$strOutput .= "
$strOutput .= "";
$strOutput .= '
jQuery("form.uploadimage").unbind("submit").submit(function(){
f = this;
if (
f.uploader_name.value == "" ||
f.uploader_email.value == "" ||
f.imagefiles.value == "" ||
f.agree_terms.checked == true
) {
alert("You need to complete all the required fields and accept the terms and conditions.");
return false;
}
return true;
})
';
//f.agree_terms.checked == true értéket állítsd false-ra, ha szeretnéd használni a szabályzat elfogadását azaz nem kommentelted ki
}
}
if ($echo) {
echo $strOutput;
} else {
return $strOutput;
}
}
//
end shortcode function
// Function: Widget Form
public function display_uploader_widget($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) {
$strOutput = "";
if (count($this->arrErrorMsg_widg) > 0) {
$strOutput .= "
foreach ($this->arrErrorMsg_widg as $msg) {
$strOutput .= $msg;
}
$strOutput .= "
}
if (count($this->arrImageMsg_widg) > 0) {
$strOutput .= "
foreach ($this->arrImageMsg_widg as $msg) {
$strOutput .= $msg;
}
$strOutput .= "
}
if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) {
$strOutput .= "
if(get_option('npu_notlogged')) {
$strOutput .= get_option('npu_notlogged');
} else {
$strOutput .= "You must be registered and logged in to upload images.";
}
$strOutput .= "
} else {
$npu_selected_user_role = get_option('npu_user_role_select');
if (current_user_can('level_'. $npu_selected_user_role . '') || get_option('npu_user_role_select') == 99) {
$strOutput .= "
$strOutput .= "nt";
$strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false);
$strOutput .= "nt
$strOutput .= "nt";
$strOutput .= "n
$strOutput .= "n";
if (!$strDetailsPage) {
$strOutput .= "nt
if ($blnShowAltText) {}
$strOutput .= "nt
}
if(get_option('npu_image_description_select') == 'Enabled') {
$strOutput .= "
";
if(get_option('npu_description_text')) {
$strOutput .= get_option('npu_description_text');
} else {
$strOutput .= __('Description:', 'ngg-public-uploader');
}
$strOutput .= "
";
$strOutput .= "nt";
}
$strOutput .= "nt
";
if(get_option('npu_upload_button')) {
$strOutput .= "ntt<input class="button-primary" type="submit" name="uploadimage_widget" id="uploadimage_btn" ";
$strOutput .= 'value="' . get_option("npu_upload_button") . '" >';
} else {
$strOutput .= "ntt";
}
$strOutput .= "ntt
$strOutput .= "n";
$strOutput .= "n
}
}
if ($echo) {
echo $strOutput;
} else {
return $strOutput;
}
}
// Function: Handle Upload for Shortcode
public function handleUpload() {
global $wpdb;
require_once(dirname (__FILE__). '/class.npu_uploader.php');
require_once(NGGALLERY_ABSPATH . '/lib/meta.php');
$ngg->options['swfupload'] = false; // disable SWF for shortcode version (why?)
if (!$_POST['uploadimage']) return;
// Feltöltő felületen megadott mezőadatok adatbázisba küldése.
$_POST['imagedescription'] = $_POST['uploader_name'] . "rn" . $_POST['uploader_email'] . '' . $_POST['receive_updates'] . '';
$_POST['alttext'] = $_POST['uploader_email'] . '' . $_POST['receive_updates'] . '';
//check_admin_referer('ngg_addgallery'); // check that nonce field is present
if ($_FILES['MF__F_0_0']['error'] == 0) {
$objUploaderNggAdmin = new UploaderNggAdmin();
$messagetext = $objUploaderNggAdmin->upload_images();
$this->arrImageIds = $objUploaderNggAdmin->arrImageIds;
$this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath;
$this->arrImageNames = $objUploaderNggAdmin->arrImageNames;
if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) {
foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) {
if ($strReturnMsg != '1') {
$this->arrErrorMsg[] = $strReturnMsg;
}
}
if(get_option('npu_upload_success')) {
$this->arrImageMsg[] = get_option('npu_upload_success');
} else {
$this->arrImageMsg[] = "Thank you! Your image has been submitted and is pending review.";
}
$this->sendEmail();
}
if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) {
foreach ($this->arrImageIds as $imageId) {
$pic = nggdb::find_image($imageId);
$objEXIF = new nggMeta($pic->imagePath);
$this->strTitle = $objEXIF->get_META('title');
$this->strDescription = $objEXIF->get_META('caption');
$this->strKeywords = $objEXIF->get_META('keywords');
$this->strTimeStamp = $objEXIF->get_date_time();
}
} else {
if(get_option('npu_no_file')) {
$this->arrErrorMsg[] = get_option('npu_no_file');
} else {
$this->arrErrorMsg[] = "You must select a file to upload";
}
}
$this->update_details();
} else {
if(get_option('npu_upload_failed')) {
$this->arrErrorMsg[] = get_option('npu_upload_failed');
} else {
$this->arrErrorMsg[] = "Upload failed!";
}
}
if (count($this->arrErrorMsg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) {
$gal_id = $_POST['galleryselect'];
foreach ($this->arrImageIds as $intImageId) {
$filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' ");
if ($filename) {
$gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' ");
if ($gallerypath){
@unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename);
@unlink(WINABSPATH . $gallerypath . '/' . $filename);
}
$delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId");
}
}
}
}
//
// Function: Handle Upload for Widget
public function handleUpload_widget() {
global $wpdb;
require_once(dirname (__FILE__). '/class.npu_uploader.php');
require_once(NGGALLERY_ABSPATH . '/lib/meta.php');
$ngg->options['swfupload'] = false;
if ($_POST['uploadimage_widget']){
check_admin_referer('ngg_addgallery');
if ($_FILES['MF__F_0_0']['error'] == 0) {
$objUploaderNggAdmin = new UploaderNggAdmin();
$messagetext = $objUploaderNggAdmin->upload_images_widget();
$this->arrImageIds = $objUploaderNggAdmin->arrImageIds;
$this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath;
$this->arrImageNames = $objUploaderNggAdmin->arrImageNames;
if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) {
foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) {
if ($strReturnMsg != '1') {
$this->arrErrorMsg_widg[] = $strReturnMsg;
}
}
if(get_option('npu_upload_success')) {
$this->arrImageMsg_widg[] = get_option('npu_upload_success');
} else {
$this->arrImageMsg_widg[] = "Thank you! Your image has been submitted and is pending review.";
}
$this->sendEmail();
}
if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) {
foreach ($this->arrImageIds as $imageId) {
$pic = nggdb::find_image($imageId);
$objEXIF = new nggMeta($pic->imagePath);
$this->strTitle = $objEXIF->get_META('title');
$this->strDescription = $objEXIF->get_META('caption');
$this->strKeywords = $objEXIF->get_META('keywords');
$this->strTimeStamp = $objEXIF->get_date_time();
}
} else {
if(get_option('npu_no_file')) {
$this->arrErrorMsg_widg[] = get_option('npu_no_file');
} else {
$this->arrErrorMsg_widg[] = "You must select a file to upload";
}
}
$this->update_details();
} else {
if(get_option('npu_upload_failed')) {
$this->arrErrorMsg_widg[] = get_option('npu_upload_failed');
} else {
$this->arrErrorMsg_widg[] = "Upload failed!";
}
}
if (count($this->arrErrorMsg_widg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) {
$gal_id = $_POST['galleryselect'];
foreach ($this->arrImageIds as $intImageId) {
$filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' ");
if ($filename) {
$gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' ");
if ($gallerypath){
@unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename);
@unlink(WINABSPATH . $gallerypath . '/' . $filename);
}
$delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId");
}
}
}
}
}
// Function: Update Details
public function update_details() {
global $wpdb;
$arrUpdateFields = array();
if (isset($_POST['imagedescription']) && !empty($_POST['imagedescription'])) {
$this->strDescription = $wpdb->escape($_POST['imagedescription']);
$arrUpdateFields[] = "description = '$this->strDescription'";
} else {
return;
}
if (isset ($_POST['alttext']) && !empty($_POST['alttext'])) {
$this->strTitle = $wpdb->escape($_POST['alttext']);
$arrUpdateFields[] = "alttext = '$this->strTitle'";
}
if (isset ($_POST['tags']) && !empty($_POST['tags'])) {
$this->strKeywords = $_POST['tags'];
}
if (count($arrUpdateFields) > 0) {
if (get_option('npu_exclude_select') == "Disabled") {
$npu_exclude_id = 0;
} else {
$npu_exclude_id = 1;
}
$strUpdateFields = implode(", ", $arrUpdateFields);
$pictures = $this->arrImageIds;
if (count($pictures) > 0) {
foreach( $pictures as $pid ) {
$strQuery = "UPDATE $wpdb->nggpictures SET ";
$strQuery .= $strUpdateFields. ", exclude = $npu_exclude_id WHERE pid = $pid";
$wpdb->query($strQuery);
$arrTags = explode(',', $this->strKeywords);
wp_set_object_terms($pid, $arrTags, 'ngg_tag');
}
}
}
}
// Function: Shortcode
public function shortcode_show_uploader($atts) {
global $wpdb;
$default_gallery = get_option('npu_default_gallery');
extract(shortcode_atts(array(
'id' => $default_gallery,
'template' => ''
), $atts));
$this->handleUpload();
$out = $this->display_uploader($id, false, true, false);
return $out;
}
//
// Function: Send Email Notice
public function sendEmail() {
if(get_option('npu_notification_email')){
$to = get_option('npu_notification_email');
$subject = "New Image Pending Review - NextGEN Public Uploader";
$message = "A new image has been submitted and is waiting to be reviewed.";
wp_mail( $to, $subject, $message);
}
}
}
}
// Create Uploader
$npuUpload = new npuGalleryUpload();
?>
<?php
if (!class_exists("npuGalleryUpload")) {
// Public Variables
class npuGalleryUpload {
public $arrImageIds;
public $strGalleryPath = false;
public $blnRedirectPage = false;
public $arrUploadedThumbUrls = false;
public $arrUploadedImageUrls = false;
public $arrErrorMsg = array();
public $arrImageMsg = array();
public $arrErrorMsg_widg = array();
public $arrImageMsg_widg = array();
public $arrImageNames = array();
public $arrImageMeta = array();
public $strTitle = false;
public $strDescription = false;
public $strKeywords = false;
public $strTimeStamp = false;
// Function: Constructors
public function __construct()
{
add_shortcode("ngg_uploader", array(&$this, 'shortcode_show_uploader')); // Shortcode Uploader
// Enable Widget
if(get_option('npu_widget_uploader_select') == 'Enabled') {
add_action('widgets_init', array(&$this, 'npu_upload_register')); // Widget Uploader
}
}
// Function: Register Widget
public function npu_upload_register() {
$options = get_option('npu_gal_upload');
if (!$options) {
$options = array();
}
$widget_ops = array('classname' => 'npu_gallery_upload', 'description' => __('Upload images to a NextGEN Gallery', 'nggallery'));
$control_ops = array('width' => 250, 'height' => 200, 'id_base' => 'npu-gallery-upload');
$name = __('NextGEN Uploader','nggallery');
$id = false;
foreach (array_keys($options) as $o) {
if (!isset($options[$o]['title'])) {
continue;
}
$id = "npu-gallery-upload-$o";
wp_register_sidebar_widget($id, $name, array(&$this, 'npu_upload_output'), $widget_ops, array('number' => $o));
wp_register_widget_control($id, $name, array(&$this, 'npu_upload_control'), $control_ops, array('number' => $o));
}
if ( !$id ) {
wp_register_sidebar_widget( 'npu-gallery-upload-1', $name, array(&$this, 'npu_upload_output'), $widget_ops, array( 'number' => -1 ) );
wp_register_widget_control( 'npu-gallery-upload-1', $name, array(&$this, 'npu_upload_control'), $control_ops, array( 'number' => -1 ) );
}
}
// Function: Widget Control
public function npu_upload_control($widget_args = 1) {
global $wp_registered_widgets, $wpdb;
static $updated = false;
if (is_numeric($widget_args)) {
$widget_args = array('number' => $widget_args);
}
$widget_args = wp_parse_args($widget_args, array('number' => -1));
extract($widget_args, EXTR_SKIP);
$options = get_option('npu_gal_upload');
if (!is_array($options)) {
$options = array();
}
if (!$updated && !empty($_POST['sidebar'])) {
$sidebar = (string) $_POST['sidebar'];
$sidebar_widgets = wp_get_sidebars_widgets();
if (isset($sidebar_widgets[$sidebar])) {
$this_sidebar = &$sidebar_widgets[$sidebar];
} else {
$this_sidebar = array();
}
foreach ($this_sidebar as $_widget_id) {
if ('npu_gallery_upload' == $wp_registered_widgets[$_widget_id]['classname'] && isset($wp_registered_widgets[$_widget_id]['params'][0]['number'])) {
$widget_number = $wp_registered_widgets[$_widget_id]['params'][0]['number'];
if (!in_array("npu-gallery-upload-{$widget_number}", $_POST['widget-id'])) {
unset ($options[$widget_number]);
}
}
}
foreach ((array)$_POST['widget_npu_upload'] as $widget_number => $widget_npu_upload) {
if (!isset($widget_npu_upload['gal_id']) && isset($options[$widget_number])) {
continue;
}
$widget_npu_upload = stripslashes_deep($widget_npu_upload);
$options[$widget_number]['title'] = $widget_npu_upload['title'];
$options[$widget_number]['gal_id'] = $widget_npu_upload['gal_id'];
}
update_option('npu_gal_upload', $options);
$updated = true;
}
if (-1 == $number) {
$title = 'Upload';
$gal_id = 0;
$number = '%i%';
} else {
extract((array)$options[$number]);
}
include_once (NGGALLERY_ABSPATH."lib/ngg-db.php");
$nggdb = new nggdb();
$gallerylist = $nggdb->find_all_galleries('gid', 'DESC');
?>
<label for="npu_upload-title-">
<input id="npu_upload-title-" name="widget_npu_upload[][title]" type="text" class="widefat" value="" />
<label for="npu_upload-id-">
<select id="npu_upload-id-" name="widget_npu_upload[][gal_id]" >
<?php
foreach ($gallerylist as $gallery) {
$name = ( empty($gallery->title) ) ? $gallery->name : $gallery->title; ?>
<option gid , $gal_id); ?> value="gid; ?>">gid.' - '.$name,'nggallery'); ?>
<input type="hidden" id="npu_upload-submit-" name="widget_npu_upload[][submit]" value="1" />
<?php
}
// Function: Widget Output
public function npu_upload_output($args, $widget_args = 1, $options = false) {
extract($args, EXTR_SKIP);
if (is_numeric($widget_args)) {
$widget_args = array('number' => $widget_args);
}
$widget_args = wp_parse_args($widget_args, array('number' => -1));
extract($widget_args, EXTR_SKIP);
if(!$options) {
$options = get_option('npu_gal_upload');
}
$gal_id = $options[$number]['gal_id'];
$this->handleUpload_widget();
echo $args['before_widget'];
echo $args['before_title'].$options[$number]['title'].$args['after_title'];
$this->display_uploader_widget($gal_id, false);
echo $args['after_widget'];
}
// Function: Add Scripts
public function add_scripts () {
wp_register_script('ngg-ajax', NGGALLERY_URLPATH .'admin/js/ngg.ajax.js', array('jquery'), '1.0.0');
// Setup Array
wp_localize_script('ngg-ajax', 'nggAjaxSetup', array(
'url' => admin_url('admin-ajax.php'),
'action' => 'ngg_ajax_operation',
'operation' => '',
'nonce' => wp_create_nonce( 'ngg-ajax' ),
'ids' => '',
'permission' => __('You do not have the correct permission', 'nggallery'),
'error' => __('Unexpected Error', 'nggallery'),
'failure' => __('Upload Failed', 'nggallery')
) );
wp_register_script('ngg-progressbar', NGGALLERY_URLPATH .'admin/js/ngg.progressbar.js', array('jquery'), '1.0.0');
wp_register_script('swfupload_f10', NGGALLERY_URLPATH .'admin/js/swfupload.js', array('jquery'), '2.2.0');
wp_enqueue_script( 'jquery-ui-tabs' );
wp_enqueue_script( 'mutlifile', NGGALLERY_URLPATH .'admin/js/jquery.MultiFile.js', array('jquery'), '1.1.1' );
wp_enqueue_script( 'ngg-swfupload-handler', NGGALLERY_URLPATH .'admin/js/swfupload.handler.js', array('swfupload_f10'), '1.0.0' );
wp_enqueue_script( 'ngg-ajax' );
wp_enqueue_script( 'ngg-progressbar' );
}
//
// Function: Shortcode Form
public function display_uploader($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) {
$strOutput = "";
if (count($this->arrErrorMsg) > 0) {
$strOutput .= "";
foreach ($this->arrErrorMsg as $msg) {
$strOutput .= $msg;
}
$strOutput .= "";
}
// Display upload received message (or an error)
if (count($this->arrImageMsg) > 0) {
$strOutput .= "";
foreach ($this->arrImageMsg as $msg) {
$strOutput .= $msg;
}
$strOutput .= "";
}
if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) {
$strOutput .= "";
if(get_option('npu_notlogged')) {
$strOutput .= get_option('npu_notlogged');
} else {
$strOutput .= "You must be registered and logged in to upload images.";
}
$strOutput .= "";
} else {
$npu_selected_user_role = get_option('npu_user_role_select');
if (current_user_can('level_'. $npu_selected_user_role . '') || get_option('npu_user_role_select') == 99) {
if(get_option('npu_image_description_select') == 'Enabled') {
$strOutput .= "
";
if(get_option('npu_description_text')) {
$strOutput .= get_option('npu_description_text');
} else {
$strOutput .= __('Description:', 'ngg-public-uploader');
}
}
// A public upload admin felületén a Descriptiont engedélyezned kell a működéshez, és a Description mezőben kell megadnod az inputmezők nevét.
// használhatsz szóközöket, hogy az inputmezők fölé kerüljön a szöveg
// amit ne felejts el, hogy a nextegen plugin könyvtárában a lib/image.php fájlban a 110. sor környékén találsz egy szakaszt, "//create the a href link from the picture" után ezt: $this->href = "n".'imageURL.'" title="'.htmlspecialchars( stripslashes( nggGallery::i18n($this->description, 'pic_' . $this->pid . '_description') ) ).'" '.$this->get_thumbcode($this->name).'>'."nt"; cseréld le erre: $this->href = "n".'imageURL.'" title="'.htmlspecialchars( stripslashes( nggGallery::i18n($this->alttext, 'pic_' . $this->pid . '_alttext') ) ).'" '.$this->get_thumbcode($this->name).'>'."nt";
// Ha nem baj, hogy az egér ha a kép felett van kiírja ki töltötte fel a képet, akkor nem kell kicserélni ezt a kódrészletet.
$EXTRA_FIELDS1 = '
';
$EXTRA_FIELDS2 = '
';
//
$strOutput .= "";
$strOutput .= "nt";
$strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false) .
'
' . $EXTRA_FIELDS1;
$strOutput .= "" .
' ';
$strOutput .= " ";
$strOutput .= "" .
$EXTRA_FIELDS2;
$strOutput .= "" .
'';
$strOutput .= "";
$strOutput .= "ntt<input class="button-primary" type="submit" name="uploadimage" id="uploadimage_btn" ";
$strOutput .= "";
$strOutput .= "";
$strOutput .= '
jQuery("form.uploadimage").unbind("submit").submit(function(){
f = this;
if (
f.uploader_name.value == "" ||
f.uploader_email.value == "" ||
f.imagefiles.value == "" ||
f.agree_terms.checked == true
) {
alert("You need to complete all the required fields and accept the terms and conditions.");
return false;
}
return true;
})
';
//f.agree_terms.checked == true értéket állítsd false-ra, ha szeretnéd használni a szabályzat elfogadását azaz nem kommentelted ki
}
}
if ($echo) {
echo $strOutput;
} else {
return $strOutput;
}
}
//
end shortcode function
// Function: Widget Form
public function display_uploader_widget($gal_id, $strDetailsPage = false, $blnShowAltText = true, $echo = true) {
$strOutput = "";
if (count($this->arrErrorMsg_widg) > 0) {
$strOutput .= "";
foreach ($this->arrErrorMsg_widg as $msg) {
$strOutput .= $msg;
}
$strOutput .= "";
}
if (count($this->arrImageMsg_widg) > 0) {
$strOutput .= "";
foreach ($this->arrImageMsg_widg as $msg) {
$strOutput .= $msg;
}
$strOutput .= "";
}
if (!is_user_logged_in() && get_option('npu_user_role_select') != 99) {
$strOutput .= "";
if(get_option('npu_notlogged')) {
$strOutput .= get_option('npu_notlogged');
} else {
$strOutput .= "You must be registered and logged in to upload images.";
}
$strOutput .= "";
} else {
$npu_selected_user_role = get_option('npu_user_role_select');
if (current_user_can('level_'. $npu_selected_user_role . '') || get_option('npu_user_role_select') == 99) {
$strOutput .= "";
$strOutput .= "nt";
$strOutput .= wp_nonce_field('ngg_addgallery', '_wpnonce', true , false);
$strOutput .= "nt";
$strOutput .= "nt";
$strOutput .= "n";
$strOutput .= "n";
if (!$strDetailsPage) {
$strOutput .= "nt";
if ($blnShowAltText) {}
$strOutput .= "nt";
}
if(get_option('npu_image_description_select') == 'Enabled') {
$strOutput .= "
";
if(get_option('npu_description_text')) {
$strOutput .= get_option('npu_description_text');
} else {
$strOutput .= __('Description:', 'ngg-public-uploader');
}
$strOutput .= "
";
$strOutput .= "nt";
}
$strOutput .= "nt
";
if(get_option('npu_upload_button')) {
$strOutput .= "ntt<input class="button-primary" type="submit" name="uploadimage_widget" id="uploadimage_btn" ";
$strOutput .= 'value="' . get_option("npu_upload_button") . '" >';
} else {
$strOutput .= "ntt";
}
$strOutput .= "ntt";
$strOutput .= "n";
$strOutput .= "n";
}
}
if ($echo) {
echo $strOutput;
} else {
return $strOutput;
}
}
// Function: Handle Upload for Shortcode
public function handleUpload() {
global $wpdb;
require_once(dirname (__FILE__). '/class.npu_uploader.php');
require_once(NGGALLERY_ABSPATH . '/lib/meta.php');
$ngg->options['swfupload'] = false; // disable SWF for shortcode version (why?)
if (!$_POST['uploadimage']) return;
// Feltöltő felületen megadott mezőadatok adatbázisba küldése.
$_POST['imagedescription'] = $_POST['uploader_name'] . "rn" . $_POST['uploader_email'] . '' . $_POST['receive_updates'] . '';
$_POST['alttext'] = $_POST['uploader_email'] . '' . $_POST['receive_updates'] . '';
//check_admin_referer('ngg_addgallery'); // check that nonce field is present
if ($_FILES['MF__F_0_0']['error'] == 0) {
$objUploaderNggAdmin = new UploaderNggAdmin();
$messagetext = $objUploaderNggAdmin->upload_images();
$this->arrImageIds = $objUploaderNggAdmin->arrImageIds;
$this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath;
$this->arrImageNames = $objUploaderNggAdmin->arrImageNames;
if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) {
foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) {
if ($strReturnMsg != '1') {
$this->arrErrorMsg[] = $strReturnMsg;
}
}
if(get_option('npu_upload_success')) {
$this->arrImageMsg[] = get_option('npu_upload_success');
} else {
$this->arrImageMsg[] = "Thank you! Your image has been submitted and is pending review.";
}
$this->sendEmail();
}
if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) {
foreach ($this->arrImageIds as $imageId) {
$pic = nggdb::find_image($imageId);
$objEXIF = new nggMeta($pic->imagePath);
$this->strTitle = $objEXIF->get_META('title');
$this->strDescription = $objEXIF->get_META('caption');
$this->strKeywords = $objEXIF->get_META('keywords');
$this->strTimeStamp = $objEXIF->get_date_time();
}
} else {
if(get_option('npu_no_file')) {
$this->arrErrorMsg[] = get_option('npu_no_file');
} else {
$this->arrErrorMsg[] = "You must select a file to upload";
}
}
$this->update_details();
} else {
if(get_option('npu_upload_failed')) {
$this->arrErrorMsg[] = get_option('npu_upload_failed');
} else {
$this->arrErrorMsg[] = "Upload failed!";
}
}
if (count($this->arrErrorMsg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) {
$gal_id = $_POST['galleryselect'];
foreach ($this->arrImageIds as $intImageId) {
$filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' ");
if ($filename) {
$gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' ");
if ($gallerypath){
@unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename);
@unlink(WINABSPATH . $gallerypath . '/' . $filename);
}
$delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId");
}
}
}
}
//
// Function: Handle Upload for Widget
public function handleUpload_widget() {
global $wpdb;
require_once(dirname (__FILE__). '/class.npu_uploader.php');
require_once(NGGALLERY_ABSPATH . '/lib/meta.php');
$ngg->options['swfupload'] = false;
if ($_POST['uploadimage_widget']){
check_admin_referer('ngg_addgallery');
if ($_FILES['MF__F_0_0']['error'] == 0) {
$objUploaderNggAdmin = new UploaderNggAdmin();
$messagetext = $objUploaderNggAdmin->upload_images_widget();
$this->arrImageIds = $objUploaderNggAdmin->arrImageIds;
$this->strGalleryPath = $objUploaderNggAdmin->strGalleryPath;
$this->arrImageNames = $objUploaderNggAdmin->arrImageNames;
if (is_array($objUploaderNggAdmin->arrThumbReturn) && count($objUploaderNggAdmin->arrThumbReturn) > 0) {
foreach ($objUploaderNggAdmin->arrThumbReturn as $strReturnMsg) {
if ($strReturnMsg != '1') {
$this->arrErrorMsg_widg[] = $strReturnMsg;
}
}
if(get_option('npu_upload_success')) {
$this->arrImageMsg_widg[] = get_option('npu_upload_success');
} else {
$this->arrImageMsg_widg[] = "Thank you! Your image has been submitted and is pending review.";
}
$this->sendEmail();
}
if (is_array($this->arrImageIds) && count($this->arrImageIds) > 0) {
foreach ($this->arrImageIds as $imageId) {
$pic = nggdb::find_image($imageId);
$objEXIF = new nggMeta($pic->imagePath);
$this->strTitle = $objEXIF->get_META('title');
$this->strDescription = $objEXIF->get_META('caption');
$this->strKeywords = $objEXIF->get_META('keywords');
$this->strTimeStamp = $objEXIF->get_date_time();
}
} else {
if(get_option('npu_no_file')) {
$this->arrErrorMsg_widg[] = get_option('npu_no_file');
} else {
$this->arrErrorMsg_widg[] = "You must select a file to upload";
}
}
$this->update_details();
} else {
if(get_option('npu_upload_failed')) {
$this->arrErrorMsg_widg[] = get_option('npu_upload_failed');
} else {
$this->arrErrorMsg_widg[] = "Upload failed!";
}
}
if (count($this->arrErrorMsg_widg) > 0 && (is_array($this->arrImageIds) &&count($this->arrImageIds) > 0)) {
$gal_id = $_POST['galleryselect'];
foreach ($this->arrImageIds as $intImageId) {
$filename = $wpdb->get_var("SELECT filename FROM $wpdb->nggpictures WHERE pid = '$intImageId' ");
if ($filename) {
$gallerypath = $wpdb->get_var("SELECT path FROM $wpdb->nggallery WHERE gid = '$gal_id' ");
if ($gallerypath){
@unlink(WINABSPATH . $gallerypath . '/thumbs/thumbs_' .$filename);
@unlink(WINABSPATH . $gallerypath . '/' . $filename);
}
$delete_pic = $wpdb->query("DELETE FROM $wpdb->nggpictures WHERE pid = $intImageId");
}
}
}
}
}
// Function: Update Details
public function update_details() {
global $wpdb;
$arrUpdateFields = array();
if (isset($_POST['imagedescription']) && !empty($_POST['imagedescription'])) {
$this->strDescription = $wpdb->escape($_POST['imagedescription']);
$arrUpdateFields[] = "description = '$this->strDescription'";
} else {
return;
}
if (isset ($_POST['alttext']) && !empty($_POST['alttext'])) {
$this->strTitle = $wpdb->escape($_POST['alttext']);
$arrUpdateFields[] = "alttext = '$this->strTitle'";
}
if (isset ($_POST['tags']) && !empty($_POST['tags'])) {
$this->strKeywords = $_POST['tags'];
}
if (count($arrUpdateFields) > 0) {
if (get_option('npu_exclude_select') == "Disabled") {
$npu_exclude_id = 0;
} else {
$npu_exclude_id = 1;
}
$strUpdateFields = implode(", ", $arrUpdateFields);
$pictures = $this->arrImageIds;
if (count($pictures) > 0) {
foreach( $pictures as $pid ) {
$strQuery = "UPDATE $wpdb->nggpictures SET ";
$strQuery .= $strUpdateFields. ", exclude = $npu_exclude_id WHERE pid = $pid";
$wpdb->query($strQuery);
$arrTags = explode(',', $this->strKeywords);
wp_set_object_terms($pid, $arrTags, 'ngg_tag');
}
}
}
}
// Function: Shortcode
public function shortcode_show_uploader($atts) {
global $wpdb;
$default_gallery = get_option('npu_default_gallery');
extract(shortcode_atts(array(
'id' => $default_gallery,
'template' => ''
), $atts));
$this->handleUpload();
$out = $this->display_uploader($id, false, true, false);
return $out;
}
//
// Function: Send Email Notice
public function sendEmail() {
if(get_option('npu_notification_email')){
$to = get_option('npu_notification_email');
$subject = "New Image Pending Review - NextGEN Public Uploader";
$message = "A new image has been submitted and is waiting to be reviewed.";
wp_mail( $to, $subject, $message);
}
}
}
}
// Create Uploader
$npuUpload = new npuGalleryUpload();
?>
Sziasztok,
segítenétek? Bármit csinálok nem tölti fel a képeket. Már a windows saját képeivel próbálkozom, azt sem.
Azt a hibaüzenetet írja, hogy
“Call to undefined function wpcf7_add _ tag _ generator ( ) in / web/… /wp-content/plugins/contact-form-7/modules/text.php on line 152”
köszönöm és jó éjt!