匿名にフラグをメールで確認するよう依頼するにはどうすればよいですか?


7

フラグをコンテンツタイプの1つに追加する必要があります。実際には2種類あります。

  1. お世話します
  2. 解決した

2番目のフラグは、ノードの作成者のみが使用でき、最初のフラグが既に発生している場合にのみ使用できます。しかし、それは簡単な部分です。最初の種類のフラグも、ログインしているユーザーにとっては簡単です。

重要なのは-匿名ユーザーも第1種のフラグを使用できるようにする必要があるということです。そして、私は彼らの有効なメールアドレスを持っていることを確認する必要があります。メール内の標準の確認リンクで問題ありません-それを行うにはどうすればよいですか?

カスタムモジュールを最初から開発できることはわかっています。必要に応じて開発することもできますが、すぐに使えるソリューションがすでにあることは確かでしたが、今は見つかりません。

いくつかのことを明確にするために:

  • Flag APIは、Session APIをインストールすると、匿名ユーザーに対して機能します。ここで問題ありません。
  • フラグ自体に添付されたメールフィールドメールを保持することを計画しました。ログインしているユーザーの場合、デフォルトではメールに設定されます。ユーザーが変更する場合は、変更する場合でも、とにかく連絡をとる方法があります。匿名の場合は、メールのリンクで確認してください。期限内に確認されなかった場合は、フラグを削除します。削除は、CRONとルールまたは単純なヘルパーモジュールを使用すると簡単になります。検証は複雑です(そして、私はすでに解決されていると思います)。

もう一度確認するには、次のようなものが必要です。1。電子メールを一時的に(フラグが完了するまで)キャプチャします。2。ユーザーに電子メールを送信して、その電子メールが正しいことを再確認します(私は、フラグが設定されたら通知を受けることができると想定しています)完了)
Jance

@Janceフラグ自体に添付された電子メールフィールドの電子メールが欲しい。ログインしているユーザーの場合、デフォルトではメールに設定されます。ユーザーが変更する場合は、変更する場合でも、とにかく連絡をとる方法があります。匿名の場合は、メールのリンクで確認してください。
Mołot

カスタムモジュールを作成し、フラグをクリックしたときにユーザーにメールを要求する必要があると思います。モジュールはdrupal.org/project/flag_anonにありますが、ログイン/登録リンクを示しています。
Sumit Madan

@SumitMadan この問題を参照してくださいセッションAPIを使用している場合は、匿名のフラグ設定がすでに可能です。私の質問は、メールの検証についてであり、フラグを立てられるようにする方法ではありません:)回答で説明されている理由により、ユーザーにアカウントを作成させることはできません。
Mołot

