public function __construct($id, $module = null)
 {
     //$this->initAPI();
     parent::__construct($id, $module);
     $this->initMenu();
     $this->initAssets();
     $this->url_referrer = Yii::app()->request->urlReferrer;
     $this->requests = SearchRequests::model()->getUserRequests(WebUser::Id(true));
     $this->listings = ListingNames::model()->getUserLists(WebUser::Id());
     if (!WebUser::isGuest()) {
         $user = WebUser::getModel();
         $user->date_last_visit = time();
         $user->save();
     }
 }
 public function registerByAdmin()
 {
     $this->formAfterCheck();
     if (!$this->hasErrors()) {
         $user = new Users('create');
         $user->username = $this->username;
         $user->email = $this->email;
         $user->password = CPasswordHelper::hashPassword($this->password);
         $user->email_verified = intval($this->verified);
         if ($user->save()) {
             MailHelper::sendUserCredentials($this->username, $this->email, $this->password);
             if (!$this->verified) {
                 $url_maintenance = $user->getMaintenanceUrl();
                 $user->save();
                 MailHelper::sendRegisterConfirmMail($user->username, $user->email, $url_maintenance);
             }
             ListingNames::model()->getUserIgnoreList($user->id);
             return true;
         } else {
             $this->addErrors($user->getErrors());
         }
     }
     return false;
 }
<?php

/* @var $this SearchController */
/* @var $items EbayItem[] */
/* @var $request SearchRequests */
$this->actions_menu = array(array('label' => 'Create request', 'url' => array('/search/index')), array('label' => 'Update request', 'url' => array('/search/index', 'id' => $request->id)));
$listings = ListingNames::model()->getUserLists(WebUser::Id());
?>

<div class="row-fluid">
    <div class="span3 pull-right">
        <?php 
$data = array('', 'id' => 'Sort by id', 'id_desc' => 'Sort by id DESC', 'price' => 'Sort by price', 'price_desc' => 'Sort by price DESC', 'bin' => 'Sort by BuyItNow', 'bin_desc' => 'Sort by BuyItNow DESC', 'date_start' => 'Sort by start date', 'date_start_desc' => 'Sort by start date DESC', 'date_end' => 'Sort by end date', 'date_end_desc' => 'Sort by end date DESC');
echo CHtml::label('Sort', 'sort-order');
echo CHtml::dropDownList('sortOrder', 0, $data, array('id' => 'sort-order-list'));
?>
    </div>
</div>

