Changeset 3118690
- Timestamp:
- 07/15/2024 07:52:07 PM (21 months ago)
- Location:
- sharing-image
- Files:
-
- 32 edited
- 1 copied
-
tags/3.3 (copied) (copied from sharing-image/trunk)
-
tags/3.3/assets/sidebar/index.asset.php (modified) (1 diff)
-
tags/3.3/assets/sidebar/index.js (modified) (1 diff)
-
tags/3.3/assets/widget/index.asset.php (modified) (1 diff)
-
tags/3.3/assets/widget/index.css (modified) (1 diff)
-
tags/3.3/classes/class-generator.php (modified) (2 diffs)
-
tags/3.3/classes/class-meta.php (modified) (1 diff)
-
tags/3.3/classes/class-settings.php (modified) (3 diffs)
-
tags/3.3/classes/class-templates.php (modified) (1 diff)
-
tags/3.3/classes/class-tools.php (modified) (1 diff)
-
tags/3.3/classes/class-widget.php (modified) (4 diffs)
-
tags/3.3/readme.txt (modified) (3 diffs)
-
tags/3.3/sharing-image.php (modified) (2 diffs)
-
tags/3.3/vendor/antonlukin/poster-editor/composer.json (modified) (1 diff)
-
tags/3.3/vendor/antonlukin/poster-editor/src/PosterEditor.php (modified) (2 diffs)
-
tags/3.3/vendor/composer/installed.json (modified) (3 diffs)
-
tags/3.3/vendor/composer/installed.php (modified) (3 diffs)
-
trunk/assets/sidebar/index.asset.php (modified) (1 diff)
-
trunk/assets/sidebar/index.js (modified) (1 diff)
-
trunk/assets/widget/index.asset.php (modified) (1 diff)
-
trunk/assets/widget/index.css (modified) (1 diff)
-
trunk/classes/class-generator.php (modified) (2 diffs)
-
trunk/classes/class-meta.php (modified) (1 diff)
-
trunk/classes/class-settings.php (modified) (3 diffs)
-
trunk/classes/class-templates.php (modified) (1 diff)
-
trunk/classes/class-tools.php (modified) (1 diff)
-
trunk/classes/class-widget.php (modified) (4 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/sharing-image.php (modified) (2 diffs)
-
trunk/vendor/antonlukin/poster-editor/composer.json (modified) (1 diff)
-
trunk/vendor/antonlukin/poster-editor/src/PosterEditor.php (modified) (2 diffs)
-
trunk/vendor/composer/installed.json (modified) (3 diffs)
-
trunk/vendor/composer/installed.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
sharing-image/tags/3.3/assets/sidebar/index.asset.php
r3109241 r3118690 1 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-primitives'), 'version' => ' f7294e68b3214a597c70');1 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-primitives'), 'version' => '3cd3bf43b85328242b8c'); -
sharing-image/tags/3.3/assets/sidebar/index.js
r3109241 r3118690 1 (()=>{"use strict";var e={n:t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return e.d(a,{a}),a},d:(t,a)=>{for(var r in a)e.o(a,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:a[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.React,a=window.wp.i18n,r=window.wp.apiFetch;var n=e.n(r);const i=window.wp.element, o=window.wp.data,l=window.wp.plugins,s=window.wp.editPost,c=window.wp.components,u=window.wp.notices,d=({name:e,layer:a,fieldset:r,updateFieldset:n,attribute:l})=>{const[s,u]=(0,i.useState)(!1),d=(0,o.useSelect)((e=>e("core/editor").getEditedPostAttribute(l)));return(0,i.useEffect)((()=>{s||n(e,d)}),[d]),(0,t.createElement)(c.TextareaControl,{name:e,label:a.title,value:r[e],onChange:t=>(t=>{n(e,t),u(!0)})(t)})},m=({name:e,layer:a,fieldset:r,updateFieldset:n,attribute:l,entity:s})=>{const[u,d]=(0,i.useState)(!1),m=(0,o.useSelect)((e=>{const t=[];let r=e("core/editor").getEditedPostAttribute(l);return r||(r=[]),r.forEach((a=>{const r=e("core").getEntityRecord("taxonomy",s,a);r&&t.push(r.name)})),t.join(a.separator||", ")}));return(0,i.useEffect)((()=>{u||n(e,m)}),[m]),(0,t.createElement)(c.TextareaControl,{name:e,label:a.title,value:r[e],onChange:t=>(t=>{n(e,t),d(!0)})(t)})},g=(0,i.forwardRef)((function({icon:e,size:t=24,...a},r){return(0,i.cloneElement)(e,{width:t,height:t,...a,ref:r})})),p=window.wp.primitives,w=(0,t.createElement)(p.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,t.createElement)(p.Path,{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z"})),E=window.wp.blockEditor,h=({name:e,layer:r,mode:n,fieldset:l,updateFieldset:s})=>{const u=(0,o.useSelect)((e=>e("core/editor").getEditedPostAttribute("featured_media"))),d=(0,o.useSelect)((t=>{const a=t("core").getMedia(l[e]);let r=a?.media_details?.sizes?.thumbnail?.source_url;return r||(r=a?.source_url),r}),[l]);(0,i.useEffect)((()=>{"manual"!==n&&"featured"===r.preset&&s(e,u)}),[u,e]);const m=()=>{s(e,0)};return(0,t.createElement)(E.MediaUploadCheck,null,(0,t.createElement)(E.MediaUpload,{onSelect:t=>{var a;a=t.id,s(e,a)},allowedTypes:["image"],value:l[e],render:({open:r})=>l[e]?(0,t.createElement)(t.Fragment,null,d&&(0,t.createElement)("img",{src:d,alt:"",className:"g4qkvGu7xkyoImxRZ6GR"}),(0,t.createElement)(c.Button,{variant:"link",onClick:m},(0,a.__)("Remove image","sharing-image"))):(e=>(0,t.createElement)(t.Fragment,null,(0,t.createElement)(g,{icon:w,className:"ipnonin6Xj5A9QU3K38L"}),(0,t.createElement)(c.Button,{variant:"link",onClick:e},(0,a.__)("Set layer image","sharing-image"))))(r)}))},f=({layers:e,mode:a,fieldset:r,updateFieldset:n})=>{const i=(e,a)=>(0,t.createElement)(c.TextareaControl,{name:a,label:e.title,defaultValue:r[a],onChange:e=>n(a,e)}),o=(e,o)=>{if("manual"===a)return i(e,o);const l={name:o,layer:e,fieldset:r,updateFieldset:n};switch(e.preset){case"title":return(0,t.createElement)(d,{...l,attribute:"title"});case"excerpt":return(0,t.createElement)(d,{...l,attribute:"excerpt"});case"categories":return(0,t.createElement)(m,{...l,attribute:"categories",entity:"category"});case"tags":return(0,t.createElement)(m,{...l,attribute:"tags",entity:"post_tag"})}return i(e,o)},l=(e,i)=>{const o={name:i,layer:e,mode:a,fieldset:r,updateFieldset:n};return(0,t.createElement)(c.BaseControl,{id:null,label:e.title},(0,t.createElement)(c.Flex,{justify:"flex-start",style:{border:"solid 1px #ccc",padding:"4px",borderRadius:"4px"}},(0,t.createElement)(h,{...o})))};return(()=>{const t=[];for(const a in e){const r=e[a];if(r.dynamic)switch(r.type){case"text":t.push(o(r,a));break;case"image":t.push(l(r,a))}}return t})()},y=({meta:e,templates:r,autogenerate:l})=>{const{createErrorNotice:s,removeNotice:d}=(0,o.useDispatch)(u.store),m=(0,o.useSelect)((e=>e("core/editor").getCurrentPostId())),g=(0,o.useSelect)((e=>e("core/editor").getEditedPostAttribute("meta")||{})),{editPost:p}=(0,o.useDispatch)("core/editor",[g]),[w,E]=(0,i.useState)(g[e.source]?.template),[h,y]=(0,i.useState)(g[e.fieldset]),[b,v]=(0,i.useState)(!1);return(0,i.useEffect)((()=>{p({meta:{[e.fieldset]:h}})}),[h]),(0,i.useEffect)((()=>{if(r[w])return;if(l&&r[l])return void E(l);const[e]=Object.keys(r);e&&E(e)}),[r,w,l]),(0,t.createElement)(c.Flex,{direction:"column",gap:2,style:{position:"relative"}},g[e.source]?.poster&&(0,t.createElement)("img",{src:g[e.source].poster,alt:(0,a.__)("Sharing Image poster","sharing-image")}),"auto"===g[e.source]?.mode&&(()=>{const e=(0,a.__)("Poster was generated automatically and will update on post saving.","sharing-image");return(0,t.createElement)(c.Dashicon,{icon:"awards",className:"BygBjwYpqPpeTZbVCcRT",title:e})})(),(0,t.createElement)(c.SelectControl,{value:w,options:Object.keys(r).map((e=>({label:r[e].title||(0,a.__)("Untitled","sharing-image"),value:e}))),onChange:t=>{p({meta:{[e.source]:{...g[e.source],template:t}}}),E(t)}}),r[w]&&(0,t.createElement)(c.Flex,{direction:"column",gap:2},(0,t.createElement)(f,{layers:r[w].layers||[],mode:g[e.source]?.mode,fieldset:h,updateFieldset:(e,t)=>{y((a=>({...a,[e]:t})))}})),(0,t.createElement)(c.Flex,{justify:"flex-start"},(0,t.createElement)(c.Button,{variant:"secondary",type:"button",onClick:()=>(async()=>{if(b)return;d("sharing-image-generate");const t={path:"sharing-image/v1/poster/"+m,method:"POST",data:{fieldset:h,template:w}};v(!0);try{const a=await n()(t);if(!a.data)throw new Error;p({meta:{[e.source]:{...a.data,template:w}}})}catch(e){s((0,a.__)("An unexpected error occurred","sharing-image"),{id:"sharing-image-generate",type:"snackbar"})}v(!1)})()},(0,a.__)("Generate","sharing-image")),(0,t.createElement)(c.Button,{variant:"tertiary",isDestructive:!0,onClick:()=>{p({meta:{[e.source]:{}}})}},(0,a.__)("Remove","sharing-image")),b&&(0,t.createElement)(c.Spinner,null)))};(0,l.registerPlugin)("sharing-image-sidebar",{render:()=>{const e=window.sharingImageSidebar||{};if(e.meta?.source&&e.meta?.fieldset)return(0,t.createElement)(s.PluginDocumentSettingPanel,{name:"sharing-image-sidebar",title:(0,a.__)("Sharing Image","sharing-image")},(0,t.createElement)(y,{...e}))}})})();1 (()=>{"use strict";var e={n:t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return e.d(a,{a}),a},d:(t,a)=>{for(var r in a)e.o(a,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:a[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.React,a=window.wp.i18n,r=window.wp.apiFetch;var n=e.n(r);const i=window.wp.element,l=window.wp.data,o=window.wp.plugins,s=window.wp.editPost,c=window.wp.components,u=window.wp.notices,d=({name:e,layer:a,fieldset:r,updateFieldset:n,attribute:o})=>{const[s,u]=(0,i.useState)(!1),d=(0,l.useSelect)((e=>e("core/editor").getEditedPostAttribute(o)));return(0,i.useEffect)((()=>{s||n(e,d)}),[d]),(0,t.createElement)(c.TextareaControl,{name:e,label:a.title,value:r?.[e]||"",onChange:t=>(t=>{n(e,t),u(!0)})(t)})},m=({name:e,layer:a,fieldset:r,updateFieldset:n,attribute:o,entity:s})=>{const[u,d]=(0,i.useState)(!1),m=(0,l.useSelect)((e=>{const t=[];let r=e("core/editor").getEditedPostAttribute(o);return r||(r=[]),r.forEach((a=>{const r=e("core").getEntityRecord("taxonomy",s,a);r&&t.push(r.name)})),t.join(a.separator||", ")}));return(0,i.useEffect)((()=>{u||n(e,m)}),[m]),(0,t.createElement)(c.TextareaControl,{name:e,label:a.title,value:r?.[e]||"",onChange:t=>(t=>{n(e,t),d(!0)})(t)})},g=(0,i.forwardRef)((function({icon:e,size:t=24,...a},r){return(0,i.cloneElement)(e,{width:t,height:t,...a,ref:r})})),p=window.wp.primitives,w=(0,t.createElement)(p.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,t.createElement)(p.Path,{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z"})),E=window.wp.blockEditor,f=({name:e,layer:r,mode:n,fieldset:o,updateFieldset:s})=>{const u=(0,l.useSelect)((e=>e("core/editor").getEditedPostAttribute("featured_media"))),d=(0,l.useSelect)((t=>{if(!o?.[e])return null;const a=t("core").getMedia(o?.[e]);let r=a?.media_details?.sizes?.thumbnail?.source_url;return r||(r=a?.source_url),r}),[o]);(0,i.useEffect)((()=>{"manual"!==n&&"featured"===r.preset&&s(e,u)}),[u,e]);const m=()=>{s(e,0)};return(0,t.createElement)(E.MediaUploadCheck,null,(0,t.createElement)(E.MediaUpload,{onSelect:t=>{var a;a=t.id,s(e,a)},allowedTypes:["image"],value:o?.[e],render:({open:r})=>o?.[e]?(0,t.createElement)(t.Fragment,null,d&&(0,t.createElement)("img",{src:d,alt:"",className:"g4qkvGu7xkyoImxRZ6GR"}),(0,t.createElement)(c.Button,{variant:"link",onClick:m},(0,a.__)("Remove image","sharing-image"))):(e=>(0,t.createElement)(t.Fragment,null,(0,t.createElement)(g,{icon:w,className:"ipnonin6Xj5A9QU3K38L"}),(0,t.createElement)(c.Button,{variant:"link",onClick:e},(0,a.__)("Set layer image","sharing-image"))))(r)}))},h=({layers:e,mode:a,fieldset:r,updateFieldset:n})=>{const i=(e,a)=>(0,t.createElement)(c.TextareaControl,{name:a,label:e.title,defaultValue:r?.[a]||"",onChange:e=>n(a,e)}),l=(e,l)=>{if("manual"===a)return i(e,l);const o={name:l,layer:e,fieldset:r,updateFieldset:n};switch(e.preset){case"title":return(0,t.createElement)(d,{...o,attribute:"title"});case"excerpt":return(0,t.createElement)(d,{...o,attribute:"excerpt"});case"categories":return(0,t.createElement)(m,{...o,attribute:"categories",entity:"category"});case"tags":return(0,t.createElement)(m,{...o,attribute:"tags",entity:"post_tag"})}return i(e,l)},o=(e,i)=>{const l={name:i,layer:e,mode:a,fieldset:r,updateFieldset:n};return(0,t.createElement)(c.BaseControl,{id:null,label:e.title},(0,t.createElement)(c.Flex,{justify:"flex-start",style:{border:"solid 1px #ccc",padding:"4px",borderRadius:"4px"}},(0,t.createElement)(f,{...l})))};return(()=>{const t=[];for(const a in e){const r=e[a];if(r.dynamic)switch(r.type){case"text":t.push(l(r,a));break;case"image":t.push(o(r,a))}}return t})()},y=({meta:e,templates:r,autogenerate:o})=>{const{createErrorNotice:s,removeNotice:d}=(0,l.useDispatch)(u.store),m=(0,l.useSelect)((e=>e("core/editor").getCurrentPostId())),g=(0,l.useSelect)((e=>e("core/editor").getEditedPostAttribute("meta")||{})),{editPost:p}=(0,l.useDispatch)("core/editor",[g]),[w,E]=(0,i.useState)(g[e.source]?.template),[f,y]=(0,i.useState)(g[e.fieldset]),[b,v]=(0,i.useState)(!1);return(0,i.useEffect)((()=>{p({meta:{[e.fieldset]:f}})}),[f]),(0,i.useEffect)((()=>{if(r[w])return;if(o&&r[o])return void E(o);const[e]=Object.keys(r);e&&E(e)}),[r,w,o]),(0,t.createElement)(c.Flex,{direction:"column",gap:2,style:{position:"relative"}},g[e.source]?.poster&&(0,t.createElement)("img",{src:g[e.source].poster,alt:(0,a.__)("Sharing Image poster","sharing-image")}),"auto"===g[e.source]?.mode&&(()=>{const e=(0,a.__)("Poster was generated automatically and will update on post saving.","sharing-image");return(0,t.createElement)(c.Dashicon,{icon:"awards",className:"BygBjwYpqPpeTZbVCcRT",title:e})})(),(0,t.createElement)(c.SelectControl,{value:w,options:Object.keys(r).map((e=>({label:r[e].title||(0,a.__)("Untitled","sharing-image"),value:e}))),onChange:t=>{p({meta:{[e.source]:{...g[e.source],template:t}}}),E(t)}}),r[w]&&(0,t.createElement)(c.Flex,{direction:"column",gap:2},(0,t.createElement)(h,{layers:r[w].layers||[],mode:g[e.source]?.mode,fieldset:f,updateFieldset:(e,t)=>{y((a=>({...a,[e]:t})))}})),(0,t.createElement)(c.Flex,{justify:"flex-start"},(0,t.createElement)(c.Button,{variant:"secondary",type:"button",onClick:()=>(async()=>{if(b)return;d("sharing-image-generate");const t={path:"sharing-image/v1/poster/"+m,method:"POST",data:{fieldset:f,template:w}};v(!0);try{const a=await n()(t);if(!a.data)throw new Error;p({meta:{[e.source]:{...a.data,template:w}}})}catch(e){s((0,a.__)("An unexpected error occurred","sharing-image"),{id:"sharing-image-generate",type:"snackbar"})}v(!1)})()},(0,a.__)("Generate","sharing-image")),(0,t.createElement)(c.Button,{variant:"tertiary",isDestructive:!0,onClick:()=>{p({meta:{[e.source]:{}}})}},(0,a.__)("Remove","sharing-image")),b&&(0,t.createElement)(c.Spinner,null)))};(0,o.registerPlugin)("sharing-image-sidebar",{render:()=>{const e=window.sharingImageSidebar||{};if(e.meta?.source&&e.meta?.fieldset)return(0,t.createElement)(s.PluginDocumentSettingPanel,{name:"sharing-image-sidebar",title:(0,a.__)("Sharing Image","sharing-image")},(0,t.createElement)(y,{...e}))}})})(); -
sharing-image/tags/3.3/assets/widget/index.asset.php
r3113737 r3118690 1 <?php return array('dependencies' => array(), 'version' => ' 954c4dd2d896f32b4998');1 <?php return array('dependencies' => array(), 'version' => 'e096167d72f4deffd494'); -
sharing-image/tags/3.3/assets/widget/index.css
r3108262 r3118690 1 .sharing-image-widget{display:block;margin-top:12px;max-width:100%;position:relative}.sharing-image-widget *{box-sizing:border-box}.sharing-image-widget .sharing-image-widget-template{display:block;margin-bottom:12px;width:100%}.sharing-image-widget .sharing-image-widget-template select{display:block;max-width:100%;width:100%}.sharing-image-widget .sharing-image-widget-fieldset{display:none;position:relative}.sharing-image-widget .sharing-image-widget-fieldset.fieldset-visible{display:block}.sharing-image-widget .sharing-image-widget-image{align-items:center;display:flex;flex-flow:row wrap;margin-bottom:12px}.sharing-image-widget .sharing-image-widget-image h4{ display:block;margin:0 0 5px;width:100%}.sharing-image-widget .sharing-image-widget-image figure{align-items:center;border-radius:2px;display:flex;height:30px;justify-content:center;margin:0 8px 0 0;overflow:hidden;position:relative;width:30px}.sharing-image-widget .sharing-image-widget-image figure:before{content:"";display:block;font-family:dashicons;font-size:2rem;line-height:1;opacity:.375}.sharing-image-widget .sharing-image-widget-image figure img{background-color:#fff;display:block;height:100%;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%;z-index:3}.sharing-image-widget .sharing-image-widget-image .button{margin-right:14px}.sharing-image-widget .sharing-image-widget-text{display:block;margin-bottom:12px;width:100%}.sharing-image-widget .sharing-image-widget-text h4{margin:0}.sharing-image-widget .sharing-image-widget-text>*{display:block;width:100%}.sharing-image-widget .sharing-image-widget-text textarea{height:55px;margin-top:5px;min-height:28px}.sharing-image-widget .sharing-image-widget-designer{display:block;position:relative}.sharing-image-widget .sharing-image-widget-poster{display:block;position:relative;visibility:hidden;width:100%}.sharing-image-widget .sharing-image-widget-poster img{border-radius:2px;display:block;height:auto;margin-bottom:12px;max-width:100%}@media screen and (max-width:1199px){.sharing-image-widget .sharing-image-widget-poster{flex:1 1 100%;margin-left:0}}.sharing-image-widget .sharing-image-widget-manager{align-items:center;display:flex;width:100%}.sharing-image-widget .sharing-image-widget-manager .button{margin-right:12px}.sharing-image-widget .sharing-image-widget-warning{color:#b32d2e;display:none;margin:0 0 12px;position:relative}.sharing-image-widget .sharing-image-widget-warning.warning-visible{display:block}.sharing-image-widget .sharing-image-widget-delete{border-color:#b32d2e;color:#b32d2e;cursor:pointer;display:none}.sharing-image-widget .sharing-image-widget-delete:hover{color:#710d0d}.sharing-image-widget .sharing-image-widget-spinner{float:none;margin:0}.sharing-image-widget .sharing-image-widget-mode{color:#fff;cursor:help;display:none;font-family:dashicons;font-size:1rem;line-height:1;opacity:.375;position:absolute;right:.5rem;top:.5rem}.sharing-image-widget .sharing-image-widget-mode:after{content:""}.sharing-image-widget.widget-visible .sharing-image-widget-designer .sharing-image-widget-delete{display:inline-flex}.sharing-image-widget.widget-loader .sharing-image-widget-designer .sharing-image-widget-spinner,.sharing-image-widget.widget-visible .sharing-image-widget-poster{visibility:visible}.sharing-image-widget.widget-auto .sharing-image-widget-mode{display:block}.sharing-image-widget.widget-term{background:#fff;border-radius:3px;box-shadow:0 0 1px 1px rgba(0,0,0,.125);margin:20px 5% 20px 220px;padding:10px}@media(max-width:782px){.sharing-image-widget.widget-term{margin:20px 0 0;max-width:100%}}.sharing-image-widget.widget-post{max-width:480px;width:100%}1 .sharing-image-widget{display:block;margin-top:12px;max-width:100%;position:relative}.sharing-image-widget *{box-sizing:border-box}.sharing-image-widget .sharing-image-widget-template{display:block;margin-bottom:12px;width:100%}.sharing-image-widget .sharing-image-widget-template select{display:block;max-width:100%;width:100%}.sharing-image-widget .sharing-image-widget-fieldset{display:none;position:relative}.sharing-image-widget .sharing-image-widget-fieldset.fieldset-visible{display:block}.sharing-image-widget .sharing-image-widget-image{align-items:center;display:flex;flex-flow:row wrap;margin-bottom:12px}.sharing-image-widget .sharing-image-widget-image h4{border:0;display:block;font-size:13px;margin:0 0 5px;padding:0;width:100%}.sharing-image-widget .sharing-image-widget-image figure{align-items:center;border-radius:2px;display:flex;height:30px;justify-content:center;margin:0 8px 0 0;overflow:hidden;position:relative;width:30px}.sharing-image-widget .sharing-image-widget-image figure:before{content:"";display:block;font-family:dashicons;font-size:2rem;line-height:1;opacity:.375}.sharing-image-widget .sharing-image-widget-image figure img{background-color:#fff;display:block;height:100%;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%;z-index:3}.sharing-image-widget .sharing-image-widget-image .button{margin-right:14px}.sharing-image-widget .sharing-image-widget-text{display:block;margin-bottom:12px;width:100%}.sharing-image-widget .sharing-image-widget-text h4{border:0;display:block;font-size:13px;margin:0 0 5px;padding:0;width:100%}.sharing-image-widget .sharing-image-widget-text>*{display:block;width:100%}.sharing-image-widget .sharing-image-widget-text textarea{height:55px;margin-top:5px;min-height:28px}.sharing-image-widget .sharing-image-widget-designer{display:block;position:relative}.sharing-image-widget .sharing-image-widget-poster{display:block;position:relative;visibility:hidden;width:100%}.sharing-image-widget .sharing-image-widget-poster img{border-radius:2px;display:block;height:auto;margin-bottom:12px;max-width:100%}@media screen and (max-width:1199px){.sharing-image-widget .sharing-image-widget-poster{flex:1 1 100%;margin-left:0}}.sharing-image-widget .sharing-image-widget-manager{align-items:center;display:flex;width:100%}.sharing-image-widget .sharing-image-widget-manager .button{margin-right:12px}.sharing-image-widget .sharing-image-widget-warning{color:#b32d2e;display:none;margin:0 0 12px;position:relative}.sharing-image-widget .sharing-image-widget-warning.warning-visible{display:block}.sharing-image-widget .sharing-image-widget-delete{border-color:#b32d2e;color:#b32d2e;cursor:pointer;display:none}.sharing-image-widget .sharing-image-widget-delete:hover{color:#710d0d}.sharing-image-widget .sharing-image-widget-spinner{float:none;margin:0}.sharing-image-widget .sharing-image-widget-mode{color:#fff;cursor:help;display:none;font-family:dashicons;font-size:1rem;line-height:1;opacity:.375;position:absolute;right:.5rem;top:.5rem}.sharing-image-widget .sharing-image-widget-mode:after{content:""}.sharing-image-widget.widget-visible .sharing-image-widget-designer .sharing-image-widget-delete{display:inline-flex}.sharing-image-widget.widget-loader .sharing-image-widget-designer .sharing-image-widget-spinner,.sharing-image-widget.widget-visible .sharing-image-widget-poster{visibility:visible}.sharing-image-widget.widget-auto .sharing-image-widget-mode{display:block}.sharing-image-widget.widget-term{background:#fff;border-radius:3px;box-shadow:0 0 1px 1px rgba(0,0,0,.125);margin:20px 5% 20px 220px;padding:10px}@media(max-width:782px){.sharing-image-widget.widget-term{margin:20px 0 0;max-width:100%}}.sharing-image-widget.widget-post{max-width:480px;width:100%} -
sharing-image/tags/3.3/classes/class-generator.php
r3113737 r3118690 121 121 } 122 122 123 if ( null === $path) {123 if ( is_null( $path ) ) { 124 124 return $poster->show( Config::get_file_format(), Config::get_quality() ); 125 125 } … … 337 337 $layer = self::update_layer_dimensions( $layer, $poster ); 338 338 339 // Prepare common layer args.340 339 $args = self::prepare_args( $layer, array( 'x', 'y', 'opacity' ) ); 341 340 341 // Try to get file from attachment id. 342 $file = get_attached_file( $layer['attachment'] ); 343 344 if ( empty( $file ) ) { 345 return $poster; 346 } 347 342 348 // Create new editor instance by attachment id. 343 $attachment = $image->make( get_attached_file( $layer['attachment'] ));349 $attachment = $image->make( $file ); 344 350 345 351 return $poster->insert( self::resize_attachment( $attachment, $layer ), $args, $boundary ); -
sharing-image/tags/3.3/classes/class-meta.php
r3108262 r3118690 206 206 } 207 207 208 if ( null === $term_id) {208 if ( is_null( $term_id ) ) { 209 209 $term_id = get_queried_object_id(); 210 210 } -
sharing-image/tags/3.3/classes/class-settings.php
r3108262 r3118690 259 259 $tab = self::get_current_tab(); 260 260 261 if ( null === $tab) {261 if ( is_null( $tab ) ) { 262 262 return $title; 263 263 } … … 313 313 $tab = self::get_current_tab(); 314 314 315 if ( null === $tab) {315 if ( is_null( $tab ) ) { 316 316 return; 317 317 } … … 427 427 } 428 428 429 if ( null === $current&& ! empty( $args['default'] ) ) {429 if ( is_null( $current ) && ! empty( $args['default'] ) ) { 430 430 $classes[] = 'active'; 431 431 } -
sharing-image/tags/3.3/classes/class-templates.php
r3113737 r3118690 287 287 $templates[ $index ] = $editor; 288 288 289 if ( null === $editor) {289 if ( is_null( $editor ) ) { 290 290 unset( $templates[ $index ] ); 291 291 } -
sharing-image/tags/3.3/classes/class-tools.php
r3108262 r3118690 155 155 } 156 156 157 $layers = array(); 158 159 foreach ( $template['layers'] as $layer ) { 160 $key = Templates::generate_layer_key(); 161 162 $layers[ $key ] = $layer; 163 } 164 165 $template['layers'] = $layers; 166 157 167 if ( ! Templates::update_templates( Templates::create_unique_index(), $template ) ) { 158 168 Settings::redirect_with_message( $redirect, 10 ); -
sharing-image/tags/3.3/classes/class-widget.php
r3113737 r3118690 56 56 57 57 // Try to autogenerate poster if it is needed. 58 add_action( 'wp_after_insert_post', array( __CLASS__, ' autogenerate_poster' ), 20, 2 );58 add_action( 'wp_after_insert_post', array( __CLASS__, 'prepare_autogenerated_poster' ), 20, 2 ); 59 59 } 60 60 … … 586 586 587 587 /** 588 * Try to autogenerate posteron post insert or update.588 * Prepare poster for autogeneration on post insert or update. 589 589 * 590 590 * @param int $post_id Updated post_id. 591 591 * @param object $post Updated post object. 592 592 */ 593 public static function autogenerate_poster( $post_id, $post ) {593 public static function prepare_autogenerated_poster( $post_id, $post ) { 594 594 if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { 595 595 return; … … 618 618 } 619 619 620 $index = Config::get_autogenerate_index(); 620 self::autogenerate_poster( $post_id ); 621 } 622 623 /** 624 * Autogenerate poster for post_id and custom index if defined. 625 * Use this public method to autogenerate poster manually. 626 * 627 * @param int $post_id Post ID. 628 * @param string|null $index Template index. 629 */ 630 public static function autogenerate_poster( $post_id, $index = null ) { 631 if ( is_null( $index ) ) { 632 $index = Config::get_autogenerate_index(); 633 } 621 634 622 635 if ( ! Templates::has_template( $index ) ) { … … 666 679 667 680 /** 668 * Generate poster by AJAX request.669 * Used in widget and sidebar.681 * Generate poster. 682 * Used in widget, sidebar and for auto-generation. 670 683 * 671 684 * @param array $fieldset Fieldset data from widget. -
sharing-image/tags/3.3/readme.txt
r3113737 r3118690 4 4 Tags: social image, sharing image, og image, facebook, twitter 5 5 Requires at least: 5.3 6 Tested up to: 6.5 7 Stable tag: 3. 26 Tested up to: 6.5.5 7 Stable tag: 3.3 8 8 Requires PHP: 5.5 9 9 License: GPLv2 or later … … 31 31 == Changelog == 32 32 33 = 3.3 = 34 * Fixed duplicate layers key names on templates cloning. 35 * Fixed undefined preset fields. 36 * Updated PosterEditor library. 37 * Rebuild autogenerate_poster method. 38 33 39 = 3.2 = 34 40 * Fixed post status checks and default template for auto-generating posters. … … 43 49 44 50 = 3.0 = 45 * Updated Poster Editor library51 * Updated PosterEditor library 46 52 * Redesigned template settings page 47 53 * Added new layer settings -
sharing-image/tags/3.3/sharing-image.php
r3113737 r3118690 3 3 * Plugin Name: Sharing Image 4 4 * Description: Create sharing image for Facebook, VK.com, Telegram and other social networks 5 * Version: 3. 25 * Version: 3.3 6 6 * Requires at least: 5.3 7 7 * Requires PHP: 5.6 … … 25 25 * Plugin version. 26 26 */ 27 define( 'SHARING_IMAGE_VERSION', '3. 2' );27 define( 'SHARING_IMAGE_VERSION', '3.3' ); 28 28 29 29 /** -
sharing-image/tags/3.3/vendor/antonlukin/poster-editor/composer.json
r3113737 r3118690 1 1 { 2 2 "name": "antonlukin/poster-editor", 3 "version": "5.1 5",3 "version": "5.16", 4 4 "description": "Wrapper for PHP's GD Library for easy image manipulation", 5 5 "keywords": ["php", "image", "text", "gd"], -
sharing-image/tags/3.3/vendor/antonlukin/poster-editor/src/PosterEditor.php
r3113737 r3118690 24 24 * @author Anton Lukin <anton@lukin.me> 25 25 * @license MIT License (http://www.opensource.org/licenses/mit-license.php) 26 * @version Release: 5.1 526 * @version Release: 5.16 27 27 * @link https://github.com/antonlukin/poster-editor 28 28 */ … … 655 655 656 656 // Scale by 25% and apply Gaussian blur. 657 $this->resize( $width / 4, $height / 4);657 $this->resize(intval($width / 4), intval($height / 4)); 658 658 imagefilter($this->resource, IMG_FILTER_GAUSSIAN_BLUR); 659 659 660 660 // Scale result by 200% and blur again. 661 $this->resize( $width / 2, $height / 2);661 $this->resize(intval($width / 2), intval($height / 2)); 662 662 imagefilter($this->resource, IMG_FILTER_GAUSSIAN_BLUR); 663 663 -
sharing-image/tags/3.3/vendor/composer/installed.json
r3113737 r3118690 3 3 { 4 4 "name": "antonlukin/poster-editor", 5 "version": "5.1 5",6 "version_normalized": "5.1 5.0.0",5 "version": "5.16", 6 "version_normalized": "5.16.0.0", 7 7 "source": { 8 8 "type": "git", 9 9 "url": "https://github.com/antonlukin/poster-editor.git", 10 "reference": " 2c31ec7b318e895ad7a140782df7ab5aaa46f24f"11 }, 12 "dist": { 13 "type": "zip", 14 "url": "https://api.github.com/repos/antonlukin/poster-editor/zipball/ 2c31ec7b318e895ad7a140782df7ab5aaa46f24f",15 "reference": " 2c31ec7b318e895ad7a140782df7ab5aaa46f24f",10 "reference": "190fc123de1d8c4453481d413dfcf40bd58eb30d" 11 }, 12 "dist": { 13 "type": "zip", 14 "url": "https://api.github.com/repos/antonlukin/poster-editor/zipball/190fc123de1d8c4453481d413dfcf40bd58eb30d", 15 "reference": "190fc123de1d8c4453481d413dfcf40bd58eb30d", 16 16 "shasum": "" 17 17 }, … … 26 26 "ext-gd": "to use GD library based image processing." 27 27 }, 28 "time": "2024-07- 06T16:53:08+00:00",28 "time": "2024-07-14T17:11:11+00:00", 29 29 "type": "library", 30 30 "installation-source": "dist", … … 54 54 "support": { 55 55 "issues": "https://github.com/antonlukin/poster-editor/issues", 56 "source": "https://github.com/antonlukin/poster-editor/tree/v5.1 5"56 "source": "https://github.com/antonlukin/poster-editor/tree/v5.16" 57 57 }, 58 58 "install-path": "../antonlukin/poster-editor" -
sharing-image/tags/3.3/vendor/composer/installed.php
r3113737 r3118690 4 4 'pretty_version' => 'dev-develop', 5 5 'version' => 'dev-develop', 6 'reference' => ' fdf5f29ddff8a79a24fee5ff129362a66eb52672',6 'reference' => 'b4de69e2c9ba0158f23679a67f2cef96b399d307', 7 7 'type' => 'library', 8 8 'install_path' => __DIR__ . '/../../', … … 12 12 'versions' => array( 13 13 'antonlukin/poster-editor' => array( 14 'pretty_version' => '5.1 5',15 'version' => '5.1 5.0.0',16 'reference' => ' 2c31ec7b318e895ad7a140782df7ab5aaa46f24f',14 'pretty_version' => '5.16', 15 'version' => '5.16.0.0', 16 'reference' => '190fc123de1d8c4453481d413dfcf40bd58eb30d', 17 17 'type' => 'library', 18 18 'install_path' => __DIR__ . '/../antonlukin/poster-editor', … … 23 23 'pretty_version' => 'dev-develop', 24 24 'version' => 'dev-develop', 25 'reference' => ' fdf5f29ddff8a79a24fee5ff129362a66eb52672',25 'reference' => 'b4de69e2c9ba0158f23679a67f2cef96b399d307', 26 26 'type' => 'library', 27 27 'install_path' => __DIR__ . '/../../', -
sharing-image/trunk/assets/sidebar/index.asset.php
r3109241 r3118690 1 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-primitives'), 'version' => ' f7294e68b3214a597c70');1 <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-components', 'wp-data', 'wp-edit-post', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-plugins', 'wp-primitives'), 'version' => '3cd3bf43b85328242b8c'); -
sharing-image/trunk/assets/sidebar/index.js
r3109241 r3118690 1 (()=>{"use strict";var e={n:t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return e.d(a,{a}),a},d:(t,a)=>{for(var r in a)e.o(a,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:a[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.React,a=window.wp.i18n,r=window.wp.apiFetch;var n=e.n(r);const i=window.wp.element, o=window.wp.data,l=window.wp.plugins,s=window.wp.editPost,c=window.wp.components,u=window.wp.notices,d=({name:e,layer:a,fieldset:r,updateFieldset:n,attribute:l})=>{const[s,u]=(0,i.useState)(!1),d=(0,o.useSelect)((e=>e("core/editor").getEditedPostAttribute(l)));return(0,i.useEffect)((()=>{s||n(e,d)}),[d]),(0,t.createElement)(c.TextareaControl,{name:e,label:a.title,value:r[e],onChange:t=>(t=>{n(e,t),u(!0)})(t)})},m=({name:e,layer:a,fieldset:r,updateFieldset:n,attribute:l,entity:s})=>{const[u,d]=(0,i.useState)(!1),m=(0,o.useSelect)((e=>{const t=[];let r=e("core/editor").getEditedPostAttribute(l);return r||(r=[]),r.forEach((a=>{const r=e("core").getEntityRecord("taxonomy",s,a);r&&t.push(r.name)})),t.join(a.separator||", ")}));return(0,i.useEffect)((()=>{u||n(e,m)}),[m]),(0,t.createElement)(c.TextareaControl,{name:e,label:a.title,value:r[e],onChange:t=>(t=>{n(e,t),d(!0)})(t)})},g=(0,i.forwardRef)((function({icon:e,size:t=24,...a},r){return(0,i.cloneElement)(e,{width:t,height:t,...a,ref:r})})),p=window.wp.primitives,w=(0,t.createElement)(p.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,t.createElement)(p.Path,{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z"})),E=window.wp.blockEditor,h=({name:e,layer:r,mode:n,fieldset:l,updateFieldset:s})=>{const u=(0,o.useSelect)((e=>e("core/editor").getEditedPostAttribute("featured_media"))),d=(0,o.useSelect)((t=>{const a=t("core").getMedia(l[e]);let r=a?.media_details?.sizes?.thumbnail?.source_url;return r||(r=a?.source_url),r}),[l]);(0,i.useEffect)((()=>{"manual"!==n&&"featured"===r.preset&&s(e,u)}),[u,e]);const m=()=>{s(e,0)};return(0,t.createElement)(E.MediaUploadCheck,null,(0,t.createElement)(E.MediaUpload,{onSelect:t=>{var a;a=t.id,s(e,a)},allowedTypes:["image"],value:l[e],render:({open:r})=>l[e]?(0,t.createElement)(t.Fragment,null,d&&(0,t.createElement)("img",{src:d,alt:"",className:"g4qkvGu7xkyoImxRZ6GR"}),(0,t.createElement)(c.Button,{variant:"link",onClick:m},(0,a.__)("Remove image","sharing-image"))):(e=>(0,t.createElement)(t.Fragment,null,(0,t.createElement)(g,{icon:w,className:"ipnonin6Xj5A9QU3K38L"}),(0,t.createElement)(c.Button,{variant:"link",onClick:e},(0,a.__)("Set layer image","sharing-image"))))(r)}))},f=({layers:e,mode:a,fieldset:r,updateFieldset:n})=>{const i=(e,a)=>(0,t.createElement)(c.TextareaControl,{name:a,label:e.title,defaultValue:r[a],onChange:e=>n(a,e)}),o=(e,o)=>{if("manual"===a)return i(e,o);const l={name:o,layer:e,fieldset:r,updateFieldset:n};switch(e.preset){case"title":return(0,t.createElement)(d,{...l,attribute:"title"});case"excerpt":return(0,t.createElement)(d,{...l,attribute:"excerpt"});case"categories":return(0,t.createElement)(m,{...l,attribute:"categories",entity:"category"});case"tags":return(0,t.createElement)(m,{...l,attribute:"tags",entity:"post_tag"})}return i(e,o)},l=(e,i)=>{const o={name:i,layer:e,mode:a,fieldset:r,updateFieldset:n};return(0,t.createElement)(c.BaseControl,{id:null,label:e.title},(0,t.createElement)(c.Flex,{justify:"flex-start",style:{border:"solid 1px #ccc",padding:"4px",borderRadius:"4px"}},(0,t.createElement)(h,{...o})))};return(()=>{const t=[];for(const a in e){const r=e[a];if(r.dynamic)switch(r.type){case"text":t.push(o(r,a));break;case"image":t.push(l(r,a))}}return t})()},y=({meta:e,templates:r,autogenerate:l})=>{const{createErrorNotice:s,removeNotice:d}=(0,o.useDispatch)(u.store),m=(0,o.useSelect)((e=>e("core/editor").getCurrentPostId())),g=(0,o.useSelect)((e=>e("core/editor").getEditedPostAttribute("meta")||{})),{editPost:p}=(0,o.useDispatch)("core/editor",[g]),[w,E]=(0,i.useState)(g[e.source]?.template),[h,y]=(0,i.useState)(g[e.fieldset]),[b,v]=(0,i.useState)(!1);return(0,i.useEffect)((()=>{p({meta:{[e.fieldset]:h}})}),[h]),(0,i.useEffect)((()=>{if(r[w])return;if(l&&r[l])return void E(l);const[e]=Object.keys(r);e&&E(e)}),[r,w,l]),(0,t.createElement)(c.Flex,{direction:"column",gap:2,style:{position:"relative"}},g[e.source]?.poster&&(0,t.createElement)("img",{src:g[e.source].poster,alt:(0,a.__)("Sharing Image poster","sharing-image")}),"auto"===g[e.source]?.mode&&(()=>{const e=(0,a.__)("Poster was generated automatically and will update on post saving.","sharing-image");return(0,t.createElement)(c.Dashicon,{icon:"awards",className:"BygBjwYpqPpeTZbVCcRT",title:e})})(),(0,t.createElement)(c.SelectControl,{value:w,options:Object.keys(r).map((e=>({label:r[e].title||(0,a.__)("Untitled","sharing-image"),value:e}))),onChange:t=>{p({meta:{[e.source]:{...g[e.source],template:t}}}),E(t)}}),r[w]&&(0,t.createElement)(c.Flex,{direction:"column",gap:2},(0,t.createElement)(f,{layers:r[w].layers||[],mode:g[e.source]?.mode,fieldset:h,updateFieldset:(e,t)=>{y((a=>({...a,[e]:t})))}})),(0,t.createElement)(c.Flex,{justify:"flex-start"},(0,t.createElement)(c.Button,{variant:"secondary",type:"button",onClick:()=>(async()=>{if(b)return;d("sharing-image-generate");const t={path:"sharing-image/v1/poster/"+m,method:"POST",data:{fieldset:h,template:w}};v(!0);try{const a=await n()(t);if(!a.data)throw new Error;p({meta:{[e.source]:{...a.data,template:w}}})}catch(e){s((0,a.__)("An unexpected error occurred","sharing-image"),{id:"sharing-image-generate",type:"snackbar"})}v(!1)})()},(0,a.__)("Generate","sharing-image")),(0,t.createElement)(c.Button,{variant:"tertiary",isDestructive:!0,onClick:()=>{p({meta:{[e.source]:{}}})}},(0,a.__)("Remove","sharing-image")),b&&(0,t.createElement)(c.Spinner,null)))};(0,l.registerPlugin)("sharing-image-sidebar",{render:()=>{const e=window.sharingImageSidebar||{};if(e.meta?.source&&e.meta?.fieldset)return(0,t.createElement)(s.PluginDocumentSettingPanel,{name:"sharing-image-sidebar",title:(0,a.__)("Sharing Image","sharing-image")},(0,t.createElement)(y,{...e}))}})})();1 (()=>{"use strict";var e={n:t=>{var a=t&&t.__esModule?()=>t.default:()=>t;return e.d(a,{a}),a},d:(t,a)=>{for(var r in a)e.o(a,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:a[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.React,a=window.wp.i18n,r=window.wp.apiFetch;var n=e.n(r);const i=window.wp.element,l=window.wp.data,o=window.wp.plugins,s=window.wp.editPost,c=window.wp.components,u=window.wp.notices,d=({name:e,layer:a,fieldset:r,updateFieldset:n,attribute:o})=>{const[s,u]=(0,i.useState)(!1),d=(0,l.useSelect)((e=>e("core/editor").getEditedPostAttribute(o)));return(0,i.useEffect)((()=>{s||n(e,d)}),[d]),(0,t.createElement)(c.TextareaControl,{name:e,label:a.title,value:r?.[e]||"",onChange:t=>(t=>{n(e,t),u(!0)})(t)})},m=({name:e,layer:a,fieldset:r,updateFieldset:n,attribute:o,entity:s})=>{const[u,d]=(0,i.useState)(!1),m=(0,l.useSelect)((e=>{const t=[];let r=e("core/editor").getEditedPostAttribute(o);return r||(r=[]),r.forEach((a=>{const r=e("core").getEntityRecord("taxonomy",s,a);r&&t.push(r.name)})),t.join(a.separator||", ")}));return(0,i.useEffect)((()=>{u||n(e,m)}),[m]),(0,t.createElement)(c.TextareaControl,{name:e,label:a.title,value:r?.[e]||"",onChange:t=>(t=>{n(e,t),d(!0)})(t)})},g=(0,i.forwardRef)((function({icon:e,size:t=24,...a},r){return(0,i.cloneElement)(e,{width:t,height:t,...a,ref:r})})),p=window.wp.primitives,w=(0,t.createElement)(p.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,t.createElement)(p.Path,{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z"})),E=window.wp.blockEditor,f=({name:e,layer:r,mode:n,fieldset:o,updateFieldset:s})=>{const u=(0,l.useSelect)((e=>e("core/editor").getEditedPostAttribute("featured_media"))),d=(0,l.useSelect)((t=>{if(!o?.[e])return null;const a=t("core").getMedia(o?.[e]);let r=a?.media_details?.sizes?.thumbnail?.source_url;return r||(r=a?.source_url),r}),[o]);(0,i.useEffect)((()=>{"manual"!==n&&"featured"===r.preset&&s(e,u)}),[u,e]);const m=()=>{s(e,0)};return(0,t.createElement)(E.MediaUploadCheck,null,(0,t.createElement)(E.MediaUpload,{onSelect:t=>{var a;a=t.id,s(e,a)},allowedTypes:["image"],value:o?.[e],render:({open:r})=>o?.[e]?(0,t.createElement)(t.Fragment,null,d&&(0,t.createElement)("img",{src:d,alt:"",className:"g4qkvGu7xkyoImxRZ6GR"}),(0,t.createElement)(c.Button,{variant:"link",onClick:m},(0,a.__)("Remove image","sharing-image"))):(e=>(0,t.createElement)(t.Fragment,null,(0,t.createElement)(g,{icon:w,className:"ipnonin6Xj5A9QU3K38L"}),(0,t.createElement)(c.Button,{variant:"link",onClick:e},(0,a.__)("Set layer image","sharing-image"))))(r)}))},h=({layers:e,mode:a,fieldset:r,updateFieldset:n})=>{const i=(e,a)=>(0,t.createElement)(c.TextareaControl,{name:a,label:e.title,defaultValue:r?.[a]||"",onChange:e=>n(a,e)}),l=(e,l)=>{if("manual"===a)return i(e,l);const o={name:l,layer:e,fieldset:r,updateFieldset:n};switch(e.preset){case"title":return(0,t.createElement)(d,{...o,attribute:"title"});case"excerpt":return(0,t.createElement)(d,{...o,attribute:"excerpt"});case"categories":return(0,t.createElement)(m,{...o,attribute:"categories",entity:"category"});case"tags":return(0,t.createElement)(m,{...o,attribute:"tags",entity:"post_tag"})}return i(e,l)},o=(e,i)=>{const l={name:i,layer:e,mode:a,fieldset:r,updateFieldset:n};return(0,t.createElement)(c.BaseControl,{id:null,label:e.title},(0,t.createElement)(c.Flex,{justify:"flex-start",style:{border:"solid 1px #ccc",padding:"4px",borderRadius:"4px"}},(0,t.createElement)(f,{...l})))};return(()=>{const t=[];for(const a in e){const r=e[a];if(r.dynamic)switch(r.type){case"text":t.push(l(r,a));break;case"image":t.push(o(r,a))}}return t})()},y=({meta:e,templates:r,autogenerate:o})=>{const{createErrorNotice:s,removeNotice:d}=(0,l.useDispatch)(u.store),m=(0,l.useSelect)((e=>e("core/editor").getCurrentPostId())),g=(0,l.useSelect)((e=>e("core/editor").getEditedPostAttribute("meta")||{})),{editPost:p}=(0,l.useDispatch)("core/editor",[g]),[w,E]=(0,i.useState)(g[e.source]?.template),[f,y]=(0,i.useState)(g[e.fieldset]),[b,v]=(0,i.useState)(!1);return(0,i.useEffect)((()=>{p({meta:{[e.fieldset]:f}})}),[f]),(0,i.useEffect)((()=>{if(r[w])return;if(o&&r[o])return void E(o);const[e]=Object.keys(r);e&&E(e)}),[r,w,o]),(0,t.createElement)(c.Flex,{direction:"column",gap:2,style:{position:"relative"}},g[e.source]?.poster&&(0,t.createElement)("img",{src:g[e.source].poster,alt:(0,a.__)("Sharing Image poster","sharing-image")}),"auto"===g[e.source]?.mode&&(()=>{const e=(0,a.__)("Poster was generated automatically and will update on post saving.","sharing-image");return(0,t.createElement)(c.Dashicon,{icon:"awards",className:"BygBjwYpqPpeTZbVCcRT",title:e})})(),(0,t.createElement)(c.SelectControl,{value:w,options:Object.keys(r).map((e=>({label:r[e].title||(0,a.__)("Untitled","sharing-image"),value:e}))),onChange:t=>{p({meta:{[e.source]:{...g[e.source],template:t}}}),E(t)}}),r[w]&&(0,t.createElement)(c.Flex,{direction:"column",gap:2},(0,t.createElement)(h,{layers:r[w].layers||[],mode:g[e.source]?.mode,fieldset:f,updateFieldset:(e,t)=>{y((a=>({...a,[e]:t})))}})),(0,t.createElement)(c.Flex,{justify:"flex-start"},(0,t.createElement)(c.Button,{variant:"secondary",type:"button",onClick:()=>(async()=>{if(b)return;d("sharing-image-generate");const t={path:"sharing-image/v1/poster/"+m,method:"POST",data:{fieldset:f,template:w}};v(!0);try{const a=await n()(t);if(!a.data)throw new Error;p({meta:{[e.source]:{...a.data,template:w}}})}catch(e){s((0,a.__)("An unexpected error occurred","sharing-image"),{id:"sharing-image-generate",type:"snackbar"})}v(!1)})()},(0,a.__)("Generate","sharing-image")),(0,t.createElement)(c.Button,{variant:"tertiary",isDestructive:!0,onClick:()=>{p({meta:{[e.source]:{}}})}},(0,a.__)("Remove","sharing-image")),b&&(0,t.createElement)(c.Spinner,null)))};(0,o.registerPlugin)("sharing-image-sidebar",{render:()=>{const e=window.sharingImageSidebar||{};if(e.meta?.source&&e.meta?.fieldset)return(0,t.createElement)(s.PluginDocumentSettingPanel,{name:"sharing-image-sidebar",title:(0,a.__)("Sharing Image","sharing-image")},(0,t.createElement)(y,{...e}))}})})(); -
sharing-image/trunk/assets/widget/index.asset.php
r3113737 r3118690 1 <?php return array('dependencies' => array(), 'version' => ' 954c4dd2d896f32b4998');1 <?php return array('dependencies' => array(), 'version' => 'e096167d72f4deffd494'); -
sharing-image/trunk/assets/widget/index.css
r3108262 r3118690 1 .sharing-image-widget{display:block;margin-top:12px;max-width:100%;position:relative}.sharing-image-widget *{box-sizing:border-box}.sharing-image-widget .sharing-image-widget-template{display:block;margin-bottom:12px;width:100%}.sharing-image-widget .sharing-image-widget-template select{display:block;max-width:100%;width:100%}.sharing-image-widget .sharing-image-widget-fieldset{display:none;position:relative}.sharing-image-widget .sharing-image-widget-fieldset.fieldset-visible{display:block}.sharing-image-widget .sharing-image-widget-image{align-items:center;display:flex;flex-flow:row wrap;margin-bottom:12px}.sharing-image-widget .sharing-image-widget-image h4{ display:block;margin:0 0 5px;width:100%}.sharing-image-widget .sharing-image-widget-image figure{align-items:center;border-radius:2px;display:flex;height:30px;justify-content:center;margin:0 8px 0 0;overflow:hidden;position:relative;width:30px}.sharing-image-widget .sharing-image-widget-image figure:before{content:"";display:block;font-family:dashicons;font-size:2rem;line-height:1;opacity:.375}.sharing-image-widget .sharing-image-widget-image figure img{background-color:#fff;display:block;height:100%;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%;z-index:3}.sharing-image-widget .sharing-image-widget-image .button{margin-right:14px}.sharing-image-widget .sharing-image-widget-text{display:block;margin-bottom:12px;width:100%}.sharing-image-widget .sharing-image-widget-text h4{margin:0}.sharing-image-widget .sharing-image-widget-text>*{display:block;width:100%}.sharing-image-widget .sharing-image-widget-text textarea{height:55px;margin-top:5px;min-height:28px}.sharing-image-widget .sharing-image-widget-designer{display:block;position:relative}.sharing-image-widget .sharing-image-widget-poster{display:block;position:relative;visibility:hidden;width:100%}.sharing-image-widget .sharing-image-widget-poster img{border-radius:2px;display:block;height:auto;margin-bottom:12px;max-width:100%}@media screen and (max-width:1199px){.sharing-image-widget .sharing-image-widget-poster{flex:1 1 100%;margin-left:0}}.sharing-image-widget .sharing-image-widget-manager{align-items:center;display:flex;width:100%}.sharing-image-widget .sharing-image-widget-manager .button{margin-right:12px}.sharing-image-widget .sharing-image-widget-warning{color:#b32d2e;display:none;margin:0 0 12px;position:relative}.sharing-image-widget .sharing-image-widget-warning.warning-visible{display:block}.sharing-image-widget .sharing-image-widget-delete{border-color:#b32d2e;color:#b32d2e;cursor:pointer;display:none}.sharing-image-widget .sharing-image-widget-delete:hover{color:#710d0d}.sharing-image-widget .sharing-image-widget-spinner{float:none;margin:0}.sharing-image-widget .sharing-image-widget-mode{color:#fff;cursor:help;display:none;font-family:dashicons;font-size:1rem;line-height:1;opacity:.375;position:absolute;right:.5rem;top:.5rem}.sharing-image-widget .sharing-image-widget-mode:after{content:""}.sharing-image-widget.widget-visible .sharing-image-widget-designer .sharing-image-widget-delete{display:inline-flex}.sharing-image-widget.widget-loader .sharing-image-widget-designer .sharing-image-widget-spinner,.sharing-image-widget.widget-visible .sharing-image-widget-poster{visibility:visible}.sharing-image-widget.widget-auto .sharing-image-widget-mode{display:block}.sharing-image-widget.widget-term{background:#fff;border-radius:3px;box-shadow:0 0 1px 1px rgba(0,0,0,.125);margin:20px 5% 20px 220px;padding:10px}@media(max-width:782px){.sharing-image-widget.widget-term{margin:20px 0 0;max-width:100%}}.sharing-image-widget.widget-post{max-width:480px;width:100%}1 .sharing-image-widget{display:block;margin-top:12px;max-width:100%;position:relative}.sharing-image-widget *{box-sizing:border-box}.sharing-image-widget .sharing-image-widget-template{display:block;margin-bottom:12px;width:100%}.sharing-image-widget .sharing-image-widget-template select{display:block;max-width:100%;width:100%}.sharing-image-widget .sharing-image-widget-fieldset{display:none;position:relative}.sharing-image-widget .sharing-image-widget-fieldset.fieldset-visible{display:block}.sharing-image-widget .sharing-image-widget-image{align-items:center;display:flex;flex-flow:row wrap;margin-bottom:12px}.sharing-image-widget .sharing-image-widget-image h4{border:0;display:block;font-size:13px;margin:0 0 5px;padding:0;width:100%}.sharing-image-widget .sharing-image-widget-image figure{align-items:center;border-radius:2px;display:flex;height:30px;justify-content:center;margin:0 8px 0 0;overflow:hidden;position:relative;width:30px}.sharing-image-widget .sharing-image-widget-image figure:before{content:"";display:block;font-family:dashicons;font-size:2rem;line-height:1;opacity:.375}.sharing-image-widget .sharing-image-widget-image figure img{background-color:#fff;display:block;height:100%;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%;z-index:3}.sharing-image-widget .sharing-image-widget-image .button{margin-right:14px}.sharing-image-widget .sharing-image-widget-text{display:block;margin-bottom:12px;width:100%}.sharing-image-widget .sharing-image-widget-text h4{border:0;display:block;font-size:13px;margin:0 0 5px;padding:0;width:100%}.sharing-image-widget .sharing-image-widget-text>*{display:block;width:100%}.sharing-image-widget .sharing-image-widget-text textarea{height:55px;margin-top:5px;min-height:28px}.sharing-image-widget .sharing-image-widget-designer{display:block;position:relative}.sharing-image-widget .sharing-image-widget-poster{display:block;position:relative;visibility:hidden;width:100%}.sharing-image-widget .sharing-image-widget-poster img{border-radius:2px;display:block;height:auto;margin-bottom:12px;max-width:100%}@media screen and (max-width:1199px){.sharing-image-widget .sharing-image-widget-poster{flex:1 1 100%;margin-left:0}}.sharing-image-widget .sharing-image-widget-manager{align-items:center;display:flex;width:100%}.sharing-image-widget .sharing-image-widget-manager .button{margin-right:12px}.sharing-image-widget .sharing-image-widget-warning{color:#b32d2e;display:none;margin:0 0 12px;position:relative}.sharing-image-widget .sharing-image-widget-warning.warning-visible{display:block}.sharing-image-widget .sharing-image-widget-delete{border-color:#b32d2e;color:#b32d2e;cursor:pointer;display:none}.sharing-image-widget .sharing-image-widget-delete:hover{color:#710d0d}.sharing-image-widget .sharing-image-widget-spinner{float:none;margin:0}.sharing-image-widget .sharing-image-widget-mode{color:#fff;cursor:help;display:none;font-family:dashicons;font-size:1rem;line-height:1;opacity:.375;position:absolute;right:.5rem;top:.5rem}.sharing-image-widget .sharing-image-widget-mode:after{content:""}.sharing-image-widget.widget-visible .sharing-image-widget-designer .sharing-image-widget-delete{display:inline-flex}.sharing-image-widget.widget-loader .sharing-image-widget-designer .sharing-image-widget-spinner,.sharing-image-widget.widget-visible .sharing-image-widget-poster{visibility:visible}.sharing-image-widget.widget-auto .sharing-image-widget-mode{display:block}.sharing-image-widget.widget-term{background:#fff;border-radius:3px;box-shadow:0 0 1px 1px rgba(0,0,0,.125);margin:20px 5% 20px 220px;padding:10px}@media(max-width:782px){.sharing-image-widget.widget-term{margin:20px 0 0;max-width:100%}}.sharing-image-widget.widget-post{max-width:480px;width:100%} -
sharing-image/trunk/classes/class-generator.php
r3113737 r3118690 121 121 } 122 122 123 if ( null === $path) {123 if ( is_null( $path ) ) { 124 124 return $poster->show( Config::get_file_format(), Config::get_quality() ); 125 125 } … … 337 337 $layer = self::update_layer_dimensions( $layer, $poster ); 338 338 339 // Prepare common layer args.340 339 $args = self::prepare_args( $layer, array( 'x', 'y', 'opacity' ) ); 341 340 341 // Try to get file from attachment id. 342 $file = get_attached_file( $layer['attachment'] ); 343 344 if ( empty( $file ) ) { 345 return $poster; 346 } 347 342 348 // Create new editor instance by attachment id. 343 $attachment = $image->make( get_attached_file( $layer['attachment'] ));349 $attachment = $image->make( $file ); 344 350 345 351 return $poster->insert( self::resize_attachment( $attachment, $layer ), $args, $boundary ); -
sharing-image/trunk/classes/class-meta.php
r3108262 r3118690 206 206 } 207 207 208 if ( null === $term_id) {208 if ( is_null( $term_id ) ) { 209 209 $term_id = get_queried_object_id(); 210 210 } -
sharing-image/trunk/classes/class-settings.php
r3108262 r3118690 259 259 $tab = self::get_current_tab(); 260 260 261 if ( null === $tab) {261 if ( is_null( $tab ) ) { 262 262 return $title; 263 263 } … … 313 313 $tab = self::get_current_tab(); 314 314 315 if ( null === $tab) {315 if ( is_null( $tab ) ) { 316 316 return; 317 317 } … … 427 427 } 428 428 429 if ( null === $current&& ! empty( $args['default'] ) ) {429 if ( is_null( $current ) && ! empty( $args['default'] ) ) { 430 430 $classes[] = 'active'; 431 431 } -
sharing-image/trunk/classes/class-templates.php
r3113737 r3118690 287 287 $templates[ $index ] = $editor; 288 288 289 if ( null === $editor) {289 if ( is_null( $editor ) ) { 290 290 unset( $templates[ $index ] ); 291 291 } -
sharing-image/trunk/classes/class-tools.php
r3108262 r3118690 155 155 } 156 156 157 $layers = array(); 158 159 foreach ( $template['layers'] as $layer ) { 160 $key = Templates::generate_layer_key(); 161 162 $layers[ $key ] = $layer; 163 } 164 165 $template['layers'] = $layers; 166 157 167 if ( ! Templates::update_templates( Templates::create_unique_index(), $template ) ) { 158 168 Settings::redirect_with_message( $redirect, 10 ); -
sharing-image/trunk/classes/class-widget.php
r3113737 r3118690 56 56 57 57 // Try to autogenerate poster if it is needed. 58 add_action( 'wp_after_insert_post', array( __CLASS__, ' autogenerate_poster' ), 20, 2 );58 add_action( 'wp_after_insert_post', array( __CLASS__, 'prepare_autogenerated_poster' ), 20, 2 ); 59 59 } 60 60 … … 586 586 587 587 /** 588 * Try to autogenerate posteron post insert or update.588 * Prepare poster for autogeneration on post insert or update. 589 589 * 590 590 * @param int $post_id Updated post_id. 591 591 * @param object $post Updated post object. 592 592 */ 593 public static function autogenerate_poster( $post_id, $post ) {593 public static function prepare_autogenerated_poster( $post_id, $post ) { 594 594 if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { 595 595 return; … … 618 618 } 619 619 620 $index = Config::get_autogenerate_index(); 620 self::autogenerate_poster( $post_id ); 621 } 622 623 /** 624 * Autogenerate poster for post_id and custom index if defined. 625 * Use this public method to autogenerate poster manually. 626 * 627 * @param int $post_id Post ID. 628 * @param string|null $index Template index. 629 */ 630 public static function autogenerate_poster( $post_id, $index = null ) { 631 if ( is_null( $index ) ) { 632 $index = Config::get_autogenerate_index(); 633 } 621 634 622 635 if ( ! Templates::has_template( $index ) ) { … … 666 679 667 680 /** 668 * Generate poster by AJAX request.669 * Used in widget and sidebar.681 * Generate poster. 682 * Used in widget, sidebar and for auto-generation. 670 683 * 671 684 * @param array $fieldset Fieldset data from widget. -
sharing-image/trunk/readme.txt
r3113737 r3118690 4 4 Tags: social image, sharing image, og image, facebook, twitter 5 5 Requires at least: 5.3 6 Tested up to: 6.5 7 Stable tag: 3. 26 Tested up to: 6.5.5 7 Stable tag: 3.3 8 8 Requires PHP: 5.5 9 9 License: GPLv2 or later … … 31 31 == Changelog == 32 32 33 = 3.3 = 34 * Fixed duplicate layers key names on templates cloning. 35 * Fixed undefined preset fields. 36 * Updated PosterEditor library. 37 * Rebuild autogenerate_poster method. 38 33 39 = 3.2 = 34 40 * Fixed post status checks and default template for auto-generating posters. … … 43 49 44 50 = 3.0 = 45 * Updated Poster Editor library51 * Updated PosterEditor library 46 52 * Redesigned template settings page 47 53 * Added new layer settings -
sharing-image/trunk/sharing-image.php
r3113737 r3118690 3 3 * Plugin Name: Sharing Image 4 4 * Description: Create sharing image for Facebook, VK.com, Telegram and other social networks 5 * Version: 3. 25 * Version: 3.3 6 6 * Requires at least: 5.3 7 7 * Requires PHP: 5.6 … … 25 25 * Plugin version. 26 26 */ 27 define( 'SHARING_IMAGE_VERSION', '3. 2' );27 define( 'SHARING_IMAGE_VERSION', '3.3' ); 28 28 29 29 /** -
sharing-image/trunk/vendor/antonlukin/poster-editor/composer.json
r3113737 r3118690 1 1 { 2 2 "name": "antonlukin/poster-editor", 3 "version": "5.1 5",3 "version": "5.16", 4 4 "description": "Wrapper for PHP's GD Library for easy image manipulation", 5 5 "keywords": ["php", "image", "text", "gd"], -
sharing-image/trunk/vendor/antonlukin/poster-editor/src/PosterEditor.php
r3113737 r3118690 24 24 * @author Anton Lukin <anton@lukin.me> 25 25 * @license MIT License (http://www.opensource.org/licenses/mit-license.php) 26 * @version Release: 5.1 526 * @version Release: 5.16 27 27 * @link https://github.com/antonlukin/poster-editor 28 28 */ … … 655 655 656 656 // Scale by 25% and apply Gaussian blur. 657 $this->resize( $width / 4, $height / 4);657 $this->resize(intval($width / 4), intval($height / 4)); 658 658 imagefilter($this->resource, IMG_FILTER_GAUSSIAN_BLUR); 659 659 660 660 // Scale result by 200% and blur again. 661 $this->resize( $width / 2, $height / 2);661 $this->resize(intval($width / 2), intval($height / 2)); 662 662 imagefilter($this->resource, IMG_FILTER_GAUSSIAN_BLUR); 663 663 -
sharing-image/trunk/vendor/composer/installed.json
r3113737 r3118690 3 3 { 4 4 "name": "antonlukin/poster-editor", 5 "version": "5.1 5",6 "version_normalized": "5.1 5.0.0",5 "version": "5.16", 6 "version_normalized": "5.16.0.0", 7 7 "source": { 8 8 "type": "git", 9 9 "url": "https://github.com/antonlukin/poster-editor.git", 10 "reference": " 2c31ec7b318e895ad7a140782df7ab5aaa46f24f"11 }, 12 "dist": { 13 "type": "zip", 14 "url": "https://api.github.com/repos/antonlukin/poster-editor/zipball/ 2c31ec7b318e895ad7a140782df7ab5aaa46f24f",15 "reference": " 2c31ec7b318e895ad7a140782df7ab5aaa46f24f",10 "reference": "190fc123de1d8c4453481d413dfcf40bd58eb30d" 11 }, 12 "dist": { 13 "type": "zip", 14 "url": "https://api.github.com/repos/antonlukin/poster-editor/zipball/190fc123de1d8c4453481d413dfcf40bd58eb30d", 15 "reference": "190fc123de1d8c4453481d413dfcf40bd58eb30d", 16 16 "shasum": "" 17 17 }, … … 26 26 "ext-gd": "to use GD library based image processing." 27 27 }, 28 "time": "2024-07- 06T16:53:08+00:00",28 "time": "2024-07-14T17:11:11+00:00", 29 29 "type": "library", 30 30 "installation-source": "dist", … … 54 54 "support": { 55 55 "issues": "https://github.com/antonlukin/poster-editor/issues", 56 "source": "https://github.com/antonlukin/poster-editor/tree/v5.1 5"56 "source": "https://github.com/antonlukin/poster-editor/tree/v5.16" 57 57 }, 58 58 "install-path": "../antonlukin/poster-editor" -
sharing-image/trunk/vendor/composer/installed.php
r3113737 r3118690 4 4 'pretty_version' => 'dev-develop', 5 5 'version' => 'dev-develop', 6 'reference' => ' fdf5f29ddff8a79a24fee5ff129362a66eb52672',6 'reference' => 'b4de69e2c9ba0158f23679a67f2cef96b399d307', 7 7 'type' => 'library', 8 8 'install_path' => __DIR__ . '/../../', … … 12 12 'versions' => array( 13 13 'antonlukin/poster-editor' => array( 14 'pretty_version' => '5.1 5',15 'version' => '5.1 5.0.0',16 'reference' => ' 2c31ec7b318e895ad7a140782df7ab5aaa46f24f',14 'pretty_version' => '5.16', 15 'version' => '5.16.0.0', 16 'reference' => '190fc123de1d8c4453481d413dfcf40bd58eb30d', 17 17 'type' => 'library', 18 18 'install_path' => __DIR__ . '/../antonlukin/poster-editor', … … 23 23 'pretty_version' => 'dev-develop', 24 24 'version' => 'dev-develop', 25 'reference' => ' fdf5f29ddff8a79a24fee5ff129362a66eb52672',25 'reference' => 'b4de69e2c9ba0158f23679a67f2cef96b399d307', 26 26 'type' => 'library', 27 27 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.