Server IP : 103.119.228.120 / Your IP : 3.145.8.139 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/softaculous/sitepad/editor/site-data/plugins/pagelayer/js/react/src/blocks/ |
Upload File : |
import { __ } from '@wordpress/i18n'; import { useState, useEffect, useRef } from '@wordpress/element'; import { useBlockProps, RichText } from '@wordpress/block-editor'; export const RenderImageSliderBlock = (props) =>{ const { _props, tag, data } = props; const { setAttributes } = _props; const { atts : attributes, id } = data; const [imgData, setImgData] = useState({}); useEffect(() => { var ids = attributes?.ids ? attributes?.ids : []; // TODO: preload all image urls form // Query the media library for media items with the specified post IDs. wp.media.query({ post__in: ids }).more().then(function () { var urls = {}; var titles = {}; var img_urls = {}; for(var x in ids){ var attachment = wp.media.attachment(ids[x]); var i = 'i'+ids[x]; urls[i] = attachment.get('url'); titles[i] = attachment.get('title'); // Create a URL img_urls[i] = {} for(var x in attachment.get('sizes')){ img_urls[i][x] = attachment.attributes.sizes[x].url; } } setImgData({ urls: urls, allUrls: img_urls, allTitles: titles, }); }); }, [attributes]); useEffect(() => { var jEle = pagelayer_query(`.p-${id}`); if(pagelayer_empty(imgData)){ return; } pagelayer_pl_image_slider(jEle); }, [attributes, imgData]); const renderImageList = () => { if ( pagelayer_empty(imgData) || pagelayer_empty(imgData.urls) ) { return (<h4 style={{ textAlign: 'center' }}> { __('Please select Images from left side Widget properties.') } </h4>); } // Destroy slider if already setuped var jEle = pagelayer_query(`.p-${id}`); pagelayer_owl_destroy(jEle, '.pagelayer-image-slider-ul'); // The URLs const img_urls = imgData.urls; const all_urls = imgData.allUrls; const img_title = imgData.allTitles; const imageList = []; const is_link = 'link_type' in attributes && !pagelayer_empty(attributes['link_type']); for (const x in img_urls) { // Use the default URL first let url = img_urls[x]; // But if we have a custom size, use that if ( attributes['size'] !== 'custom' && x in all_urls && attributes['size'] in all_urls[x] ) { url = all_urls[x][attributes['size']]; } const listItem = ( <li className="pagelayer-slider-item" key={x}> {is_link ? ( <a href={ attributes['link_type'] === 'media_file' ? !pagelayer_empty(img_urls[x]) ? img_urls[x] : url : attributes['link'] || '' } className="pagelayer-link-sel" > <img className="pagelayer-img" src={url} title={img_title[x]} alt={img_title[x]} /> </a> ) : ( <img className="pagelayer-img" src={url} title={img_title[x]} alt={img_title[x]} /> )} </li> ); imageList.push(listItem); } // Render the list of images return (<> { imageList } </> ); } var ulAttrs = {}; // Which arrows to show if('controls' in attributes){ if(attributes.controls == 'arrows' || attributes.controls == 'none'){ ulAttrs['data-pager'] = "false"; } if(attributes.controls == 'pager' || attributes.controls == 'none'){ ulAttrs['data-controls'] = "false"; } } return ( <> <div className="pagelayer-image-slider-div"> <ul className="pagelayer-image-slider-ul pagelayer-owl-holder pagelayer-owl-carousel pagelayer-owl-theme" {...ulAttrs} > { renderImageList() } </ul> </div> </> ); }