; $Id$
Π ΡΠ°ΠΉΠ»Π°Ρ Ρ PHP-ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅Π³Π° <?php Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠΎΠΊΡ
// $Id$
ΠΡΡ ΡΡΡΠΎΠΊΡ, Π΅ΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ CVS-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Drupal, Π·Π°ΠΌΠ΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ΅Π±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ°Π»Π΅Π΅ Π² ΡΠ°ΠΉΠ»Π΅ .info Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΡΡΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ, Π΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ Π²Π΅ΡΡΠΈΡ ΡΠ΄ΡΠ° Drupal, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ PHP, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°Ρ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Drupal, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΈ ΠΏΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² .info-ΡΠ°ΠΉΠ»Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ (ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΠΈΡΡΠ΅ΠΌΡΠ΅ Π² ΡΡΠ°ΡΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π° Π²ΠΎ Π²ΡΠ΅Π·ΠΊΠ΅ Β«Π‘ΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒ»).
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΠΉΠ» currencies.info Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄:
; $Id$
name = Currencies block
description = Show currencies
core = 6.x
Π₯ΠΎΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π² Π½Π°ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ ΡΠΆΠ΅ Π΅ΡΡΡ, Π½ΠΎ ΠΏΠΎΠΊΠ° ΠΎΠ½ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Ρ.
currencies.install
ΠΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Drupal ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ Ρ ΡΠΊ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π²ΠΈΠ΄Π°:
/*
* Implementation of hook_Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ ΡΠΊΠ°().
*/
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ (ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· ΡΠ΅ΠΊΡΡΠ° Implementation of...) Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΅Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. ΠΡΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Doxygen, ΠΏΠΎ Π½ΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²Π΅ΡΡΠΈ ΠΏΠΎΠΈΡΠΊ. ΠΠ΄Π΅ΡΡ Π΄Π»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΠΌΠ΅ΡΡΠ° ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΠΏΡΡΠ΅Π½Ρ.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΡΠΎΠΌ Drupal ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ: ΡΠ΄ΡΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ β ΡΠ°ΠΉΠ»ΠΎΠ² Ρ PHP-ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΡΠΈ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ ΠΈ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Ρ ΡΠΊΠΈ hook_install ΠΈ hook_uninstall. ΠΡΠΌΠ΅ΡΡ, ΡΡΠΎ Π² Drupal ΠΊΡΠΎΠΌΠ΅ ΠΏΠΎΠ½ΡΡΠΈΠΉ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ ΠΈ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ Π΅ΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΡ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ (Π² Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅, Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π³Π°Π»ΠΎΡΠΊΠ° Π½Π°ΠΏΡΠΎΡΠΈΠ² Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ Π½Π°ΠΆΠ°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° Submit), ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠ΅ install, Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ enable, Ρ. Π΅. ΡΠ΄ΡΠΎ Drupal ΠΈΡΠ΅Ρ ΠΈ, Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡ, Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ Ρ ΡΠΊΠΈ hook_install ΠΈ hook_enable Π΄Π»Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠ°Π»Π΅Π΅, Π΅ΡΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π²ΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠ΅ disable ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ°Ρ Ρ ΡΠΊ hook_disable. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄ΡΠ»Ρ Π±ΡΠ΄Π΅Ρ Π²Π½ΠΎΠ²Ρ Π²ΠΊΠ»ΡΡΠ΅Π½, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ enable, Π° Π½Π΅ install. ΠΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π±ΡΠ» ΡΠ½Π°ΡΠ°Π»Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»Π΅Π½ (ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΡ ΡΠΏΠΈΡΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅), ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΡΠΎΠ±ΡΡΠΈΡ disable ΠΈ uninstall ΠΈ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠΏΡΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ ΡΠΎΠ±ΡΡΠΈΡ install ΠΈ enable.
Π’Π°ΠΊΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΡ install ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , Π° ΠΏΡΠΈ ΡΠΎΠ±ΡΡΠΈΠΈ uninstall β ΡΠ΄Π°Π»ΡΡΡ ΠΈΡ , ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π΅ ΠΎΡΡΠ°Π΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ² Π΅Π³ΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΡ. ΠΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ (enable ΠΈ disable) Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ, Π° Π»ΠΈΡΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠΈΡ install ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΠ΅ΡΠ½Π΅ΠΌΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΡΡΡΠ°Ρ Π²Π°Π»ΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ currencies Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π¦Π΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΠ°Π½ΠΊΠ° Π Π€. Π§ΡΠΎΠ±Ρ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π΅ Π±Π»ΠΎΠΊΠ° Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Ρ Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ, Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°. Π ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ cache_set ΠΈΠ»ΠΈ variable_set ΠΈΠ· ΡΠ΄ΡΠ° Drupal, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΡΡΡΠ°Ρ Π²Π°Π»ΡΡ Π·Π° Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π΅Π΅ Π°Π½Π°Π»ΠΈΠ·Π°. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ Π² Π½Π΅ΠΉ Π±ΡΠ΄Π΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ Π²ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ°Ρ ΠΏΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΎΠ±ΡΡΠΈΡ enable ΠΈ disable ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π½Π΅ΠΌ Π½Π΅ Π±ΡΠ΄ΡΡ, Π° Π½Π° install ΠΈ uninstall ΠΌΡ Π½Π°Π·Π½Π°ΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΠ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ currencies.install ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ Ρ ΡΠΊΠΈ hook_install ΠΈ hook_uninstall:
function currencies_install() {
drupal_install_schema('currencies');
}
function currencies_uninstall() {
drupal_uninstall_schema('currencies');
}
Π€ΡΠ½ΠΊΡΠΈΠΈ drupal_install_schema ΠΈ drupal_uninstall_schema ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ Drupal Schema API. Schema API β ΡΡΠΎ ΡΠ»ΠΎΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΎΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ SQL-Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ΄ ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π΅ΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ Schema API, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΡΠΎΡ ΠΌΠ°ΡΡΠΈΠ² Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ Π² ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ SQL-Π·Π°ΠΏΡΠΎΡ ΠΊ ΡΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ Dupal. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠΈ Π΄Π²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΡ Π΅ΠΌΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Π°, Ρ. Π΅. ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° drupal_install_schema('currencies') Drupal ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ hook_schema ΠΌΠΎΠ΄ΡΠ»Ρ currencies, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ (ΡΠΌ. Π»ΠΈΡΡΠΈΠ½Π³ 1). ΠΡΠΎΡ Ρ ΡΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ . Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ currencies_block ΠΈ Π΄Π²ΡΠΌΡ ΠΏΠΎΠ»ΡΠΌΠΈ: timestamp ΠΈ data. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠΈΡΡΠΈΠ½Π³ 1function currencies_schema() {
$schema['currencies_block'] = array(
'description' => t('Some table description.'),
'fields' => array(
'timestamp' => array(
'type' => 'int',
'size' => 'normal',
'not null' => TRUE,
'default' => 0,
),
'data' => array(
'type' => 'text',
'not null' => TRUE,
),
),
);
return $schema;
}
ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π² Π½Π°ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ currencies Π΅ΡΡΡ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°: currencies.info ΠΈ currencies.install, Π½ΠΎ ΠΎΠ½ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π½Π΅ΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΌΡΠΉ Π²Π°ΠΆΠ½ΡΠΉ ΡΠ°ΠΉΠ» β .module. ΠΡΠ»ΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» currencies.module ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² Π½Π΅ΠΌ Π²ΡΠ΅Π³ΠΎ Π΄Π²Π΅ ΡΡΡΠΎΡΠΊΠΈ:
<?php
// ; $Id$
(ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π΄Π°Π½ΠΎ Π²ΡΡΠ΅), ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΡ ΠΆΠ΅ ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ» currencies.module Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΠ ΠΈ ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ Π±ΠΎΠ»ΡΡΠΎΠΌΡ, ΡΠ»ΠΎΠΆΠ½ΠΎΠΌΡ ΠΈ Π²Π°ΠΆΠ½ΠΎΠΌΡ ΡΡΠ°ΠΏΡ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΠΌΠΎΠ΄ΡΠ»Ρ.
currencies.module
Π Drupal ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Β«ΡΠΎΠ»Π΅ΠΉΒ» ΠΈ Β«ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ°Β». ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΅ΡΡΡ Π΄Π²Π΅ Β«ΡΠΎΠ»ΠΈΒ» (Π³ΡΡΠΏΠΏΡ) ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ β Π°Π½ΠΎΠ½ΠΈΠΌΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠ½ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Β«ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°Β» ΠΊ ΡΠ²ΠΎΠΈΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠ°ΠΉΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΎΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΡΠ°ΠΉΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π² Π³ΡΡΠΏΠΏΡ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ , ΠΌΠΎΠ³ΡΡ Π²Π΅ΡΡΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠ³, Π° Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠΎΠ² ΡΠ°ΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅Ρ. Π Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠ°ΠΉΡΠ° ΡΠ΅ΡΠ΅Π· Web-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠ»ΠΈ (ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΎΡΡ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΈ Ρ. ΠΏ.), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΡΠΎΠ±ΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΠΎΠ»Π΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ½ΠΈΠΌΠ°ΡΡ Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΠΈΡ Π±Π΅Π·Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎ ΡΠ΄Π°Π»ΡΡΡ) ΠΈ Π½Π°Π·Π½Π°ΡΠ°ΡΡ ΡΡΠΈ ΡΠΎΠ»ΠΈ Π»ΡΠ±ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΡΠΈΡΠ΅ΠΌ Π΅ΠΌΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ»Π΅ΠΉ.
Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ hook_menu ΠΈ Forms API Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° ΡΠΎΡΠΌΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²Π°Π»ΡΡ.
ΠΡΡΠ΅ ΡΠΆΠ΅ Π±ΡΠ»Π° ΠΎΠΏΠΈΡΠ°Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΠ΅ΠΉΡΠ°Ρ, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π±ΠΈΡΠ° Π½Π° ΡΠ΅ΡΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°ΡΡΠΈ:
β’ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°;
β’ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ;
β’ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ΠΌΠΈΠ·Π°ΡΠΈΠΈ;
β’ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ hook_menu ΠΈ Forms API Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° ΡΠΎΡΠΌΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²Π°Π»ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π² Π±Π»ΠΎΠΊΠ΅, Π°Π΄ΡΠ΅Ρ XML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Β«ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΡΡΒ» ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΊΡΡΡΠ°Ρ Π²Π°Π»ΡΡ, ΠΈ ΡΠ°ΡΡΠΎΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ hook_perm Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΎ Β«ΠΏΡΠ°Π²ΠΎ Π΄ΠΎΡΡΡΠΏΠ°Β», Π΄Π°ΡΡΠ΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΡΠ°ΠΉΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ.
Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ΄Π½Π°: ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΡΠΎΠΊΠΈ cron-ΡΠ°Π±Π»ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΎ ΠΊΡΡΡΠ°Ρ Π²Π°Π»ΡΡ. ΠΡΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠΌ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ, ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π¦Π, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΡ Π² Π±Π°Π·Π΅.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Ρ ΡΠΊΠ° hook_block, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. Π§ΡΠΎΠ±Ρ Π²Π΅ΡΡΡΠ°Π»ΡΡΠΈΠΊ ΠΌΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅ΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ hook_theme.