Η σπηλιά κώδικα

22 Δεκεμβρίου 2006

Οποιοδήποτε bash buffs έξω εκεί; Χειρόγραφο 2 αναπροσαρμογών WordPress άλφα

_ Filed κατώτερος: Bash, WordPress - Brian @ 2:33 μ.μ.

Είναι οποιοιδήποτε από σας όλα το αγαθό και τα χειρόγραφα *nix;

Έχω εργαστεί στην επόμενη έκδοση του «χειρογράφου δεύτερης βελτίωσης 35» και θα ήθελα μερικά δεύτερα μάτια σε την προτού να την απελευθερώσω επίσημα. Θα ήθελα τη βοήθειά σας στην εξασφάλιση ότι αυτή η μέθοδος δεν είναι θα συντριβή οποιοδήποτε χαρακτηριστικό *nix που βασίζεται, μη-πυρήνας-κώδικας-προσαρμοσμένος blogs. Αναρωτιόμουν εάν να αναθεωρήσουν αυτό το χειρόγραφο και να με πουν οποιωνδήποτε λαθών ή προβλημάτων που μπορείτε να προβλέψετε. Το έχω εργασία ακριβώς λεπτή ενημερώνοντας τα blogs μου. Αλλά, θα ήθελα περισσότερων ενός παράγοντα εμπιστοσύνης από τι μπορώ να πάρω ακριβώς να έχε αυτό εργάζομαι για με και μόνο με.

Τρέχουσες βελτιώσεις:
1. Μπορέστε να ενημερώσετε οποιοδήποτε αριθμό καταλόγων με ακριβώς να ρυθμίσει τη σειρά στην κορυφή
2. Μπορέστε να τραβήξετε από άλλες πηγές. Δεν ειναι απαραίτητο να ενημερώσετε στο ρεύμα και μπορείτε ακριβώς να το χρησιμοποιήσετε για να κυλήσετε πίσω τον κώδικά σας, κάθε νύχτα, στην προσαρμοσμένη έκδοση WP σας.
3. Τώρα εργασίες για τα blogs που αποθηκεύονται στον κατάλογο «WordPress».
4. Καθαρίζει μετά από το
5. Έλεγχος λάθους
6. Παρατηρεί tmp τις θέσεις καταλόγου.

Να έρθει σύντομα:
1. Στηρίγματα αρχείων
2. Στηρίγματα SQL

Εάν ξέρετε τίποτα για τα χειρόγραφα, θα μπορούσατε να του δώσετε μια αναθεώρηση και να μου πείτε τι σκέφτεστε;

Αυτό ΕΙΝΑΙ άλφα ουσία, έτσι χρήση αυτό με αυτήν στο μυαλό…

Ο κωδικός πηγής ακολουθεί


