Περί του blog

Το Digispot είναι online από το 2014, και δημιουργήθηκε με σκοπό να παρέχει γρήγορες και πρακτικές λύσεις σε μικρά, αλλά σημαντικά προβλήματα που αντιμετωπίζουν προγραμματιστές, είτε είναι επαγγελματίες είτε ερασιτέχνες. Εδώ δεν υπάρχουν αναλύσεις ή εκτενείς εξηγήσεις αφού το νόημα είναι ξεκάθαρο για όποιον έχει έστω και ελάχιστη εμπειρία στον τομέα.

Παράλληλα, το Digispot λειτουργεί και ως προσωπικό σημειωματάριο, συγκεντρώνοντας χρήσιμες πληροφορίες και tips για γρήγορη πρόσβαση όταν χρειάζεται.

Όλες οι ερωτήσεις που έχουν γίνει, είτε απαντήθηκαν στα σχόλια είτε μέσα από το παλιό forum. Τα σχόλια είναι ανοιχτά για όποιον χρειάζεται βοήθεια.

Δημοσιεύθηκε στη T-Edit | Σχολιάστε

Roundcube 500 Internal Error σε CWP

If you’re getting Server error (Internal Server Error) in Roundcube that is because you’ve some incompatible version of the Roundcube mail client is installed on your server which we didn’t currently support. To fix the issue you need to run these commands one by one :

First run the CWP Update script that will ensure you’ve latest version of CWP :

sh /scripts/update_cwp

Second run the CWP roundcube update script :

sh /scripts/mail_roundcube_update

This will install supported version of Roundcube and error will be fixed, if you’re still getting internal error then you need run this script to fix the mail permissions :

/scripts/cwp_api account mail_fix_permissions

* pleas note that on servers with big /var/vmail folder this can take some time

Make sure you also check the logs
/usr/local/cwpsrv/var/services/roundcube/logs/errors.log
/var/log/dovecot.log

Permissions for /var/vmail

chown vmail.mail /var/vmail
chmod 770 /var/vmail
Δημοσιεύθηκε στη Linux | Σχολιάστε

CWP πρόβλημα με DNS Records

chown -R named:named /var/named
chmod 755 /var/named


sestatus

chcon -R -t named_cache_t /var/named
restorecon -RFv /var/named

systemctl restart named
Δημοσιεύθηκε στη Linux | Σχολιάστε

CWP

Default Page

nano /usr/local/apache/htdocs/index.html

Installation

--CentOS 8/ Almalinux 8--
hostnamectl set-hostname srv.example.com
yum install epel-release -y
yum -y install wget
yum -y update
reboot
cd /usr/local/src
wget http://centos-webpanel.com/cwp-el8-latest
sh cwp-el8-latest

Σε κενό μηχάνημα:

vi /etc/resolv.conf

Επικόλληση
nameserver 8.8.8.8
nameserver 8.8.4.4

Esc -> :wq

yum clean all
yum makecache
yum install epel-release -y

--Ίσως χρειαστεί μετά ξανά το epel.
yum install ca-certificates -y
update-ca-trust
Δημοσιεύθηκε στη Linux | Σχολιάστε

Αρχεία μεγαλύτερα από 1GB

find / -type f -size +1G

Δημοσιεύθηκε στη Linux | Σχολιάστε

Εικόνες με ελληνικό url σε WordPress. Πρόβλημα για τα social

SELECT 
    parent.ID AS post_id,             
    parent.post_title AS parent_title, 
    attachment.ID AS attachment_id,    
    attachment.guid AS attachment_url, (image URL)
    attachment.post_title AS attachment_title 
FROM 
    tr_posts AS attachment
LEFT JOIN 
    tr_posts AS parent 
ON 
    attachment.post_parent = parent.ID
WHERE 
    attachment.post_type = 'attachment'
    AND (attachment.post_name REGEXP '[α-ωΑ-Ω]' OR attachment.guid REGEXP '[α-ωΑ-Ω]');
Δημοσιεύθηκε στη Wordpress | Σχολιάστε

Διαδικασία Επαναφοράς Συγκεκριμένου Folder από tar Backup

scp -P 23  userid@userid.your-storagebox.de:folder/2024-10-21/accounts/filename.tar filename.tar


tar -xvf filename.tar 

tar -xvf filename.tar filename/homedir/folder/subfolder --strip-components=3 -C ./subfolder
Δημοσιεύθηκε στη Linux | Σχολιάστε

Scp ή Secure Copy ή Μεταφορά από server με ftp/ssh

scp -P 23 sourcefile.tar user@server.com:folder/destinationfile.tar

scp -P 23  user@server.com:folder/sourcefile.tar destinationfile.tar
Δημοσιεύθηκε στη Linux | Σχολιάστε

Graphs Calendar

Gross Current Graphs = 
var noOfMonths = -MONTH(MAX(Dates[Date]))
var refDate =  MAX(Dates[Date])
var preDates = DATESINPERIOD('Calendar Graphs'[Date];refDate;noOfMonths;MONTH)