1
そこ匿名コメント(残念ながらないフラグ)の作品が出て検証モジュールはあるが、それはポイントオフまともなジャンプ(かもしれないdrupal.org/project/comment_verification
Jance

回答:


2

私は、hook_flag_link_type_info()を使用して、フラグモジュールによって提供される「確認」リンクタイプのようなリンクタイプを提供します。彼らのアプローチをコピーしますが、「確認」フォームでユーザーに電子メールアドレスを要求します(ユーザーが匿名の場合)。フラグに追加したメールフィールドに値を保存すると、ルールモジュールが残りの処理を実行できるようになります。少しカスタムコードが必要です(私が推測するほど多くはありません)が、機能の主要部分(フラグ設定、フラグ解除、ルール統合など)は引き続きFlagモジュールから提供されます。

[編集]検証部分の場合:ブールフィールドをフラグ(「検証済み」)に追加します。これは、メールで送信する検証リンクで変更します。「解決済み」フラグは、hook_flag_access()で非表示/表示できます。


1

メールを送信する2つのモジュールを実行しました。1つは、認証されたユーザーがフラグが立てられたコンテンツを電子メールで受信するためのもので、もう1つは、友​​人に好きなURLを送信するためのものです。

ここにすべてのコードを投稿するのは少し長いと思うので、オンラインでzipをアップロードして

多分あなたはあなたの目標を達成するために両方のミックスを行うことができます。

それが役に立てば幸い。


0

私はジェレの方法を使用したかったと思います。しかし、私はしませんでした。だから私はそれが機能するかどうかわかりません。

これが私がやった方法です

  1. 電子メールフィールドでフラグを作成しました。フォームにつながるフラグボタンを作成したので、ユーザーが入力する必要があります。とにかく、みんなのために必要ないくつかのフィールドがあります。

  2. 役割が必要とするため、匿名には電子メールが必要になります。ログインしたユーザーは、別のメールが必要な場合はそれを入力することができます。その場合でも、これまでのところ確認されているはずです。

  3. Email Field Verificationをインストールして有効にし、フラグに添付されたメールフィールドをオンにし、フィールドが確認されない場合はコンテンツを削除するように設定しました。

なぜ私がしなかったか

これらのモジュールにはバグがあります。特に電子メールフィールド検証 - 回避する必要があるすべてのバグです。パッチとハックで、すべてが期待どおりに機能するようになりました。自分で書いた方が簡単かもしれません。まあ、少なくとも私はパッチを寄稿できるようになることを願っています。


-1

私の知る限り、匿名ユーザーは1人だけで、そのアカウントはすべての匿名ユーザーによって共有されています。匿名ユーザーの電子メールアドレスを追跡する場合は、自分のアカウントを与えることはできませんか?

匿名ユーザーの情報を保存するための唯一の方法は、ユーザーのコンピューターに保存されるCookieを設定することです。しかし、異なる匿名ユーザーがコンピューターを共有したり、anonユーザーが2つの異なるデバイスを使用したりするという問題が発生します。


いいえ、アカウントを取得できません。彼らはできるだけ簡単にフラグを立てることができるはずであり、フラグが立てられたらメールを忘れてほしいと思っています(投稿者が投稿者が解決したマークを付けます)。メールを入力して送信し、確認リンクをクリックするだけです。それは私のユーザーがそれを彼らの読者のためにしたいものです。一度訪問した人、1つのノードのアカウントを作成しても、おそらく戻ってくることはほとんどありません。法律の要件は言うまでもありません。アカウントの作成を一般に公開する場合は、より厳格になります。個人データ保護。だから、何も、それはだんではない私のための答え。
Mołot

オンザフライで(実際のユーザーデータなしで)一時的なアカウントを作成し、処理後に削除できませんか?
ラニオール2014

@laniolうまくいくかもしれませんが、それを機能させるための弁護士は、個人データデータベースを正式に登録するのと同じくらい費用がかかると思います。あえて危険を冒すつもりはありません。
Mołot

-1

ここにいくつかの要件が欠けているかもしれませんが、匿名ユーザーのメールアドレスを取得すると、匿名ではなくなると思います。それが受け入れられれば、おそらくフラグを匿名ユーザーに帰するのではなく、drupalシステムを使用して、何かにフラグを立てたときにそれらに低レベルのアカウントを作成することができます。代わりに、フラグアクセスをロールで区別できます。

これを行うには、ユーザー登録パスワードモジュールなどを使用して、ユーザーをすぐにログインさせる必要があります。フラグアクションを変更して、最初にそれらを登録ページに送信するようにして(電子メールアドレスのみに簡略化)、フラグの詳細をクエリ文字列の宛先として維持し、ユーザーがログインした後でのみフラグを適用して、電子メールの確認を促すことができます。


この古いコメントを参照してください-いいえ、さまざまな理由でアカウントを取得できません。
Mołot

わかった。ユーザーのメールアドレスのみを持ち他の個人情報を持たないアカウント(必要に応じて後で削除できます)を開くことと、単にメールアドレスを保存することとの間に、法的な違いがほとんどないかどうかはわかりません。どちらも同じ情報を永続的に保存します。
2014

私の国には区別があります。理論的には線がぼやけており、実際には入力された正確な目的のためだけにそれを維持することは訴訟の重大なリスクを負いません。
Mołot
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.