# *************************************************************************
# UpdateWP ver 2.0 άλφα 1 01/Aug/2006
# Γραπτός από το Brian Layman
#
# Χειρόγραφο κοχυλιών Unix Α για να ενημερώσει πολλαπλάσιο WordPress blogs στο ρεύμα
# σταθερή απελευθέρωση.
#
# Χρήση: (Σύνολο οδηγίας Α το πλήρες είναι στο http://thecodecave.com/article300)
# Κοιτάξτε βιαστικά έξω στο www.TheCodeCave.com και πάρτε τον πιό πρόσφατο
# Προσαρμόστε τις «μεταβλητές διαμόρφωσης» που βρίσκονται κατωτέρω
# Η χρήση chmod στην επιχορήγηση οι ίδιοι εκτελεί τη θέση στο χειρόγραφο
# Τρέξτε το πρόγραμμα
#
# Μπορείτε να χρησιμοποιήσετε αυτό το πρόγραμμα με διάφορους τρόπους.
# Πρώτα, μπορείτε να το χρησιμοποιήσετε στον τρόπο προεπιλογής για να μεταφορτώσετε τον πιό πρόσφατο
# το ενημερώστε και εγκαταστήστε έπειτα σε διάφορους καταλόγους.
# Ο δεύτερος, εσείς μπορεί να το χρησιμοποιήσει για να αυτοματοποιήσει την υποστήριξη των αρχείων και των πινάκων όταν
# ενημερώνοντας.
# Ο τρίτος, εσείς μπορεί cron αυτό και να αλλάξει την πηγή της αναπροσαρμογής και της χρήσης
# αυτό για να αναγκάσει την έναρξη ενός γνωστού καθαρού συστήματος κάθε πρωί.
#
# Αρχικός συντάκτης - Brian Layman
#
# Δημιουργημένος - 01/AUG/2006
# Τελευταία φορά τροποποιημένος - 21/DEC/2006
# Συνεισφέροντες: (Βαλμένος το όνομα & τα αρχικά σας στην κορυφή)
# Brian Layman - BL - HTTP: # www.TheCodeCave.com
#
#
# Ιστορία:
# 01/AUG/2006 - - που δημιουργείται BL
# 21/DEC/2006 - BL - οριστικοποιημένο Ver. 2 τσιμπήματα
#
# Άδεια - εάν αυτό σας βοηθά - μεγάλος! Η χρήση αυτό, το τροποποιεί μερίδιο αυτό.
#
# Αποζημίωση -
# Χρήση αυτό το αρχείο στον κίνδυνό σας. Δεν πρόκειται να χαράξω σκόπιμα
# ο κεντρικός υπολογιστής σας, αλλά άλλοι. Αυτό είναι ένα χειρόγραφο κοχυλιών. Πολύ κακός
# τα πράγματα μπορούν να συμβούν. Είμαι σχετικά νέος στα χειρόγραφα *nix. Έτσι
# ΕΧΩ άλλους αναθεωρώ αυτό το χειρόγραφο. Αλλά ΚΑΝΕΝΑ από αυτό δεν εγγυάται
# τα πράγματα δεν θα πάνε στραβά ή ότι αυτό το χειρόγραφο είναι αμετάβλητο, ακόμα κι αν
# το έχετε πάρει από το TheCodeCave.com ή μια άλλη περιοχή που εμπιστεύεστε.
#
# ΑΥΤΟ ΤΟ ΧΕΙΡΟΓΡΑΦΟ ΠΡΕΠΕΙ ΝΑ ΧΡΗΣΙΜΟΠΟΙΗΘΕΙ ΣΤΟΝ ΚΙΝΔΥΝΟ ΣΑΣ. ΜΠΟΡΕΙ να σβήσει τις ώρες
# σκληρή δουλειά που τίθεται στην περιοχή σας. Πρίν χρησιμοποιεί αυτό το χειρόγραφο είναι
# απαίτησε ότι αναθεωρείτε και καταλαβαίνετε κάθε γραμμή και vouch για
# η ασφάλειά του. Εάν δεν είστε άνετοι με αυτό, μην τρέξτε αυτό
# χειρόγραφο. Έχω έναν οικοδεσπότη ότι μπορώ να εξετάσω αυτό επάνω. Μόνο μπορείτε να πείτε
# ότι αυτό το χειρόγραφο δεν θα κάνει τη irreperable ζημιά στην περιοχή σας ή σας
# φιλοξενήστε εάν το χρησιμοποιείτε.
#
# Είστε αρμόδιοι για την περιοχή ΣΑΣ. Μάθετε πώς προστατευμένος το και
# καταλάβετε τι κάθε γραμμή κώδικα κάνει προτού να το καλέσετε. Ι
# το AM μη υπεύθυνο για οποιεσδήποτε ζημίες, χαμένα στοιχεία, χαμένου χρόνου, ή
# υπηρεσίες επειδή έχετε επιλέξει να τρέξετε αυτό το χειρόγραφο σε ένα σύστημα
# για το ποιο δεν μπορώ vouch. Χρήση στον κίνδυνό σας.
#
# Δωρεές - εάν αυτό το αρχείο δεσμης σας βοηθά πραγματικά, αισθανθείτε ελεύθερος
# κάνετε μια δωρεά του κόστους ενός φλυτζανιού του expresso μέσω Paypal
# Brian@TheCodeCave.com. Ένας καφές πρωινού ή τυροειδή nachos και ένα Ι
# ο φίλος σας για τη ζωή. Ή/και αφήστε ένα σχόλιο στην περιοχή μου:
# http://www.thecodecave.com/did-that-help.
#
# *************************************************************************

