HEX
Server: LiteSpeed
System: Linux eko108.isimtescil.net 4.18.0-477.21.1.lve.1.el8.x86_64 #1 SMP Tue Sep 5 23:08:35 UTC 2023 x86_64
User: uyarreklamcomtr (11202)
PHP: 7.4.33
Disabled: opcache_get_status
Upload Files
File: /var/www/vhosts/uyarreklam.com.tr/httpdocs/taxonomy.tar
assets/banner.svg000064400000001163151540023150010031 0ustar00<svg enable-background="new 0 0 120 120" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg"><path d="m0 0h120v120h-120z" fill="#1880b6"/><g stroke="#324249" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" transform="translate(1 1)"><path d="m45 57-17-17v-12h12l17 17zm-11-21c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm44 54-17-17v-12h12l17 17zm-11-21c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z" fill="#8ed9ef"/><path d="m78 57-17-17v-12h12l17 17zm-11-21c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-22 54-17-17v-12h12l17 17zm-11-21c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z" fill="#f2f0da"/></g></svg>assets/icon.svg000064400000001441151540023150007513 0ustar00<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m20.69141 15.65234h-2.44775v-3.49121c0-.41406-.33594-.75-.75-.75h-4.74365v-3.06348h2.44775c.41406 0 .75-.33594.75-.75v-4.26074c0-.41406-.33594-.75-.75-.75h-6.39551c-.41406 0-.75.33594-.75.75v4.26074c0 .41406.33594.75.75.75h2.44775v3.06348h-4.74365c-.41406 0-.75.33594-.75.75v3.49121h-2.44775c-.41406 0-.75.33594-.75.75v4.26074c0 .41406.33594.75.75.75h6.39551c.41406 0 .75-.33594.75-.75v-4.26074c0-.41406-.33594-.75-.75-.75h-2.44775v-2.74121h9.4873v2.74121h-2.44775c-.41406 0-.75.33594-.75.75v4.26074c0 .41406.33594.75.75.75h6.39551c.41406 0 .75-.33594.75-.75v-4.26074c0-.41406-.33594-.75-.75-.75zm-11.13916-11.56543h4.89551v2.76074h-4.89551zm-.59815 15.82618h-4.89551v-2.76074h4.89551zm10.98731 0h-4.89551v-2.76074h4.89551z"/></svg>styles/default.less000064400000001406151540023150010400 0ustar00@color: '';
@hover_color: '';

a {
	&.so-taxonomy-link {
		& when ( iscolor( @color ) ) {
			color: @color;
		}

		& when ( iscolor( @hover_color ) ) {
			&:hover {
				color: @hover_color;
			}
		}
	}

	&.so-taxonomy-button {
		margin-top: 1em;
		color: #fff;
		& when ( iscolor( @color ) ) {
			background: @color;
		}
		& when not ( iscolor( @color ) ) {
			background: #b0b0b0;
		}
		display: inline-block;
		margin-right: 0.5em;
		margin-bottom: 0.5em;
		text-decoration: none;
		line-height: 1em;
		font-size: 0.9em;
		padding: 0.65em 1em;

		&:hover {
			& when ( iscolor( @hover_color ) ) {
				background: @hover_color;
			}
			& when not ( iscolor( @hover_color ) ) {
				background: #cdcdcd;
			}
		}
	}
}

label {
	display: inline-block;
	margin-right: 0.5em;
}
taxonomy.php000064400000005616151540023150007137 0ustar00<?php
/*
Widget Name: Taxonomy
Description: Automatically display the taxonomies of the current post with customizable labels, colors, and link settings.
Author: SiteOrigin
Author URI: https://siteorigin.com
Documentation: https://siteorigin.com/widgets-bundle/taxonomy-widget/
*/

class SiteOrigin_Widget_Taxonomy_Widget extends SiteOrigin_Widget {
	public function __construct() {
		parent::__construct(
			'sow-taxonomy',
			__( 'SiteOrigin Taxonomy', 'so-widgets-bundle' ),
			array(
				'description' => __( 'Automatically display the taxonomies of the current post with customizable labels, colors, and link settings.', 'so-widgets-bundle' ),
				'help' => 'https://siteorigin.com/widgets-bundle/taxonomy-widget/',
				'has_preview' => false,
			),
			array(),
			false,
			plugin_dir_path( __FILE__ )
		);
	}