<?php 
$this->widget('bootstrap.widgets.TbGridView', array('id' => 'search-results-grid', 'dataProvider' => new CArrayDataProvider($items, array('pagination' => false)), 'template' => '{summary} {pager} {items} {pager}', 'afterAjaxUpdate' => 'setHandlers', 'pager' => array('class' => 'booster.widgets.TbPager', 'displayFirstAndLast' => true), 'htmlOptions' => array('class' => 'table-hover'), 'rowHtmlOptionsExpression' => 'array("data-item-id" => $data->itemId, "data-date-end" => $data->dateOfEnded, "data-date-start" => $data->dateOfAdded, "data-price" => $data->price, "data-bin" => $data->buyItNow)', 'columns' => array(array('header' => '<input type="checkbox" class="checkbox-all">', 'type' => 'raw', 'value' => function ($data) {
    /* @var $data EbayItem */
    $details = array('ebay_id' => $data->itemId, 'title' => $data->title, 'url_picture' => $data->pictureUrl, 'url_item' => $data->itemUrl, 'buy_it_now' => intval($data->buyItNow != -1), 'date_start' => $data->dateOfAdded, 'date_end' => $data->dateOfEnded, 'currency' => $data->currency);
    return CHtml::checkBox("EbayItems[id][]", false, array("data-id" => $data->itemId, 'class' => 'checkbox', 'value' => $data->itemId, 'data-details' => json_encode($details)));
}, 'footer' => '<input type="checkbox" class="checkbox-all">'), array('type' => 'raw', 'value' => function ($data) {
    /* @var $data EbayItem */
    $img = CHtml::image($data->pictureUrl, $data->title, array('class' => 'item-image'));
    return CHtml::link($img, $data->itemUrl, array('target' => '_blank'));
}, 'htmlOptions' => array('class' => 'item-image')), array('type' => 'raw', 'value' => function ($data) {
    /* @var $data EbayItem */
    $out = 'Item title: <span class="text-error">' . $data->title . '</span><br/>';
$model->only_new = WebUser::isGuest() ? 0 : $model->only_new;
$chb_only_new = CHtml::activeCheckBox($model, 'only_new', array('id' => 'checkbox-only-new'));
$text = Yii::t('sniper_ebay', 'Only new results');
echo CHtml::label($text . ' ' . $chb_only_new, 'checkbox-only-new');
?>
                    </td>
                </tr>
                <tr class="<?php 
echo WebUser::isGuest() ? 'hidden' : '';
?>
">
                    <td>
                        <?php 
$chb_ignored_list = CHtml::activeCheckBox($model, 'ignore_list', array('id' => 'checkbox-ignored-list'));
$text = Yii::t('sniper_ebay', 'Use ignore list');
$ignore_list = ListingNames::model()->getUserIgnoreList(WebUser::Id());
echo CHtml::label($text . ' ' . $chb_ignored_list, 'checkbox-ignored-list');
echo CHtml::link('Browse', array('/listing/index', 'id' => $ignore_list->id), array('target' => '_blank'));
?>
                    </td>
                </tr>
                <tr>
                    <td>
                        <?php 
echo CHtml::submitButton(Yii::t('sniper_ebay', 'Start Search'), array('class' => 'btn btn-primary'));
?>
                    </td>
                </tr>
            </table>
        </form>
    </div>
 public function actionListing($id)
 {
     //array $request = array()
     $request = $this->loadModel($id);
     if ($request->user_id != WebUser::Id(true)) {
         throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.');
     }
     $atributes = $request->attributes;
     $atributes['auction_type'] = SearchRequests::model()->getAuctionType($request->auction_type_id);
     $searchApi = new FindItemsAdvancedClass($atributes);
     $items_ignored = array();
     if ($request->only_new) {
         $items_ignored = $request->items;
     } elseif ($request->ignore_list) {
         $list = ListingNames::model()->getUserIgnoreList(WebUser::Id());
         $items_ignored = $list->items;
     }
     if (!empty($items_ignored)) {
         $ignore_ids = CHtml::listData($items_ignored, 'id', 'ebay_id');
         $searchApi->setIgnoreIds($ignore_ids);
     }
     try {
         $items = $searchApi->makeAPICall();
         $ebay_ids = array();
         $items_attrs = array();
         $date = time();
         foreach ($items as $_item) {
             $items_attrs[] = array('ebay_id' => $_item->itemId, 'title' => $_item->title, 'url_picture' => $_item->pictureUrl, 'url_item' => $_item->itemUrl, 'buy_it_now' => intval($_item->buyItNow > 0), 'date_of_added' => $date);
             $ebay_ids[] = $_item->itemId;
         }
         SearchItems::model()->saveMultipleIgnore($items_attrs);
         SearchRequests::model()->addItemsToRequest($id, $ebay_ids);
     } catch (Exception $ex) {
         $this->setFlashWarning($ex->getMessage());
         $items = $searchApi->getItems();
     }
     if (empty($items)) {
         $this->setFlashError($searchApi->getError());
     }
     $data = array('items' => $items, 'request' => $request);
     $this->enableAddToListBtn();
     $this->render('listing', $data);
 }
 public function deleteList($list_id)
 {
     $list = ListingNames::model()->findByPk($list_id);
     if (!empty($list)) {
         $this->truncateList($list_id);
         $list->delete();
     }
 }