# ##################################################################
# Μεταβλητές διαμόρφωσης
# ##################################################################
# Η κοινή ρίζα είναι το μέρος της πορείας σας που μοιράζεται από όλο το σας
# WP blogs. Είναι πιθανώς ο κατάλογος htdocs σας. Το κενό είναι λεπτό εάν
# θέλετε να διευκρινίσετε την πλήρη πορεία στη μεταβλητή BlogDirs.
# Η χρησιμοποίηση ~ δεν θα λειτουργήσει.
CommonRootPrefix=» /put/your/homepages/path/here/htdocs/»

# Κατάλογος οι όλοι κατάλογοι WordPress σας εδώ
# Προσθέστε περισσότερες γραμμές εάν έχετε περισσότερα blogs.
# Αφαιρέστε ένα ή δύο εάν έχετε λιγότεροι.
BlogDirs [1] = " myflowers
BlogDirs [2] = " storesite/ειδήσεων
BlogDirs [3] = " example.com

# Αυτή η μεταβλητή μπορεί να χρησιμοποιηθεί για να αλλάξει όπου παίρνετε το καθαρό αντίγραφο WordPress
# Αγνοήστε αυτήν την μεταβλητή εάν επιθυμείτε να χρησιμοποιήσετε αυτό το χειρόγραφο για να αποκαταστήσετε τα αρχεία σας
# μια γνωστή έκδοση WordPress. Ως τμήμα μιας νυχτερινής ρουτίνας, αυτό μπορεί να κρατήσει όλους
# των περιοχών σας που τρέχουν τους Η.Ε-χαραγμένους κώδικες.
SourceURL='http://wordpress.org/
TarBallName='latest.tar.gz

# MAKEFILEBACKUPS θα υποστηρίξει τα ΑΡΧΕΊΑ από τους φακέλλους ανωτέρω εάν τίθεται 1.
# Μόνο χρησιμοποιήστε αυτό το χαρακτηριστικό γνώρισμα όταν έχουν μόνο οι φάκελλοι WP την ουσία WP σε τους.
# Αυτό θα διαρκέσει το χρόνο και χώρο. Εάν έχετε, παραδείγματος χάριν, το α μεταφορτώνει το φάκελλο κάτω
# ένας από τους φακέλλους που απαριθμούνται ανωτέρω, εσείς θα κάνει ένα αντίγραφο από το. Μπορείτε να τρέξετε από
# χωρίστε κατά διαστήματα και αυτός μπορεί να συντρίψει την περιοχή σας. Γίαυτό αυτό είναι από εξ ορισμού.
# MAKEFILEBACKUPS=0 # ΑΦΑΙΡΟΎΜΕΝΟΣ ΑΠΌ ΑΥΤΉΝ ΤΗΝ ΈΚΔΟΣΗ

# MAKESQLBACKUPS επιτρέπει στα στηρίγματα βάσεων δεδομένων για να αποτελεσθεί από τους συγκεκριμένους πίνακες WP
# για κάθε blog. Διαβάζει το όνομα χρήστη βάσεων δεδομένων, τον κωδικό πρόσβασης και το επιτραπέζιο πρόθεμα
# Είναι εκτός λειτουργίας εξ ορισμού για διάφορους λόγους
# 1. Τα αντίγραφα ενός DB σε ένα webserver είναι μια διαρροή μυστικών
# 2. Υποψιάζομαι ότι δεν θα λειτουργήσει σε όλα τα συστήματα mysqldump πρέπει να είναι παρών
# 3. Το αρχείο WP -WP-config σας να μην επιτρέψει σε με για να τον διαβάσει
# 4. Το αρχείο WP -WP-config σας προσαρμοσμένος με τέτοιο τρόπο ώστε εγώ δεν μπορεί να προβλέψει
# 5. Δεν γίνομαι εξεταστικός το
# MAKESQLBACKUPS=0 # ΑΦΑΙΡΟΎΜΕΝΟΣ ΑΠΌ ΑΥΤΉΝ ΤΗΝ ΈΚΔΟΣΗ

# ##################################################################
# Σταθερές - μην αλλάξτε αυτές
# ##################################################################
Κώδικες #Error
E_SUCCESS=0 # κανένας κώδικας λάθους. Ελειτούργησε.
E_XCD=66 # δεν μπορεί να αλλάξει τον κατάλογο;
E_XMD=67 # δεν μπορεί να κάνει τον κατάλογο;
TMPPREFIX='TCCWPUPDATE- «

# ##################################################################
# Προετοιμάστε το στάδιο με να πάρει τα αρχεία στη διαταγή.
# ##################################################################

