NextGEN Gallery

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 :slight_smile:

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 :slight_smile: a fennt említett oldalon kell beállítani.

Bocs, nem fogalmaztam egyértelműen :slight_smile:





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 :slight_smile:

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 :frowning: 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 :slight_smile:

















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]
    <span class=‘st_facebook_hcount’ st_title=‘alttext ?>’ st_url=‘gallery/image/alttext ?>/’ displayText=‘Facebook Share’>
    [/size][/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? :slight_smile:

Köszi, ez egyszerű volt, :stuck_out_tongue:

Üdv, ismét jelentkezek és segítségre vágyok :slight_smile:











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, :slight_smile:





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 :slight_smile:











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 :slight_smile:











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 = '





Megértettem és elfogadom a
Versenyszabályokat *

Igen, részt szeretnék venni a versenyen! *













';

//



$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 = '








Megértettem és elfogadom a
Versenyszabályokat *


Igen, részt szeretnék venni a versenyen! *



















';


//








$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!