	public function get_widget_form() {
		// Gets taxonomy objects and extracts the 'label' field from each one.
		$taxonomies = wp_list_pluck( get_taxonomies( array(), 'objects' ), 'label' );

		return array(
			'title' => array(
				'type'    => 'text',
				'label'   => __( 'Title', 'so-widgets-bundle' ),
			),
			'taxonomy'       => array(
				'type'    => 'select',
				'label'   => __( 'Taxonomies', 'so-widgets-bundle' ),
				'options' => $taxonomies,
			),
			'label'     => array(
				'type'  => 'text',
				'label' => __( 'Label', 'so-widgets-bundle' ),
			),
			'display_format' => array(
				'type'    => 'select',
				'label'   => __( 'Display as', 'so-widgets-bundle' ),
				'options' => array(
					'link'   => __( 'Links', 'so-widgets-bundle' ),
					'button' => __( 'Buttons', 'so-widgets-bundle' ),
					'text' => __( 'Text', 'so-widgets-bundle' ),
				),
			),
			'color'          => array(
				'type'  => 'color',
				'label' => __( 'Color', 'so-widgets-bundle' ),
			),
			'hover_color'    => array(
				'type'  => 'color',
				'label' => __( 'Hover color', 'so-widgets-bundle' ),
			),
			'new_window' => array(
				'type' => 'checkbox',
				'default' => false,
				'label' => __( 'Open in a new window', 'so-widgets-bundle' ),
			),
		);
	}

	public function get_less_variables( $instance ) {
		if ( empty( $instance ) ) {
			return array();
		}

		return array(
			'color' => $instance['color'],
			'has_color' => empty( $instance['color'] ) ? 'false' : 'true',
			'hover_color' => $instance['hover_color'],
			'has_hover_color' => empty( $instance['hover_color'] ) ? 'false' : 'true',
		);
	}

	/**
	 * Get the template variables for the taxonomy
	 *
	 * @return array
	 */
	public function get_template_variables( $instance, $args ) {
		if ( empty( $instance ) ) {
			return array();
		}

		return array(
			'title' => $instance['title'],
			'taxonomy_name' => $instance['taxonomy'],
			'label' => $instance['label'],
			'display_format' => $instance['display_format'],
			'new_window' => $instance['new_window'],
		);
	}
}
siteorigin_widget_register( 'sow-taxonomy', __FILE__, 'SiteOrigin_Widget_Taxonomy_Widget' );
tpl/default.php000064400000002154151540023160007477 0ustar00<?php
/**
 * @var $title
 * @var $post
 * @var $taxonomy_name
 * @var $label
 * @var $display_format
 */

if ( ! empty( $title ) ) {
	echo $args['before_title'] . wp_kses_post( $title ) . $args['after_title'];
}
?>

<div class="sow-taxonomy">

	<?php if ( ! empty( $label ) ) { ?>
		<label class="sow-taxonomy-label"><?php echo esc_html( $label ); ?></label>
	<?php } ?>

	<?php
	if ( $display_format == 'text' || $display_format == 'links' ) {
		echo '<p>';
	}
	?>

		<?php foreach ( get_the_terms( $post->ID, $taxonomy_name ) as $term ) { ?>
			<?php if ( $display_format == 'text' ) { ?>
				<span class="so-taxonomy-text" ref="tag"><?php echo esc_html( $term->name ); ?></span>
			<?php } else { ?>
				<a class="so-taxonomy-<?php echo esc_attr( $display_format ); ?>" href="<?php echo esc_url( get_term_link( $term, $taxonomy_name ) ); ?>" rel="tag"  <?php if ( ! empty( $new_window ) ) {
					echo 'target="_blank" rel="noopener noreferrer"';
				} ?>><?php echo esc_html( $term->name ); ?></a>
			<?php } ?>
		<?php } ?>

	<?php
	if ( $display_format == 'text' || $display_format == 'links' ) {
		echo '</p>';
	}
	?>

