Ejemplo n.º 1
0
 public function __construct($publicationId, $userId)
 {
     $this->m_dbObject = Subscription::GetSubscriptions($publicationId, $userId);
     if (count($this->m_dbObject) == 0) {
         $this->m_dbObject = array();
     }
 }
 /**
  * Performs the action; returns true on success, false on error.
  *
  * @param $p_context - the current context object
  * @return bool
  */
 public function takeAction(CampContext &$p_context)
 {
     $p_context->default_url->reset_parameter('f_' . $this->m_name);
     $p_context->url->reset_parameter('f_' . $this->m_name);
     if (PEAR::isError($this->m_error)) {
         return false;
     }
     $auth = Zend_Auth::getInstance();
     $user = new User($p_context->user->identifier);
     if ($user->getUserId() != $auth->getIdentity() || $user->getUserId() == 0) {
         $this->m_error = new PEAR_Error('You must be logged in to create or edit your subscription.', ACTION_EDIT_SUBSCRIPTION_ERR_NO_USER);
         return false;
     }
     $subscriptions = Subscription::GetSubscriptions($p_context->publication->identifier, $user->getUserId());
     if (count($subscriptions) == 0) {
         $subscription = new Subscription();
         $created = $subscription->create(array('IdUser' => $user->getUserId(), 'IdPublication' => $p_context->publication->identifier, 'Active' => 'Y', 'Type' => $this->m_subscriptionType == 'trial' ? 'T' : 'P'));
         if (!$created) {
             $this->m_error = new PEAR_Error('Internal error (code 1)', ACTION_EDIT_SUBSCRIPTION_ERR_INTERNAL);
             exit(1);
         }
     } else {
         $subscription = $subscriptions[0];
     }
     $publication = new Publication($p_context->publication->identifier);
     $subscriptionDays = $this->computeSubscriptionDays($publication, $p_context->publication->subscription_time);
     $startDate = new Date();
     $columns = array('StartDate' => $startDate->getDate(), 'Days' => $subscriptionDays, 'PaidDays' => $this->m_subscriptionType == 'trial' ? $subscriptionDays : 0, 'NoticeSent' => 'N');
     if ($this->m_properties['subs_by_type'] == 'publication') {
         $sectionsList = Section::GetUniqueSections($p_context->publication->identifier);
         foreach ($sectionsList as $section) {
             $this->m_sections[] = $section['id'];
         }
     }
     foreach ($this->m_languages as $languageId) {
         foreach ($this->m_sections as $sectionNumber) {
             $subsSection = new SubscriptionSection($subscription->getSubscriptionId(), $sectionNumber, $languageId);
             $subsSection->create($columns);
         }
     }
     $fields = array('SubsType', 'tx_subs', 'nos', 'unitcost', 'unitcostalllang', 'f_substype', 'cb_subs', 'subs_all_languages', 'suma', 'tpl', 'subscription_language');
     foreach (CampRequest::GetInput() as $field => $value) {
         if (strncmp('tx_subs', $field, strlen('tx_subs')) == 0) {
             $fields[] = $field;
         }
     }
     foreach ($fields as $fieldName) {
         $p_context->default_url->reset_parameter($fieldName);
         $p_context->url->reset_parameter($fieldName);
     }
     $this->m_error = ACTION_OK;
     return true;
 }
Ejemplo n.º 3
0
$f_subscription_type = Input::Get('f_subscription_type', 'string', 'PN');
$f_subscription_days = Input::Get('f_subscription_days', 'int', 0);

if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] != '') {
	$uriPath = strtok($_SERVER['HTTP_REFERER'], "?");
} elseif ($g_user->hasPermission('ManageUsers')) {
	$uriPath = "/$ADMIN/users/edit.php";
} else {
	$uriPath = "/$ADMIN/users/subscriptions";
}
$inSubscriptions = (strstr($uriPath, '/subscriptions') != '')
					|| !$g_user->hasPermission('ManageUsers');

$manageUser = new User($f_user_id);
$publications = Publication::GetPublications();
$subscriptions = Subscription::GetSubscriptions(null, $f_user_id);
if (sizeof($subscriptions) > 0) {
	$subscriptions_ids = array();
	foreach ($subscriptions as $subscription) {
		$subscriptions_ids[] = $subscription->getPublicationId();
	}
	$remaining_publications = array();
	foreach ($publications as $publication) {
		if (!in_array($publication->getPublicationId(), $subscriptions_ids)) {
			$remaining_publications[] = $publication;
		}
	}
	$publications = $remaining_publications;
}