# Κάνετε τον προσωρινό κατάλογο για τη μεταφόρτωση του αρχείου WordPress
tmp=$ {tMPDIR-/tmp}
tmp=$tmp/$TMPPREFIX$RANDOM$RANDOM$RANDOM.$$
(umask 077 && mkdir $tmp) || {
η ηχώ «δεν θα μπορούσε να δημιουργήσει τον προσωρινό κατάλογο! Έξοδος.» 1>&2
έξοδος $E_XMD
}

# Παρουσιάστε αυτό για να επιτρέψετε τον πιθανό χειρωνακτικό καθαρισμό…
αντηχήστε «temp dir δημιουργήθηκε σε: $tmp»

#Change στον προσωρινό κατάλογο
Cd $tmp

# Doublecheck εάν στο σωστό κατάλογο, πρίν βρωμίζει με τη μεταφόρτωση των αρχείων.
εάν [`pwd `! = «$tmp»]
κατόπιν
η ηχώ «δεν μπορεί να αλλάξει στη νέα temp αποβολή οδηγιών.»
έξοδος $E_XCD
FI

# Μεταφορτώστε το tarball στο temp κατάλογο, εξάγετε το και το διέγραψε.
wget $SourceURL$TarBallName
πίσσα - zxf latest.tar.gz
rm $TarBallName

# ##################################################################
# Εκτελέστε το πλήρες στήριγμα αρχείων πριν σχετικά με οποιαδήποτε αρχεία.
# ##################################################################

# ##################################################################
# Εκτελέστε τα πλήρη επιτραπέζια στηρίγματα πριν σχετικά με οποιαδήποτε αρχεία.
# ##################################################################

# ##################################################################
# Επαναλάβετε όλους τους καταλόγους και επικαλύψτε το περιεχόμενό τους.
# ##################################################################

# Βρόχος μέσω της σειράς BlogDirs
για CurDir «σε $ {BlogDirs [@]}»

ηχώ «τώρα που ενημερώνει: CurDir»
# Πηγαίνετε σε κάθε κατάλογο
Cd CommonRootPrefix$CurDir
# Doublecheck εάν στη σωστή θέση, πρίν αντιγράφει πέρα από τα hundress των αρχείων.
εάν [`pwd `! = «CommonRootPrefix$CurDir»]
κατόπιν
ηχώ «που αποβάλλει. Μην μπορέστε να φθάσετε σε ενός από τους καταλόγους blog: CommonRootPrefix$CurDir»
rm $tmp - Ρ # μην αφήστε temp dir έξω εκεί εάν όχι πρέπει
βγείτε $E_XCD
FI

# Αντίγραφο όλο των αρχείων από temp dir
CP - Ρ - β - αφαιρώ-προορισμός $tmp/wordpress CommonRootPrefix$CurDir
αναπροσαρμογή ηχούς «CurDir πλήρης»
γίνοντας

# ##################################################################
# Καθαρισμός
# ##################################################################

# Μόλις γίνουν όλα, μπορούμε να αφαιρέσουμε το temp κατάλογο
rm $tmp - Ρ

# ##################################################################
# Στενός
# ##################################################################
ΑΝΑΠΡΟΣΑΡΜΟΓΗ ηχούς ΠΛΗΡΗΣ
έξοδος $E_SUCCESS

