rendered paste body<?
/*
*
* $Id: personal.php,v 1.7 2005/06/20 19:28:52 tleen Exp $
*
*/
// for pastbin only this is the reuire_once http.php file inline
// http.php
/*
*
* $Id: http.php,v 1.9 2005/06/16 17:17:22 tleen Exp $
*
* pass through to codefluent
*/
require_once 'includes/config.php';
require_once 'includes/user.php';
require_once "{$CODEFLUENT}http.php";
function make_hyperlink($text='',$args=0,$new_action=0,$invisible=0){
global $action,$print;
if(!$new_action) $new_action = $action;
if(user_has_permission($new_action)){
if(!$args) $args = array();
$args['action'] = $new_action;
return ($print ? $text : http_make_hyperlink($text,0,$args));
}else{
return ($invisible ? '' : $text);
}
}
function make_hyperimage($image,$args=0,$new_action=0,$invisible=0,$alt='',$extra=''){
return make_hyperlink("<img src=\"{$image}\" border=\"0\" alt=\"{$alt}\" {$extra} />",$args,$new_action,$invisible);
}
function make_reload($args = 0,$new_action = 0,$time=0){
global $action;
$returner = 0;
if(!$args) $args = array();
if(!$new_action) $new_action = $action;
$args['action'] = $new_action;
if(user_has_permission($new_action)) $returner = http_reload($args);
else debug("user not allowed to perform reload action [{$action}]");
return $returner;
}
// END OF HTTP.PHP FILE
// LOGIC.PHP FILE INLINE FOR PASTEBIN
/*
*
* $Id: logic.php,v 1.22 2006/02/22 18:43:15 tleen Exp $
*
* common business logic items here
*
*
*/
require_once 'includes/database.php';
require_once 'includes/debug.php';
require_once 'includes/image.php';
require_once 'includes/misc.php';
function logic_class_full($id){
$returner = 0;
$query = "select classes.size from classes where ({$id} = classes.id) limit 1";
$rows = db_query($query);
if($rows){
$limit = $rows[0][0];
$query = "select count(xref_credits_classes.id) from xref_credits_classes where ({$id} = xref_credits_classes.class_id)";
$rows = db_query($query);
$current = ($rows ? $rows[0][0] : 0);
$returner = ($current >= $limit);
}
debug("logic_class_full({$id}) ({$current}/{$limit}) [{$returner}]");
return $returner;
}
function logic_can_delete_receipt($id){
$query = "select credits.id from credits,receiptitems where ({$id} = receiptitems.receipt_id) and (receiptitems.id = credits.receiptitem_id) limit 1";
$rows = db_query($query);
$returner = ($rows ? 0 : 1);
debug("logic_can_delete_receipt($id) [{$returner}]");
return $returner;
}
function logic_delete_receipt($id){
$returner = 0;
if(logic_can_delete_receipt($id)){
$query = "delete from receiptitems where ({$id} = receipt_id)";
db_delete($query);
$query = "delete from receipts where ({$id} = id) limit 1";
$returner = db_delete($query);
}
return $returner;
}
function logic_can_delete_package($id){
$returner = !db_reference_exists('credits','package_id',$id);
debug("logic_can_delete_package({$id})[{$returner}]");
return $returner;
}
function logic_delete_package($id){
$returner = 0;
if(logic_can_delete_package($id)){
$query = "delete from packages where ({$id} = id) limit 1";
$returner = db_delete($query);
}
return $returner;
}
function logic_can_edit_package($id){
$returner = logic_can_delete_package($id);
debug("logic_can_edit_package({$id})[{$returner}]");
return $returner;
}
function logic_credits_used($id){
$returner = 0;
$query = "select count(id) from xref_credits_classes where ({$id} = credit_id)";
$rows = db_query($query);
$returner = $rows[0][0];
debug("logic_credits_used({$id}) [{$returner}]");
return $returner;
}
function logic_credits_available($id,$ignore_expiration=0){
$returner = 0;
$query = "select amount, ( (end > now()) or {$ignore_expiration}) from credits where ({$id} = id) limit 1";
$rows = db_query($query);
if($rows){
$credits_total = $rows[0][0];
$credits_used = logic_credits_used($id);
$returner = ($credits_total - $credits_used);
if($returner < 0) $returner = 0;
if(!$rows[0][1]) $returner = 0;
}
debug("logic_credits_available({$id}) [{$returner}]");
return $returner;
}
function logic_can_delete_credit($id){
$returner = !logic_credits_used($id);
debug("logic_can_delete_credit({$id})[{$returner}]");
return $returner;
}
function logic_delete_credit($id){
$returner = 0;
if(logic_can_delete_credit($id)){
$query = "delete from credits where ({$id} = id) limit 1";
$returner = db_delete($query);
}
return $returner;
}
function logic_can_delete_person($id){
$returner = !db_reference_exists(array('receipts','xref_persons_classes','credits'),'person_id',$id);
debug("logic_can_delete_person({$id})[{$returner}]");
return $returner;
}
function logic_delete_person($id){
if(logic_can_delete_person($id)){
// delete everything related
$query = "select id from users where (({$id} = person_id) limit 1";
$rows = db_query($query);
$user_id = $rows[0][0];
db_cascade_delete(array('users','addresses','phones','xref_persons_maillists'),'person_id',$id);
if($user_id) db_cascade_delete('accounting','user_id',$user_id);
image_delete_photo($id);
$returner = db_delete("delete from persons where ({$id} = id)");
}
debug("logic_delete_person({$id})[{$returner}]");
return $returner;
}
function logic_can_delete_course($id){
$returner = !db_reference_exists('offerings','course_id',$id);
debug("logic_can_delete_course({$id})[{$returner}]");
return $returner;
}
function logic_delete_course($id){
if(logic_can_delete_course($id)) $returner = db_delete("delete from courses where ({$id} = id) limit 1");
if($returner) db_cascade_delete('xref_topics_courses','user_id',$user_id);
debug("logic_delete_course({$id}) [{$returner}]");
return $returner;
}
function logic_can_delete_offering($id){
$returner = !db_reference_exists('classes','offering_id',$id);
debug("logic_can_delete_offering({$id})[{$returner}]");
return $returner;
}
function logic_delete_offering($id){
if(logic_can_delete_offering($id)) $returner = db_delete("delete from offerings where ({$id} = id) limit 1");
debug("logic_delete_offering({$id}) [{$returner}]");
return $returner;
}
function logic_can_delete_instructor($id){
$returner = !db_reference_exists('offerings','instructor_id',$id);
$person_id = misc_instructor_id_to_person_id($id);
$returner = ($returner && logic_can_delete_person($person_id));
debug("logic_can_delete_instructor({$id})[{$returner}]");
return $returner;
}
function logic_delete_instructor($id){
$person_id = misc_instructor_id_to_person_id($id);
if(logic_can_delete_instructor($id)) $returner = db_delete("delete from instructors where ({$id} = id) limit 1");
// try to delete person too, if possible
logic_delete_person($person_id);
debug("logic_delete_instructor({$id}) [{$returner}]");
return $returner;
}
function logic_can_delete_class($id){
$returner = !db_reference_exists('xref_credits_classes','class_id',$id);
debug("logic_can_delete_class({$id})[{$returner}]");
return $returner;
}
function logic_can_cancel_class($id){
$returner = logic_can_delete_class($id);
debug("logic_can_cancel_class({$id})[{$returner}]");
return $returner;
}
function logic_delete_class($id){
$returner = 0;
if(logic_can_delete_class($id)) $returner = db_delete("delete from classes where ({$id} = id) limit 1");
debug("logic_delete_class({$id}) [{$returner}]");
return $returner;
}
function logic_type_to_default_course($type_id){
global $TYPE_ID_TO_COURSE_ID;
$returner = $TYPE_ID_TO_COURSE_ID[$type_id];
debug("logic_type_to_default_course({$type_id}) [{$returner}]");
return $returner;
}
function logic_type_to_default_size($type_id){
$query = "select max from types where ({$type_id} = id) limit 1";
$rows = db_query($query);
$returner = $rows[0][0];
debug("logic_type_to_default_size({$type_id}) [{$returner}]");
return $returner;
}
function logic_can_view_task($id){
global $USER_PERSON_ID;
$user_person_id = user_get($USER_PERSON_ID);
$query = "select tasks.id from tasks,instructors,users where ({$id} = tasks.id) and (tasks.instructor_id = instructors.id) and (instructors.person_id in (1,{$user_person_id}))";
$returner = ( user_is_manager() || db_query($query));
debug("logic_can_view_task({$id}) [{$returner}]");
return $returner;
}
// END OF LOGIC.PHP INLINE FILE
require_once 'includes/supercalendar.php';
$TYPE_ID = 2;
$DELETE_PERSONAL_CLASS = 9091;
switch($sub_action){
case $DELETE_PERSONAL_CLASS:
if(!logic_delete_class($id)) error_set('Unable to delete class');
break;
default:
break;
}
function format_personal_delete($event,$view){
global $DELETE_PERSONAL_CLASS,$IMAGE_DELETE,$SUPERCALENDAR_VIEW_WEEK,$supercalendar_time,$supercalendar_view;
$id = $event[3];
return (logic_can_delete_class($id) ? make_hyperimage($IMAGE_DELETE,array('sub_action' => $DELETE_PERSONAL_CLASS,'id' => $id,'supercalendar_time' => $supercalendar_time,'supercalendar_view' => $supercalendar_view),0,1,"Delete Class #{$id}") : image_invisible(12,12));
}
$CLASS_SCHEDULE_EXTRA_FORMATTER = format_personal_delete;
$cal_type_id = $TYPE_ID;
$default_view = $SUPERCALENDAR_VIEW_DAY;
include_once 'components/class.schedule.php';
$SHOW_SUPERTABLE = 0;
include_once 'components/classes.php';