var out = CALCULATE([Gross];REMOVEFILTERS(Dates[Month & Year]);KEEPFILTERS(preDates);USERELATIONSHIP('Calendar Graphs'[Date];Dates[Date]))

return out
Δημοσιεύθηκε στη Power BI | Σχολιάστε

Convert Google Maps σε Longtitude Latitude

Συντεταγμένες από Google


37.91134425314302, 23.71307384195016

Long
=SUBSTITUTE(MID(E97; FIND(","; E97) + 2; LEN(E97)); "."; ",")

Lat
=SUBSTITUTE(LEFT(E97;FIND(","; E97) - 1); ".";",")
Δημοσιεύθηκε στη Microsoft Excel | Σχολιάστε

Επαναφορά μόνο για συγκεκριμένο πίνακα mysql αρχείο

Export μόνο η βάση από το tar

tar -xf backupsomething.tar accountname/mysql/dumpfile.sql

grep 'INSERT INTO `ps_image`' dumpfile.sql > ps_image_inserts.sql

Αν θέλεις να μετρήσεις πόσες φορές εμφανίζεται μία εντολή στο αρχείο:

grep -o "INSERT INTO" ps_image_insert.sql | wc -l
Δημοσιεύθηκε στη Linux | Σχολιάστε

Prestashop admin order View Location

/src/PrestashopBundle/Resources/views/Admin/Sell/Order/view.html.twig

Δημοσιεύθηκε στη Prestashop | Σχολιάστε

Υποκατηγορίες στο category.tpl

<!--tcp-->
						<div class="subcategory-grid">
							{if isset($subcategories) && count($subcategories) > 0}
								{foreach from=$subcategories item=subcategory}
									<div class="subcategory">
										<a href="/{$subcategory.id_category}-{$subcategory.link_rewrite}">
											<img src="{$subcategory.image.bySize.Category_Square.url}" alt="{$subcategory.name|escape:'html':'UTF-8'}" />
											<div class="subcategory-caption">{$subcategory.name|escape:'html':'UTF-8'}</div>
										</a>
									</div>
								{/foreach}
							{/if}
						</div>
						<!--tcp-->
Δημοσιεύθηκε στη Prestashop | Σχολιάστε

Logs Filter

journalctl --since "2024-04-09 03:30" --until "2024-04-09 06:00"
Δημοσιεύθηκε στη Linux | Σχολιάστε

Free Space σε Boot δίσκο

package-cleanup --oldkernels --count=1
Δημοσιεύθηκε στη Linux | Σχολιάστε

Leading Zeros

Αριθμός Λογαριασμού =
FORMAT ( Budget8[GL1]; "00" ) & "." &
FORMAT ( Budget8[GL2]; "00" ) & "." &
FORMAT ( Budget8[GL3]; "000" ) & "." &
FORMAT ( Budget8[GL4]; "000" ) & "." &
FORMAT ( Budget8[GL5]; "000" )
Δημοσιεύθηκε στη Power BI | Σχολιάστε

Υπολογισμός Running Total

# All e-Banking Registered = 
VAR SelectedDate = MAX(Dates[Date])  
VAR EndOfMonthDate = EOMONTH(SelectedDate; 0)
RETURN
CALCULATE(
    SUM('Scorecard e-Banking'[Count]);
    ALL('Scorecard e-Banking');
    VALUES('Scorecard e-Banking'[BRANCH_ID]);
    'Scorecard e-Banking'[DateERegistered] <= EndOfMonthDate
)
Δημοσιεύθηκε στη Power BI | Σχολιάστε

Ngnix Mobile Cache

In Custom Code

if ($http_user_agent ~* "(mobile|webos|opera mini)") {
    set $mobile_request 1;
}
proxy_cache_key "$scheme$request_method$host$uri$is_args$args$mobile_request";
Δημοσιεύθηκε στη Linux | Σχολιάστε

Διόρθωση 500 Error στο τελευταίο βήμα πληρωμής

function smartyRender($params, &$smarty)
{
    $ui = $params['ui'];

    if ($ui !== null) {
        if (array_key_exists('file', $params)) {
            $ui->setTemplate($params['file']);
        }

        return $ui->render($params);
    } else {
       //Κατέγραψέ το σε log αν θες. Δεν έχει σχέση με τα στοιχεία που περνιούνται στην παραγγελία.
    }
}
Δημοσιεύθηκε στη Prestashop | Σχολιάστε

Πρόθεμα σε κελί

=TEXT(A1;"000")
Δημοσιεύθηκε στη Tips | Σχολιάστε

Τελευταίο part από delimiter

=RIGHT(M9;LEN(M9)-SEARCH("#";SUBSTITUTE(M9;">";"#";LEN(M9)-LEN(SUBSTITUTE(M9;">";"")))))
Δημοσιεύθηκε στη Microsoft Excel | Σχολιάστε

