/**
  * Crea il blocco HTML standard coni dati di creazione/modifica e il pulsante di eliminazione:
  * 
  * &lt;p class=&quot;created&quot;&gt;Creat... il ... da &lt;strong&gt;...&lt;/strong&gt;&lt;/p&gt;<br />
  * &lt;p&gt;<br />
  * &lt;form id=&quot;...-delete-form&quot; action=&quot;...&quot; method=&quot;post&quot;&gt;<br />
  * &lt;input type=&quot;hidden&quot; name=&quot;_csrf&quot; value=&quot;...&quot;&gt;<br />
  * &lt;input type=&quot;hidden&quot; name=&quot;Delete...[...]&quot; value=&quot;...&quot;&gt;<br />
  * &lt;a class=&quot;btn btn-danger&quot; href=&quot;/&quot;&gt;&lt;i class=&quot;fa fa-trash-o&quot;&gt;&lt;/i&gt; ...&lt;/a&gt;<br />
  * &lt;/form&gt;<br />
  * &lt;/p&gt;
  * 
  * La form ha id "{nome classe minuscolo}-delete-form", il campo nascosto ha nome "{nome classe}[{nome campo pk}]"
  * e valore della chiave primaria del modello.
  * 
  * @param string $pkField Nome del campo pk del modello
  * @param string $buttonLabel Testo del pulsante di eliminazione
  * @param boolean $isFemale True per indicare che l'oggetto è al femminile
  * @return string Blocco HTML
  */
 public function getCreatedUpdatedBlock($pkField, $buttonLabel, $isFemale = false)
 {
     if ($this->isNewRecord) {
         return;
     }
     return $this->getCreatedUpdatedParagraph($isFemale) . \PHP_EOL . Html::beginTag('p') . \PHP_EOL . Html::beginForm('', 'post', ['id' => strtolower($this->formName()) . '-delete-form']) . \PHP_EOL . Html::hiddenInput("Delete{$this->formName()}[{$pkField}]", $this->{$pkField}) . \PHP_EOL . Html::faa('trash-o', $buttonLabel, ['/'], ['class' => 'btn btn-danger']) . \PHP_EOL . Html::endForm() . \PHP_EOL . Html::endTag('p');
 }
 public function run()
 {
     echo Html::beginTag('div', ['class' => 'workinprogress']);
     echo Html::img("/{$this->folder}/{$this->image}", ['alt' => 'work-in-progress.png']);
     if ($this->message) {
         echo Html::tag('p', $this->message, ['class' => 'workinprogress-message']);
     }
     echo Html::endTag('div');
 }
 /**
  * Partendo dall'oggetto che la Api Twitter restituisce per ogni tweet, verifica in base alla proprietà <code>id_str</code>
  * se il tweet è già presente nel database. In caso affermativo restituisce true, altrimenti inserisce in nuovo record
  * nel database e lo restituisce.
  * @param mixed $data Oggetto del tweet restituito dalla Api Twitter
  * @return mixed True se il tweet è già presente nel database, altrimenti nuovo record creato
  */
 public static function CreateFromObj($data)
 {
     $tweet = self::find()->where('id_str=:idstr', [':idstr' => $data->id_str])->one();
     if (!$tweet) {
         # Nuovo tweet: lo inserisco nel database
         $tweet = new TwitterTweet();
         $tweet->id_str = $data->id_str;
         $tweet->created = date('Y-m-d H:i:s', strtotime($data->created_at));
         $text = trim(str_replace('#' . Yii::$app->twitter->hashtag, '<span class="hashtag">#' . Yii::$app->twitter->hashtag . '</span>', $data->text));
         $urls = $data->entities->urls;
         if (is_array($urls)) {
             foreach ($urls as $url) {
                 $text = str_replace($url->url, Html::a($url->display_url, $url->expanded_url, array('target' => 'blank')), $text);
             }
         }
         $tweet->text = $text;
         $tweet->save();
         $tweet->refresh();
         return $tweet;
     }
     return true;
 }