Yandex.Mailを操作するためのDrupalモジュール

エントリー


最近、Yandexはドメイン宛のメールなどのサービスに満足しています 。 かなり便利なサービス。 そして、その喜びのためにYandex.APIを利用できることで、ユーザーに美しい郵便住所を提供することができます。 私の記事では、このビジネスにおけるDrupalサイトの最初の成功についてお話したいと思います。 この場合、モジュールの作成は論理的です。



API



サイトエンジンとYandexとの通信は、http(s)要求を通じて行われます。 これらのリクエストのパラメータはヘルプに記載されていますが、作業を開始する前に、トークンを取得する必要があります。トークンは、アクションの承認リクエストに含まれる特定の文字列です。 取得は簡単です。YandexWebサイトにログインして、アドレスバーに貼り付ける必要があります。 pddimp.yandex.ru/get_token.xml?domain_name=...



pddimp.yandex.ru/get_token.xml?domain_name=...



ここで、省略記号の代わりに、ドメイン名を挿入します。 応答として、サーバーはトークン付きのxmlドキュメントを発行します。

最初の段階でいくつかのタスクを自分で決定しました。 つまり、いくつかの操作が必要です。



アクションごとに簡単なクエリがあります。 さらに、ヘルプページには既製のクラスのセットがありますが、コードをベースとしてすべてをゼロから作成することにしました。



モジュールを書く



取得するモジュールは非常に単純です。 文字通り、2つのフック関数と4つのヘルパー関数から。 モジュールには管理ページもあります。

ファイルyandex_mail_pdd.infoおよびyandex_mail_pdd.moduleを作成しました。 モジュールに最初に指定されたデータ。 ファイルは次のようになります。



name = Yandex.Mail API



description = .

core = 6.x








しかし、2番目のファイルの内容はモジュールのコードです。

まず、アドレスに対するエンジンの反応を判断しましょう。 管理ページとそのコールバック関数を定義します。



Copy Source | Copy HTML



  1. 関数 yandex_mail_pdd_menu(){
  2. $アイテム = 配列 ();
  3. $アイテム [ 'admin / settings / yandex_mail_pdd' ] = array
  4. 'title' => t( 'Yandex.Mail Settings' )、
  5. '説明' => 'Yandex.Mailモジュールの設定'
  6. 'ページコールバック' => 'drupal_get_form'
  7. 'ページ引数' => 配列'yandex_mail_pdd_admin' )、
  8. 'アクセス引数' => 配列'アクセス管理ページ' )、
  9. 「タイプ」 => MENU_NORMAL_ITEM、
  10. );
  11. $アイテムを 返し ます
  12. }




次に、管理用のページを作成する必要があります。 これは、2つのテキストフィールド(トークンとドメイン)と1つのチェックボックス(デバッグ情報の出力)を持つフォーム生成関数になります



Copy Source | Copy HTML



  1. 関数 yandex_mail_pdd_admin()
  2. {
  3. $ form [ 'ypdd_domain' ] = array(
  4. '#type' => 'textfield'
  5. '#title' => t( 'ドメイン' )、
  6. '#description' => t( 'Your domain。' )、
  7. '#default_value' => variable_get( 'ypdd_domain''' )、
  8. );
  9. $ form [ 'ypdd_token' ] = array(
  10. '#type' => 'textfield'
  11. '#title' => t( 'トークン' )、
  12. '#description' => t( 'ドメインのトークンをここに入力' )、
  13. '#default_value' => variable_get( 'ypdd_token''' )、
  14. );
  15. $ form [ 'ypdd_debug' ] = array(
  16. '#type' => 'チェックボックス'
  17. '#title' => t( 'デバッグ' )、
  18. '#description' => t( 'デバッグ情報の出力' )、
  19. '#default_value' => variable_get( 'ypdd_debug'true )、
  20. );
  21. return system_settings_form($フォーム);
  22. }




次に、Yandexと通信するための関数の作成を始めましょう。 http(s)リクエストを送信するには、cURLとDrupal APIの2つの方法があります。 なんらかの理由で、Yandexは2番目のオプションからのリクエストを受け入れなかったため、最初のオプションを選択しました。 ログインビジーチェック機能は次のようになります。



Copy Source | Copy HTML



  1. 関数 _pdd_chek_user( $ login
  2. {
  3. $ url = 'https://pddimp.yandex.ru/check_user.xml?login=test&token=' .variable_get( 'ypdd_token''' );
  4. $ ch = curl_init();
  5. curl_setopt( $ ch 、CURLOPT_HTTPGET、 true );
  6. curl_setopt_array( $ ch配列
  7. CURLOPT_URL => $ url
  8. CURLOPT_RETURNTRANSFER => true
  9. CURLOPT_FOLLOWLOCATION => true
  10. ));
  11. $ sxml = new SimpleXMLElement (curl_exec( $ ch ));
  12. $ xml = curl_exec( $ ch );
  13. if (variable_get( 'ypdd_debug'true ))dsm( $ xml );
  14. curl_close( $ ch );
  15. return $ sxml- > result;
  16. }




その他の機能は、リクエストとその他の小さな詳細のみが異なります。 作品のロジックは同じです。 ユーザーアカウントデータを操作するときに変更を適用するには、Drupal APIからボックスへのhook_userフックを使用します。 このようなもの:



Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  1. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  2. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  3. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  4. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  5. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  6. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  7. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  8. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  9. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  10. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  11. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  12. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  13. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  14. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  15. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  16. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  17. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  18. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  19. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  20. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  21. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  22. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  23. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  24. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  25. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }







  26. Copy Source | Copy HTML function yandex_mail_pdd_user( $op , & $edit , & $account , $category = NULL) { switch ( $op ) { case 'validate' : { if ( $edit [ 'op' ]==t( 'Save' )) { $res =_pdd_update_user( $account ->name, array ( 'password' => $edit [ 'pass' ])); } else $res =_pdd_create_user( $edit [ 'name' ], $edit [ 'pass' ]); if ( isset ( $res [ 'error' ])) { if ( $res [ 'error' ]== 'passwd-tooshort' ) form_set_error( 'pass' , ' .' ); if ( $res [ 'error' ]== 'occupied' ) form_set_error( 'name' , ' .' ); } }; break ; case 'delete' : { _pdd_delete_user( $account ->name); }; break ; } }









デバッグ情報を表示するには、Develモジュールが必要です。 そこからdsm()関数があります。

実際、それがすべての作業です。 もちろん、これはリリースに影響しませんが、スケルトンとしては非常に適しています。 改善のために多くのスペース。 サイトの入り口で文字のリストとその他の機能のリストの受信を完了する予定です。 明けましておめでとうございます!



All Articles