HEX
Server: Apache
System: Linux p3plmcpnl495753.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: griievz70lba (9445158)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: /home/griievz70lba/public_html/fragnancestories.com/wp-content/themes/woodmart/selectors.js
const readline = require('readline');
const fs = require('fs');

function selectors(cb) {

	var lineReader = readline.createInterface({
		input: fs.createReadStream('./style.css')
	});

	var groups = [
		{ id: 'primary-color' },
		{ id: 'primary-background' },
		{ id: 'primary-border' },
		{ id: 'primary-stroke' },
		{ id: 'alternative-color' },
		{ id: 'alternative-background' },
		{ id: 'alternative-border' },
		{ id: 'text-font' },
		{ id: 'primary-font' },
		{ id: 'secondary-font' },
		{ id: 'titles-font' },
		{ id: 'widget-titles-font' },
		{ id: 'navigation-font' },
		{ id: 'btns-default' },
		{ id: 'btns-accent' },
		{ id: 'btns-shop' },
		{ id: 'link-color' }
	];

	var found = false;
	var id = '';
	lineReader.on('line', function (line) {

		if (found) {
			groups.forEach(function (group) {
				if (group.id == id) {
					group.selector = line.substring(0, line.length - 2);
				}
			});
			found = false;
		}

		groups.forEach(function (group) {
			if (line == '/* ' + group.id + ' */') {
				found = true;
				id = group.id;
				console.log('Line from file:', line);
			}
		});

	});

	lineReader.on('close', function (line) {
		console.log('done', groups);
		updateSelectorsConfig(groups);
	});

	function updateSelectorsConfig(groups) {
        var fileContent = [
			"<?php if ( ! defined('WOODMART_THEME_DIR')) exit('No direct script access allowed');\n",
			'/**\n',
			' * Prepare CSS selectors for theme settions (colors, borders, typography etc.)\n',
			' */\n',
			'\n',
			'return apply_filters(\n',
			"\t'woodmart_get_selectors',\n",
			'\tarray(\n',
			'\t\t\'primary-color\' => array(\n',
			'\t\t\t\'color\' => woodmart_text2line( \'%primary-color%\' ),\n',
			'\t\t\t\'background-color\' => woodmart_text2line( \'%primary-background%\' ),\n',
			'\t\t\t\'border-color\' => woodmart_text2line( \'%primary-border%\' ),\n',
			'\t\t\t\'stroke\' => woodmart_text2line( \'%primary-stroke%\' ),\n',
			'\t\t),\n',
			'\t\t\'secondary-color\' => array(\n',
			'\t\t\t\'color\' => woodmart_text2line( \'%alternative-color%\' ),\n',
			'\t\t\t\'background-color\' => woodmart_text2line( \'%alternative-background%\' ),\n',
			'\t\t\t\'border-color\' => woodmart_text2line( \'%alternative-border%\' ),\n',
			'\t\t),\n',
			'\t\t\'text-font\' => array( \'%text-font%\' ),\n',
			'\t\t\'primary-font\' => array( \'%primary-font%\' ),\n',
			'\t\t\'secondary-font\' => array( \'%secondary-font%\' ),\n',
			'\t\t\'titles-font\' => array( \'%titles-font%\' ),\n',
			'\t\t\'widget-titles-font\' => array( \'%widget-titles-font%\' ),\n',
			'\t\t\'navigation-font\' => array( \'%navigation-font%\' ),\n',
			'\t\t\'btns-default\' => array( \'%btns-default%\' ),\n',
			'\t\t\'btns-accent\' => array( \'%btns-accent%\' ),\n',
			'\t\t\'btns-shop\' => array( \'%btns-shop%\' ),\n',
			'\t\t\'link-color\' => array( \'%link-color%\' ),\n',
			'));',
		].join('');

		var btnsFile = [
			'$default-button-selectors: "%btns-default%";\n',
			'$shop-button-selectors: "%btns-shop%";\n',
			'$accent-button-selectors: "%btns-accent%";\n',
		].join('');
	
		groups.forEach(function (group) {
			fileContent = fileContent.replace("%" + group.id + "%", group.selector );
			btnsFile = btnsFile.replace("%" + group.id + "%", group.selector );
		});

		fs.writeFile('./inc/configs/selectors.php', fileContent, function (err) {
			if (err) {
				return console.log(err);
			}
			console.log("The file was saved!");
		});

		fs.writeFile('./sass/_configs-selectors.scss', btnsFile, function (err) {
			if (err) {
				return console.log(err);
			}
			console.log("The file was saved!");
		});

	}
}

selectors();