</div>
block.json000064400000002425151554530460006544 0ustar00{
    "$schema": "https://schemas.wp.org/trunk/block.json",
    "apiVersion": 2,
    "name": "woocommerce/product-taxonomy-field",
    "title": "Taxonomy",
    "category": "widgets",
    "description": "A block that displays a taxonomy field, allowing searching, selection, and creation of new items",
    "keywords": ["taxonomy"],
    "textdomain": "default",
    "attributes": {
        "slug": {
            "type": "string",
            "__experimentalRole": "content"
        },
        "property": {
            "type": "string",
            "__experimentalRole": "content"
        },
        "label": {
            "type": "string",
            "__experimentalRole": "content"
        },
        "createTitle": {
            "type": "string",
            "__experimentalRole": "content"
        },
        "dialogNameHelpText": {
            "type": "string",
            "__experimentalRole": "content"
        },
        "parentTaxonomyText": {
            "type": "string",
            "__experimentalRole": "content"
        }
    },
    "supports": {
        "align": false,
        "html": false,
        "multiple": false,
        "reusable": false,
        "inserter": false,
        "lock": false,
        "__experimentalToolbar": false
    },
    "editorStyle": "file:./editor.css"
}
create-taxonomy-modal.js000064400000006076151554530460011334 0ustar00"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CreateTaxonomyModal=void 0;const i18n_1=require("@wordpress/i18n"),components_1=require("@wordpress/components"),element_1=require("@wordpress/element"),data_1=require("@wordpress/data"),components_2=require("@woocommerce/components"),compose_1=require("@wordpress/compose"),classnames_1=__importDefault(require("classnames")),use_taxonomy_search_1=__importDefault(require("./use-taxonomy-search")),CreateTaxonomyModal=({onCancel:e,onCreate:t,initialName:o,slug:n,hierarchical:a,dialogNameHelpText:r,parentTaxonomyText:l,title:m})=>{const[s,c]=(0,element_1.useState)(""),[_,i]=(0,element_1.useState)([]),{searchEntity:u,isResolving:p}=(0,use_taxonomy_search_1.default)(n),d=(0,compose_1.useDebounce)((0,element_1.useCallback)((e=>u(e||"").then(i)),[]),150);(0,element_1.useEffect)((()=>{d("")}),[]);const{saveEntityRecord:y}=(0,data_1.useDispatch)("core"),[w,x]=(0,element_1.useState)(!1),[h,C]=(0,element_1.useState)(null),[v,E]=(0,element_1.useState)(o||""),[S,f]=(0,element_1.useState)(null),g=(0,compose_1.useInstanceId)(components_1.BaseControl,"taxonomy_name"),b=(0,compose_1.useInstanceId)(components_2.__experimentalSelectTreeControl,"parent-taxonomy-select");return(0,element_1.createElement)(components_1.Modal,{title:m,onRequestClose:e,className:"woocommerce-create-new-taxonomy-modal"},(0,element_1.createElement)("div",{className:"woocommerce-create-new-taxonomy-modal__wrapper"},(0,element_1.createElement)(components_1.BaseControl,{id:g,label:(0,i18n_1.__)("Name","woocommerce"),help:h||r,className:(0,classnames_1.default)({"has-error":h})},(0,element_1.createElement)(components_1.TextControl,{id:g,value:v,onChange:E})),a&&(0,element_1.createElement)(components_2.__experimentalSelectTreeControl,{isLoading:p,label:(0,element_1.createInterpolateElement)(`${l||(0,i18n_1.__)("Parent","woocommerce")} <optional/>`,{optional:(0,element_1.createElement)("span",{className:"woocommerce-create-new-taxonomy-modal__optional"},(0,i18n_1.__)("(optional)","woocommerce"))}),id:b,items:_.map((e=>({label:e.name,value:String(e.id),parent:e.parent>0?String(e.parent):void 0}))),shouldNotRecursivelySelect:!0,selected:S?{value:String(S.id),label:S.name}:void 0,onSelect:e=>e&&f({id:+e.value,name:e.label,parent:e.parent?+e.parent:0}),onRemove:()=>f(null),onInputChange:e=>{d(e),c(e||"")},createValue:s}),(0,element_1.createElement)("div",{className:"woocommerce-create-new-taxonomy-modal__buttons"},(0,element_1.createElement)(components_1.Button,{variant:"tertiary",onClick:e,disabled:w},(0,i18n_1.__)("Cancel","woocommerce")),(0,element_1.createElement)(components_1.Button,{variant:"primary",disabled:0===v.length||w,isBusy:w,onClick:async()=>{C(null),x(!0);try{const e=await y("taxonomy",n,{name:v,parent:S?S.id:null},{throwOnError:!0});x(!1),t(e)}catch(e){if(x(!1),!e.message)throw C((0,i18n_1.__)("Failed to create taxonomy","woocommerce")),e;C(e.message)}}},(0,i18n_1.__)("Create","woocommerce")))))};exports.CreateTaxonomyModal=CreateTaxonomyModal;edit.js000064400000004667151554530470006055 0ustar00"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Edit=void 0;const block_editor_1=require("@wordpress/block-editor"),element_1=require("@wordpress/element");require("@woocommerce/settings");const components_1=require("@woocommerce/components"),core_data_1=require("@wordpress/core-data"),compose_1=require("@wordpress/compose"),data_1=require("@wordpress/data"),create_taxonomy_modal_1=require("./create-taxonomy-modal"),use_taxonomy_search_1=__importDefault(require("./use-taxonomy-search"));function Edit({attributes:e}){const t=(0,block_editor_1.useBlockProps)(),{hierarchical:r}=(0,data_1.useSelect)((t=>t("core").getTaxonomy(e.slug)||{hierarchical:!1})),{label:a,slug:o,property:n,createTitle:l,dialogNameHelpText:i,parentTaxonomyText:s}=e,[m,c]=(0,element_1.useState)(""),[u,_]=(0,element_1.useState)([]),{searchEntity:d,isResolving:p}=(0,use_taxonomy_search_1.default)(o,{fetchParents:r}),x=(0,compose_1.useDebounce)((0,element_1.useCallback)((e=>{c(e),d(e||"").then(_)}),[r]),150);(0,element_1.useEffect)((()=>{x("")}),[]);const[y,h]=(0,core_data_1.useEntityProp)("postType","product",n),g=y.map((e=>({value:String(e.id),label:e.name}))),[f,b]=(0,element_1.useState)(!1),v=u.map((e=>({parent:r&&e.parent&&e.parent>0?String(e.parent):void 0,label:e.name,value:String(e.id)})));return(0,element_1.createElement)("div",{...t},(0,element_1.createElement)(element_1.Fragment,null,(0,element_1.createElement)(components_1.__experimentalSelectTreeControl,{id:(0,compose_1.useInstanceId)(components_1.__experimentalSelectTreeControl,"woocommerce-taxonomy-select"),label:a,isLoading:p,multiple:!0,createValue:m,onInputChange:x,shouldNotRecursivelySelect:!0,shouldShowCreateButton:e=>!e||-1===v.findIndex((t=>t.label.toLowerCase()===e.toLowerCase())),onCreateNew:()=>b(!0),items:v,selected:g,onSelect:e=>{Array.isArray(e)?h([...e.map((e=>({id:+e.value,name:e.label,parent:+(e.parent||0)}))),...y]):h([{id:+e.value,name:e.label,parent:+(e.parent||0)},...y])},onRemove:e=>{Array.isArray(e)?h(y.filter((t=>!e.find((e=>e.value===String(t.id)))))):h(y.filter((t=>String(t.id)!==e.value)))}}),f&&(0,element_1.createElement)(create_taxonomy_modal_1.CreateTaxonomyModal,{slug:o,hierarchical:r,title:l,dialogNameHelpText:i,parentTaxonomyText:s,onCancel:()=>b(!1),onCreate:e=>{b(!1),c(""),h([{id:e.id,name:e.name,parent:e.parent},...y])},initialName:m})))}exports.Edit=Edit;index.js000064400000001135151554530470006222 0ustar00"use strict";var __importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.init=exports.settings=exports.name=exports.metadata=void 0;const utils_1=require("../../utils"),block_json_1=__importDefault(require("./block.json"));exports.metadata=block_json_1.default;const edit_1=require("./edit"),{name}=block_json_1.default;exports.name=name,exports.settings={example:{},edit:edit_1.Edit};const init=()=>(0,utils_1.initBlock)({name,metadata:block_json_1.default,settings:exports.settings});exports.init=init;types.js000064400000000104151554530470006252 0ustar00"use strict";Object.defineProperty(exports,"__esModule",{value:!0});use-taxonomy-search.js000064400000001650151554530470011030 0ustar00"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const element_1=require("@wordpress/element"),data_1=require("@wordpress/data"),components_1=require("@woocommerce/components");async function getTaxonomiesMissingParents(e,t){const n=[],o={};return e.forEach((e=>{o[e.id]=e})),e.forEach((e=>{e.parent>0&&!o[e.parent]&&n.push(e.parent)})),n.length>0?(0,data_1.resolveSelect)("core").getEntityRecords("taxonomy",t,{include:n}).then((n=>getTaxonomiesMissingParents([...n,...e],t))):e}const PAGINATION_SIZE=30,useTaxonomySearch=(e,t={fetchParents:!0})=>{const[n,o]=(0,element_1.useState)(!1);return{searchEntity:async function(n){o(!0);let s=[];try{s=await(0,data_1.resolveSelect)("core").getEntityRecords("taxonomy",e,{per_page:30,search:(0,components_1.escapeHTML)(n)}),(null==t?void 0:t.fetchParents)&&(s=await getTaxonomiesMissingParents(s,e))}finally{o(!1)}return s},isResolving:n}};exports.default=useTaxonomySearch;