course_uc.classes.inc in Course 6
File
modules/course_uc/course_uc.classes.inc
View source
<?php
class CourseObjectUbercart extends CourseObjectNode {
public function hasPolling() {
return TRUE;
}
function getTakeType() {
return 'content';
}
function take() {
if ($this
->getFulfillment()
->isComplete()) {
return "You've already purchased this activity.";
}
else {
$atc = drupal_get_form('uc_product_add_to_cart_form', $this->node);
if (!$atc) {
return "Something isn't right...";
}
else {
return $atc;
}
}
}
public function optionsForm(&$form, &$form_state) {
parent::optionsForm($form, $form_state);
$form['node']['instance']['#title'] = t('Product to check');
$form['node']['instance']['#description'] .= '</br>' . t('Use an existing ubercart-enabled product for checking payment. Defaults to this course.');
}
public function optionsSubmit(&$form, &$form_state) {
if (!$form_state['values']['instance']) {
$form_state['values']['instance'] = $this
->getCourseNid();
}
parent::optionsSubmit($form, $form_state);
}
public function create() {
if (!$this
->getInstanceId()) {
$this
->setOption('instance', $this
->getCourseNid());
}
}
function getNodeTypes() {
return uc_product_types();
}
function getCloneAbility() {
return TRUE;
}
function thaw($ice) {
return $this
->getCourseNid();
}
}