Passive Ports Pure FTPd

/etc/pure-ftpd.conf
Δημοσιεύθηκε στη Linux | Σχολιάστε

Αυτόματο Responsive Youtube σε WordPress Posts

add_filter('embed_oembed_html', 'wrap_embed_with_div', 10, 3);

function wrap_embed_with_div($html, $url, $attr) {
        return "<div class=\"responsive-container\">".$html."</div>";
}

Απαραίτητο το css

.responsive-container {
        position: relative;
        padding-bottom: 50.25%;
        padding-top: 30px;
        height: 0;
        overflow: hidden;
        margin-bottom: 1em;
}
.responsive-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
}
Δημοσιεύθηκε στη Wordpress | Σχολιάστε

Ανίχνευση κινητού τηλεφώνου

<script>
if ((navigator.userAgent.match(/(iphone)|(ipod)|(android)|(blackberry)|(windows phone)|(symbian)/i))){
   window.location = "allodomain" + window.location.pathname;
}
</script>
Δημοσιεύθηκε στη jQuery | Σχολιάστε

Εξαίρεση Φακέλων ή Αρχείων σε Backup

Αρχείο /etc/cpbackup-exclude.conf

Add

logs
mail
tmp

 

Δημοσιεύθηκε στη Linux | Σχολιάστε

Φορμάτ ποσών σε SQL

SELECT PRODUCT_SECTOR, FORMAT(SUM(CURRENT_BALANCE_EUR),'C','el-GR') AS '29-OCT' FROM theTabel WHERE REF_DATE = '2021-10-29'
GROUP BY PRODUCT_SECTOR
ORDER BY  SUM(CURRENT_BALANCE_EUR) DESC
Δημοσιεύθηκε στη SQL | Σχολιάστε

Μαζική αλλαγή φόρου σε όλα τα προϊόντα

UPDATE mm_product_shop SET id_tax_rules_group = 25 WHERE id_tax_rules_group = 22;
UPDATE mm_product SET id_tax_rules_group = 25 WHERE id_tax_rules_group = 22;
Δημοσιεύθηκε στη Prestashop | Σχολιάστε

Εξαγωγή όλων των προϊόντων με χαρακτηριστικά σε Prestashop

SELECT p.id_product, pl.name as product_name, pa.reference as product_reference, p.ean13 AS product_barcode, GROUP_CONCAT(DISTINCT(pal.name) SEPARATOR ",") as attribute, pa.ean13 AS attribute_barcode, pa.reference AS attribute_reference, ROUND(((p.price * 1.24) - coalesce(rd.reduction,0)),2) AS product_price, ROUND(p.wholesale_price,2) as product_wholesale, manu.name as product_manufacturer, cl.name 
FROM mm_product p
LEFT JOIN mm_product_lang pl ON (p.id_product = pl.id_product)
LEFT JOIN mm_category_product cp ON (p.id_product = cp.id_product)
LEFT JOIN mm_category_lang cl ON (cp.id_category = cl.id_category)
LEFT JOIN mm_category c ON (cp.id_category = c.id_category)
LEFT JOIN mm_product_tag pt ON (p.id_product = pt.id_product)
LEFT JOIN mm_product_attribute pa ON (p.id_product = pa.id_product)
LEFT JOIN mm_product_attribute_combination pac ON (pac.id_product_attribute = pa.id_product_attribute)
LEFT JOIN mm_attribute_lang al ON (al.id_attribute = pac.id_attribute)
LEFT JOIN mm_attribute_lang pal ON (pac.id_attribute = pal.id_attribute)
LEFT JOIN mm_manufacturer manu ON (p.id_manufacturer = manu.id_manufacturer)
LEFT JOIN mm_specific_price rd ON (p.id_product = rd.id_product)
WHERE pl.id_lang = 2
AND cl.id_lang = 2
AND p.id_shop_default = 1
AND c.id_shop_default = 1
GROUP BY pac.id_product_attribute
Δημοσιεύθηκε στη Prestashop | Σχολιάστε

Διόρθωση του ps_stock_available

UPDATE mm_stock_available a LEFT JOIN (SELECT id_product, id_product_attribute, SUM(physical_quantity) AS physical_quantityA FROM mm_stock GROUP BY id_product, id_product_attribute) b ON a.id_product = b.id_product AND a.id_product_attribute = b.id_product_attribute SET a.quantity = b.physical_quantityA
Δημοσιεύθηκε στη Prestashop | Σχολιάστε

Ένωση πινάκων με μοναδικές Τιμές

Δημιουργία νέου πίνακα:

ALL ATMS = DISTINCT(UNION(
    SELECTCOLUMNS( ATMS; "ATM";'ATMS'[Place]; "OWNED"; "Some Bank" );
    SELECTCOLUMNS( 'Euronet ATMS'; "ATM";'Euronet Atms'[Place Fixed];"OWNED"; "Euronet")
    ))
Δημοσιεύθηκε στη Power BI | Σχολιάστε