/**
  * Get the subscription URL.
  *
  * @param int $entityID
  * @param null $entity
  * @param string $action
  *
  * @return string
  */
 public function subscriptionURL($entityID = NULL, $entity = NULL, $action = 'cancel')
 {
     $url = parent::subscriptionURL($entityID, $entity, $action);
     if (!isset($url)) {
         return NULL;
     }
     if (stristr($url, '&cs=')) {
         return $url;
     }
     $user_id = CRM_Core_Session::singleton()->get('userID');
     $contact_id = $this->getContactID($entity, $entityID);
     if ($contact_id && $user_id != $contact_id) {
         return $url . '&cs=' . CRM_Contact_BAO_Contact_Utils::generateChecksum($contact_id, NULL, 'inf');
     }
     return $url;
 }