if (sizeof($publications) <= 0) {
Ejemplo n.º 4
0
 /**
  * Get subscription
  *
  * @return MetaSubscription
  */
 protected function getSubscription()
 {
     if (empty($this->m_dbObject)) {
         return new MetaSubscription();
     }
     $publicationId = CampTemplate::singleton()->context()->publication->identifier;
     $subscriptions = Subscription::GetSubscriptions($publicationId, $this->m_dbObject->getId());
     return empty($subscriptions) ? new MetaSubscription() : new MetaSubscription($subscriptions[0]->getSubscriptionId());
 }
Ejemplo n.º 5
0
if (sizeof($publications) > $numSubscriptions) {
?>
			<td align="right" valign="center" nowrap>
				<?php $addURI = "/$ADMIN/users/subscriptions/add.php?f_user_id=".$editUser->getUserId(); ?>
				<a href="<?php echo $addURI; ?>"><IMG SRC="<?php echo $Campsite["ADMIN_IMAGE_BASE_URL"]; ?>/add.png" BORDER="0"></A>
				<a href="<?php echo $addURI; ?>"><B><?php putGS("Add new"); ?></B></A>
			</td>
<?php
} // if (sizeof($publications) > $numSubscriptions)
?>
		</tr>
		</table>
	</td>
</tr>
<?php
$subscriptions = Subscription::GetSubscriptions(null, $editUser->getUserId(), array("ORDER BY" => array("Id" => "DESC")));
if (count($subscriptions) > 0) {
	$color=0;
	?>
	<TR class="table_list_header">
		<TD ALIGN="LEFT" VALIGN="TOP" nowrap><B><?php  putGS("Publication"); ?></B></TD>
		<TD ALIGN="LEFT" VALIGN="TOP" nowrap><B><?php  putGS("Left to pay"); ?></B></TD>
		<TD ALIGN="LEFT" VALIGN="TOP" nowrap><B><?php  putGS("Type"); ?></B></TD>
		<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="1%" ><B><?php  putGS("Active"); ?></B></TD>
		<TD ALIGN="LEFT" VALIGN="TOP" WIDTH="1%" ><B><?php  putGS("Delete"); ?></B></TD>
	</TR>
<?php
	foreach ($subscriptions as $subscription) {
		$publicationObj = new Publication($subscription->getPublicationId());
?>	<TR <?php  if ($color) { $color=0; ?>class="list_row_even"<?php  } else { $color=1; ?>class="list_row_odd"<?php  } ?>>
		<TD>
Ejemplo n.º 6
0
require_once($GLOBALS['g_campsiteDir']. '/classes/Subscription.php');
require_once($GLOBALS['g_campsiteDir']. '/classes/Publication.php');
require_once($GLOBALS['g_campsiteDir']."/db_connect.php");

$f_user_id = Input::Get('f_user_id', 'int', 0);
$f_subscription_offset = Input::Get('f_subscription_offset', 'int', 0, true);
if ($f_subscription_offset < 0) {
	$f_subscription_offset = 0;
}
$ItemsPerPage = 20;
$manageUser = new User($f_user_id);

$publications = Publication::GetPublications();
$numSubscriptions = Subscription::GetNumSubscriptions(null, $f_user_id);
$subscriptions = Subscription::GetSubscriptions(null, $f_user_id,
	array("ORDER BY" => array("Id" => "DESC"),
		  "LIMIT" => array("START" => $f_subscription_offset, "MAX_ROWS" => $ItemsPerPage)));

$crumbs = array();
$crumbs[] = array(getGS('Users'), '');
$crumbs[] = array(getGS('Subscribers'), "/$ADMIN/users/?uType=Subscribers");
$crumbs[] = array(getGS('Account') . " '".$manageUser->getUserName()."'",
			"/$ADMIN/users/edit.php?User=$f_user_id&uType=Subscribers");
$crumbs[] = array(getGS('Subscriptions'), "/$ADMIN/users/subscriptions/?f_user_id=$f_user_id");
echo camp_html_breadcrumbs($crumbs);

if (sizeof($publications) > $numSubscriptions) {
?>
<P>
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="1" class="action_buttons">
<TR>
Ejemplo n.º 7
0
<?php

require_once $GLOBALS['g_campsiteDir'] . "/{$ADMIN_DIR}/sections/section_common.php";
require_once $GLOBALS['g_campsiteDir'] . '/classes/Article.php';
if (!$g_user->hasPermission('DeleteSection')) {
    camp_html_display_error(getGS('You do not have the right to delete sections.'));
    exit;
}
$f_publication_id = Input::Get('Pub', 'int', 0);
$f_issue_number = Input::Get('Issue', 'int', 0);
$f_language_id = Input::Get('Language', 'int', 0);
$f_section_number = Input::Get('Section', 'int', 0);
$numArticles = count(Article::GetArticles($f_publication_id, $f_issue_number, $f_section_number, $f_language_id));
$numSubscriptions = count(Subscription::GetSubscriptions($f_publication_id));
$publicationObj = new Publication($f_publication_id);
$issueObj = new Issue($f_publication_id, $f_language_id, $f_issue_number);
$sectionObj = new Section($f_publication_id, $f_issue_number, $f_language_id, $f_section_number);
$sectionTranslations = Section::GetSections($f_publication_id, $f_issue_number, null, null, $sectionObj->getName(), null);
$topArray = array('Pub' => $publicationObj, 'Issue' => $issueObj, 'Section' => $sectionObj);
camp_html_content_top(getGS('Delete section'), $topArray);
?>
<P>
<FORM METHOD="POST" ACTION="/<?php 
echo $ADMIN;
?>
/sections/do_del.php">
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="8" class="message_box">
<?php 
echo SecurityToken::FormParameter();
?>
<TR>