/**
  * Modifies an element query
  *
  * @param DbCommand $query
  * @param mixed     $value
  * @return null|false
  */
 public function modifyElementsQuery(DbCommand $query, $value)
 {
     $handle = $this->model->handle;
     $query->addSelect('count(follows.id) AS ' . craft()->content->fieldColumnPrefix . $handle);
     $query->leftJoin('follows follows', 'follows.elementId = elements.id');
 }
    /**
     * Modifies an element query targeting elements of this type.
     *
     * @param DbCommand $query
     * @param ElementCriteriaModel $criteria
     * @return mixed
     */
    public function modifyElementsQuery(DbCommand $query, ElementCriteriaModel $criteria)
    {
        $query->addSelect('forms.id,
									 forms.fieldLayoutId,
									 forms.groupId,
									 forms.name,
									 forms.handle,
									 forms.titleFormat,
									 forms.displaySectionTitles,
									 forms.redirectUri,
									 forms.submitAction,
									 forms.submitButtonText,
									 forms.notificationEnabled,
									 forms.notificationRecipients,
									 forms.notificationSubject,
									 forms.notificationSenderName,
									 forms.notificationSenderEmail,
									 forms.notificationReplyToEmail
			')->join('sproutforms_forms forms', 'forms.id = elements.id');
        if ($criteria->totalEntries) {
            $query->addSelect('COUNT(entries.id) totalEntries');
            $query->leftJoin('sproutforms_entries entries', 'entries.formId = forms.id');
        }
        if ($criteria->numberOfFields) {
            $query->addSelect('COUNT(fields.id) numberOfFields');
            $query->leftJoin('fieldlayoutfields fields', 'fields.layoutId = forms.fieldLayoutId');
        }
        if ($criteria->handle) {
            $query->andWhere(DbHelper::parseParam('forms.handle', $criteria->handle, $query->params));
        }
        if ($criteria->groupId) {
            $query->join('sproutforms_formgroups formgroups', 'formgroups.id = forms.groupId');
            $query->andWhere(DbHelper::parseParam('forms.groupId', $criteria->groupId, $query->params));
        }
    }