10 σχόλια »

  1. shebang!

    Σχόλιο μέχρι Paul Mitchell - 23 Δεκεμβρίου 2006 @ 10:21 AM

  2. Ναι, αυτό είναι ένα πράγμα για το οποίο αναρωτιόμουν. Δεν σκέφτομαι ότι χρησιμοποίησα τίποτα που είναι κοχύλι συγκεκριμένο, bash, ή bourne ή οποιοσδήποτε. Τουλάχιστον προσπάθησα όχι. Έτσι, δεν είναι αυτό καλύτερα έπειτα για να μην διευκρινίσει ένα προτιμημένο κοχύλι και να μην αφήσει το σύστημα να κάνει τι;

    Ή διευκρινίζω #! /bin/sh και υποθέστε ότι οποιοδήποτε admin linux SYS θα το αγνοήσει;

    Ποιο είναι το σωστότερο πράγμα που κάνει;

    Θα μπορούσα να το γράψω για το bash και να πάρω περισσότερα χαρακτηριστικά γνωρίσματα, αλλά είναι εκείνο το έπειτα πηγαίνοντας όριο οι κεντρικοί υπολογιστές; Κάθε κεντρικός υπολογιστής έχει bash;

    Ο προγραμματισμός είναι όπως να βάλει έναν γρίφο μαζί, ξέρετε την τελική εικόνα που θέλετε, αλλά οι διαφορετικές επιχειρήσεις κόβουν τα κομμάτια στις διαφορετικές μορφές. Με κάθε νέα γλώσσα που μαθαίνετε, πρέπει ακριβώς να αναγνωρίσετε πώς οι μορφές κατάλληλες μαζί να κάνουν την ίδια εικόνα. Αλλά η επιλογή όποιων shebang στη χρήση εβάσισε στο ποσοστό υιοθέτησής του στον κόσμο *nix δεν αρμόζει σε εκείνη την αναλογία.

    Οποιεσδήποτε προτάσεις;

    Σχόλιο μέχρι το Brian - 23 Δεκεμβρίου 2006 @ 11:19 AM

  3. Επισήμανα το shebang επειδή το προτιμημένο κοχύλι μου, ψάρια, δεν κάνει $RANDOM ενώ SH. Όσον αφορά σε αυτό που είναι σωστό, έχω λίγη εμπειρία τα χειρόγραφα κοχυλιών για τα ευρέα ακροατήρια, έτσι Google για «χειρόγραφα Unix γραψίματος τα φορητά» και εργασία από εκεί.

    Θα χρησιμοποιούσα #! /bin/sh εκτός αν ήξερα στα σίγουρα θα μπορούσα να χρησιμοποιήσω το κάτι άλλο.

    Σχόλιο μέχρι Paul Mitchell - 23 Δεκεμβρίου 2006 @ 12:14 μ.μ.

  4. ΕΝΤΑΞΕΙ, εδώ πηγαίνουμε. Όπως αναφέρεται μέσω του ηλεκτρονικού ταχυδρομείου, δεν είμαι ΌΤΙ ένα μεγάλο μέρος ενός κοχύλι-στιλβωμένου, αλλά μερικών σκέψεων:

    • Εάν παρέχετε οποιοδήποτε είδος του στηρίγματος, κατόπιν πρέπει επίσης να παρέχετε έναν τρόπο να αποκαταστήσετε.
    • Συμπαθητικός--έχετε θα ήταν η δυνατότητα ΝΑ ΔΗΜΙΟΥΡΓΗΘΕΙ ΝΕΟΣ wordPress-εγκαθιστά. Για αυτό φυσικά το χειρόγραφο πρέπει να δημιουργήσει τις νέους βάσεις δεδομένων και τους χρήστες και πρέπει να έχει το SQL-Admin priviliges
    • Στείλετε τα ηλεκτρονικά ταχυδρομεία στους μεμονωμένους ιδιοκτήτες blog ότι το WP τους έχει αναβαθμιστεί και ότι πρέπει να τελειώσουν την WP-πλευρά της βελτίωσης…
      … ή - ει δυνατόν - αφήστε το χειρόγραφό σας να τελειώσει η ίδια την αναπροσαρμογή.
    • Ελέγξτε τις άδειες σε όλο το στόχο dir πρώτα
    • Καταγράψτε τη διαδικασία βελτίωσης στο syslog
    • Οι καθορισμένες κατάλληλες άδειες μετά από εγκαθιστούν (τα λάθη αποτυπώσεων προηγούμενου εγκαθιστούν)

    Μην μπορέστε να σκεφτείτε τίποτα πιό αμέσως.

    Σχόλιο μέχρι Michael - 28 Δεκεμβρίου 2006 @ 5:37 μ.μ.

  5. Το θέμα WP σας/stylesheet «έχει φάει» τον άτακτο κατάλογό μου στο σχόλιο ανωτέρω. Η θέση φαίνεται ένα κομμάτι που αλλοιώνεται λόγω αυτού…

    Σχόλιο μέχρι Michael - 28 Δεκεμβρίου 2006 @ 5:38 μ.μ.

  6. Περίεργος… Είστε σωστοί αυτό. Δεν έχω παρατηρήσει ποτέ αυτόν. Σκέφτομαι ότι πραγματικά να είναι KSES αλλά δεν πρέπει να έχει κανένα πρόβλημα με UL και το λι. Αναρωτιέμαι εάν OL κάνει έναν διαφορετικό.

    Σχόλιο μέχρι το Brian - 28 Δεκεμβρίου 2006 @ 8:01 μ.μ.

  7. επαγγελματίας παραθύρων XP αμυχών βελτίωσης vista στο σπίτι…

    haha πήρε να αγαπήσει τα παράθυρα ......

    Trackback από τον επαγγελματία παραθύρων XP αμυχών βελτίωσης vista στο σπίτι - 3 Φεβρουαρίου 2008 @ 8:45 μ.μ.

  8. Hey εκεί,

    Ευχαριστίες για την εργασία σας για αυτό το χειρόγραφο. Ξέρω ότι αυτό το άρθρο είναι σκονισμένο, αλλά εδώ είναι μερικές προτάσεις. Κατ' αρχάς, καθορίστε ρητά το κοχύλι που καλείτε, π.χ. BASH:

    #! /bin/bash

    … Αυτός θα λύσει τα προβλήματα για τους ανθρώπους που χρησιμοποιούν τα ασυνήθιστα κοχύλια όπως τα ΨΑΡΙΑ ή οποιοσδήποτε. Έπειτα, παρακαλώ το κάνετε utf-8! Αυτός θα λύσει πολλά προβλήματα σύνταξης στα Διεθνή σύνορα. Τέλος, μερικές αναπροσαρμογές Wordpress απαιτούν μια αναπροσαρμογή DB επίσης, όχι μόνο αρχεία. Αυτό μπορεί ολοκληρωμένος με την προσθήκη έναν παράλληλου να θέσει των μεταβλητών περιοχών, παραδείγματος χάριν:

    BlogURLs [1] =» http://somesite.whatever»
    BlogURLs [2] =» https://anothersite.someplace/blog»
    «»

    … έπειτα προσθέστε έναν άλλο βρόχο για να αγγίξετε τη σελίδα αναπροσαρμογών με το wget (ή την μπούκλα, Telnet, κ.λπ.):

    για CurURLs «σε $ {BlogURLs [@]}»

    αντηχήστε τη «ενημερώνοντας βάση δεδομένων για: CurURLs»
    # Αφή το χειρόγραφο βελτίωσης για να προκαλέσει μια αναπροσαρμογή DB εάν είναι απαραίτητο
    wget - q - Ο - CurURLs/wp-admin/upgrade.php; step=1 > /dev/null
    αναπροσαρμογή βάσεων δεδομένων ηχούς «CurURLs πλήρης»
    γίνοντας

    Με τις καλύτερες ευχές
    - Chris

    Σχόλιο μέχρι το Chris Wadge - 9 Σεπτεμβρίου 2008 @ 8:10 μ.μ.

  9. Καλές προτάσεις Chris!

    Στην πραγματικότητα είναι σε ισχύ στην επόμενη έκδοση του χειρογράφου εδώ:
    http://www.thecodecave.com/downloads/EasyWPUpdate.txt

    Η πιό πρόσφατη έκδοση αυτού του χειρογράφου θα είναι πάντα εφικτή από:
    http://www.thecodecave.com/EasyWPUpdate

    (Ότι εν λόγω δεν τον έχω ενημερώσει σε ενάμιση χρόνο και πρέπει πραγματικά τώρα που έχω ζήσει στο Unix για όλο αυτόν τον χρόνο…)

    Σχόλιο μέχρι το Brian - 10 Σεπτεμβρίου 2008 @ 1:02 AM

  10. Βλέπω… όχι μόνο εσείς εφάρμοσα βασικά τα ίδια πράγματα που πρότεινα, έχετε το νεύρο για να το εφαρμόσετε ένα έτος πριν από τις προτάσεις μου… πολύ ανειλικρινείς. Και μετά από ξανέγραψα εντελώς παλαιού ενός σας για τη χρήση μου, επίσης! :Π Ευχαριστίες για την ύπαρξη ένας καλός αθλητισμός, Brian.

    - Chris

    Σχόλιο μέχρι το Chris Wadge - 10 Σεπτεμβρίου 2008 @ 1:17 AM

Τροφή RSS για σχόλια σε αυτήν την θέση. TrackBack URL

Αφήστε ένα σχόλιο

Τροφοδοτημένος από WordPress