All pastes #984103 Raw Edit

Page Will Not Refresh after fro

public text v1 · immutable
·published 2008-04-13 22:46 UTC
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';