コード例 #1
0
ファイル: utils.php プロジェクト: veltzer/myworld-php
function val_or_na($val)
{
    if ($val == NULL) {
        return get_na_string();
    } else {
        return $val;
    }
}
コード例 #2
0
ファイル: works.php プロジェクト: veltzer/myworld-php
function create_works($params)
{
    // debugging aid that was removed...
    //error_log(var_export($params,true),0);
    // TODO: throw error if type param does not exist
    $type = $params['type'];
    if (array_key_exists('limit', $params)) {
        $limit = $params['limit'];
    } else {
        $limit = 100000;
        // limitless
    }
    if (array_key_exists('order', $params)) {
        $limit = $params['order'];
    } else {
        $order = 'DESC';
    }
    $res = '';
    // collecting other table data ...
    $honorifics = my_mysql_query_hash('SELECT * FROM TbIdHonorific', 'id');
    $contrib = my_mysql_query_hash('SELECT * FROM TbWkWorkContrib', 'id');
    $types = my_mysql_query_hash('SELECT * FROM TbWkWorkType', 'id');
    $locations = my_mysql_query_hash('SELECT * FROM TbLocation', 'id');
    $devices = my_mysql_query_hash('SELECT * FROM TbDevice', 'id');
    $languages = my_mysql_query_hash('SELECT * FROM TbLanguage', 'id');
    $persons = my_mysql_query_hash('SELECT * FROM TbIdPerson', 'id');
    $personexternal = my_mysql_query_hash('SELECT * FROM TbIdPersonExternal', 'id');
    $organizations = my_mysql_query_hash('SELECT * FROM TbOrganization', 'id');
    $external = my_mysql_query_hash('SELECT * FROM TbExternalType', 'id');
    $workexternal = my_mysql_query_hash('SELECT * FROM TbWkWorkExternal', 'id');
    $contribtype = my_mysql_query_hash('SELECT * FROM TbWkWorkContribType', 'id');
    #$works=my_mysql_query_hash('SELECT * FROM TbWkWork','id');
    # create a hash table of lists of contributors
    $work_contrib = array();
    $role_contrib = array();
    $work_contrib_org = array();
    $role_contrib_org = array();
    foreach ($contrib as $id => $row) {
        $workId = $row['workId'];
        $personId = $row['personId'];
        $organizationId = $row['organizationId'];
        $typeId = $row['typeId'];
        if ($personId != NULL) {
            if (!isset($work_contrib[$workId])) {
                $work_contrib[$workId] = array();
                $role_contrib[$workId] = array();
            }
            $work_contrib[$workId][] = $personId;
            $role_contrib[$workId][] = $typeId;
        }
        if ($organizationId != NULL) {
            if (!isset($work_contrib_org[$workId])) {
                $work_contrib_org[$workId] = array();
                $role_contrib_org[$workId] = array();
            }
            $work_contrib_org[$workId][] = $organizationId;
            $role_contrib_org[$workId][] = $typeId;
        }
    }
    # create a hash table of external ids for works
    $workexternal_externalid = array();
    $workexternal_externalcode = array();
    foreach ($workexternal as $id => $row) {
        $workId = $row['workId'];
        $externalId = $row['externalId'];
        $externalCode = $row['externalCode'];
        $workexternal_externalid[$workId][] = $externalId;
        $workexternal_externalcode[$workId][] = $externalCode;
    }
    # create a hash table of external ids for people
    $personexternal_externalid = array();
    $personexternal_externalcode = array();
    # create an empty entry for every person
    foreach ($persons as $id => $row) {
        $personexternal_externalid[$id] = array();
        $personexternal_externalcode[$id] = array();
    }
    # fill with external ids
    foreach ($personexternal as $id => $row) {
        $personId = $row['personId'];
        $externalId = $row['externalId'];
        $externalCode = $row['externalCode'];
        $personexternal_externalid[$personId][] = $externalId;
        $personexternal_externalcode[$personId][] = $externalCode;
    }
    // sending query
    switch ($type) {
        case 'audio':
            $add = 'TbWkWorkType.isAudio=1';
            break;
        case 'video':
            $add = 'TbWkWorkType.isVideo=1';
            break;
        case 'text':
            $add = 'TbWkWorkType.isText=1';
            break;
        default:
            $add = 'TbWkWorkType.name=\'' . $type . '\'';
            break;
    }
    #$query=sprintf('SELECT TbWkWork.id,TbWkWork.name,TbWkWork.length,TbWkWork.size,TbWkWork.chapters,TbWkWork.typeId,TbWkWork.languageId,TbWkWorkView.startViewDate,TbWkWorkView.endViewDate,TbWkWorkViewPerson.viewerId,TbWkWorkView.locationId,TbWkWorkView.deviceId,TbWkWorkView.langId,TbWkWorkReview.ratingId,TbWkWorkReview.review,TbWkWorkReview.reviewDate FROM TbWkWorkViewPerson,TbWkWork,TbWkWorkType,TbWkWorkReview,TbWkWorkView WHERE TbWkWork.typeId=TbWkWorkType.id AND TbWkWorkViewPerson.viewId=TbWkWorkView.id AND TbWkWorkReview.workId=TbWkWork.id AND TbWkWorkView.workId=TbWkWork.id AND %s ORDER BY TbWkWorkView.endViewDate %s LIMIT %s',$add,$order,$limit);
    $query = sprintf('SELECT TbWkWork.id,TbWkWork.name,TbWkWork.length,TbWkWork.size,TbWkWork.chapters,TbWkWork.typeId,TbWkWork.languageId,TbWkWorkView.startViewDate,TbWkWorkView.endViewDate,TbWkWorkViewPerson.viewerId,TbWkWorkView.locationId,TbWkWorkView.deviceId,TbWkWorkView.langId,TbWkWorkReview.ratingId,TbWkWorkReview.review,TbWkWorkReview.reviewDate FROM TbWkWorkViewPerson,TbWkWorkType,TbWkWork LEFT JOIN TbWkWorkView ON TbWkWorkView.workId=TbWkWork.id LEFT JOIN TbWkWorkReview ON TbWkWorkReview.workId=TbWkWork.id WHERE TbWkWork.typeId=TbWkWorkType.id AND TbWkWorkViewPerson.viewId=TbWkWorkView.id AND %s ORDER BY TbWkWorkView.endViewDate %s LIMIT %s', $add, $order, $limit);
    $result = my_mysql_query($query);
    $res .= multi_accordion_start();
    $body = '';
    // printing table rows
    $currid = NULL;
    while ($row = $result->fetch_assoc()) {
        // finish the previous entry if that is the case
        if ($currid != $row['id']) {
            if ($currid != NULL) {
                $body .= '</ul>';
                $res .= multi_accordion_entry($header, $body);
            }
        }
        if ($row['typeId'] != NULL) {
            $s_type = $types[$row['typeId']]['name'];
        } else {
            $s_type = get_na_string();
        }
        if ($row['languageId'] != NULL) {
            $s_language = $languages[$row['languageId']]['name'];
        } else {
            $s_language = get_na_string();
        }
        if ($row['locationId'] != NULL) {
            $s_location = $locations[$row['locationId']]['name'];
        } else {
            $s_location = get_na_string();
        }
        if ($row['deviceId'] != NULL) {
            $s_device = $devices[$row['deviceId']]['name'];
        } else {
            $s_device = get_na_string();
        }
        if ($row['langId'] != NULL) {
            $s_lang = $languages[$row['langId']]['name'];
        } else {
            $s_lang = get_na_string();
        }
        if ($row['viewerId'] != NULL) {
            $s_viewer = get_full_name($persons[$row['viewerId']], $honorifics);
        } else {
            $s_viewer = get_na_string();
        }
        if ($row['size'] != NULL) {
            $s_size = formatSize($row['size']);
        }
        if ($row['length'] != NULL) {
            $s_length = formatTimeperiod($row['length']);
        }
        if ($row['name'] != NULL) {
            $header = $row['name'];
        } else {
            $header = 'No Name';
        }
        # append contributors to the header...(do not include organizations)
        if (isset($work_contrib[$row['id']])) {
            $cont_array = array();
            foreach ($work_contrib[$row['id']] as $personId) {
                $cont_array[] = get_full_name($persons[$personId], $honorifics);
            }
            if (count($cont_array) > 0) {
                $header .= ' / ' . join($cont_array, ', ');
            }
        }
        if ($currid != $row['id']) {
            $currid = $row['id'];
            $body = '';
            $body .= '<ul>';
            if ($row['id'] != NULL) {
                $body .= '<li>id: ' . $row['id'] . '</li>';
            }
            if ($row['name'] != NULL) {
                $body .= '<li>name: ' . $row['name'] . '</li>';
            }
            if ($row['length'] != NULL) {
                $body .= '<li>length: ' . $s_length . '</li>';
            }
            if ($row['size'] != NULL) {
                $body .= '<li>size: ' . $s_size . '</li>';
            }
            if ($row['chapters'] != NULL) {
                $body .= '<li>chapters: ' . $row['chapters'] . '</li>';
            }
            if ($row['typeId'] != NULL) {
                $body .= '<li>type: ' . $s_type . '</li>';
            }
            if ($row['languageId'] != NULL) {
                $body .= '<li>language: ' . $s_language . '</li>';
            }
            # contributor stuff
            if (isset($work_contrib[$row['id']])) {
                $j = 0;
                foreach ($work_contrib[$row['id']] as $personId) {
                    $name = get_full_name($persons[$personId], $honorifics);
                    $roleid = $role_contrib[$row['id']][$j];
                    $role_name = $contribtype[$roleid]['name'];
                    $body .= '<li>' . $role_name . ': ' . $name;
                    $j++;
                    $e = 0;
                    foreach ($personexternal_externalid[$personId] as $externalid) {
                        $externalcode = $personexternal_externalcode[$personId][$e];
                        $externalname = $external[$externalid]['name'];
                        $externalidname = $external[$externalid]['idname'];
                        $link = get_external_href($externalname, $externalcode);
                        $link = '<a href=\'' . $link . '\'>' . $externalidname . ': ' . $externalcode . '</a>';
                        $body .= ' ' . $link;
                        $e++;
                    }
                    $body .= '</li>';
                }
            }
            if (isset($work_contrib_org[$row['id']])) {
                $j = 0;
                foreach ($work_contrib_org[$row['id']] as $organizationId) {
                    $name = $organizations[$organizationId]['name'];
                    $url = $organizations[$organizationId]['url'];
                    $roleid = $role_contrib_org[$row['id']][$j];
                    $role_name = $contribtype[$roleid]['name'];
                    $body .= '<li>' . $role_name . ': ' . '<a href=\'' . $url . '\'>' . $name . '</a></li>';
                    $j++;
                }
            }
            # external stuff
            $j = 0;
            if (isset($workexternal_externalid[$row['id']])) {
                foreach ($workexternal_externalid[$row['id']] as $externalid) {
                    $externalcode = $workexternal_externalcode[$row['id']][$j];
                    $externalname = $external[$externalid]['name'];
                    $externalidname = $external[$externalid]['idname'];
                    $link = get_external_href($externalname, $externalcode);
                    $link = '<a href=\'' . $link . '\'>' . $externalidname . ': ' . $externalcode . '</a>';
                    $body .= '<li>' . $link . '</li>';
                    $j++;
                }
            }
        }
        # view stuff
        if ($row['startViewDate'] != NULL) {
            $body .= '<li>start view date: ' . $row['startViewDate'] . '</li>';
        }
        if ($row['endViewDate'] != NULL) {
            $body .= '<li>end view date: ' . $row['endViewDate'] . '</li>';
        }
        if ($row['viewerId'] != NULL) {
            $body .= '<li>viewer: ' . $s_viewer . '</li>';
        }
        if ($row['locationId'] != NULL) {
            $body .= '<li>location: ' . $s_location . '</li>';
        }
        if ($row['deviceId'] != NULL) {
            $body .= '<li>device: ' . $s_device . '</li>';
        }
        if ($row['langId'] != NULL) {
            $body .= '<li>lang: ' . $s_lang . '</li>';
        }
        # review stuff
        if ($row['ratingId'] != NULL) {
            $body .= '<li>rating: ' . $row['ratingId'] . '</li>';
        }
        if ($row['review'] != NULL) {
            $body .= '<li>review: ' . $row['review'] . '</li>';
        }
        if ($row['reviewDate'] != NULL) {
            $body .= '<li>review date: ' . $row['reviewDate'] . '</li>';
        }
    }
    if ($currid != NULL) {
        $body .= '</ul>';
        $res .= multi_accordion_entry($header, $body);
    }
    my_mysql_free_result($result);
    $res .= multi_accordion_end();
    return $res;
}
コード例 #3
0
ファイル: business.php プロジェクト: veltzer/myworld-php
function create_teaching($params)
{
    $res = '';
    // sending query
    $query = sprintf('SELECT id,name,slug,imageId,remark,url FROM TbOrganization where funcTeaching order by name asc');
    $result = my_mysql_query($query);
    $res .= get_start_table();
    $res .= '<tr>';
    $res .= '<td style=\'width:20%\'>name</td>';
    $res .= '<td style=\'width:80%\'>remark</td>';
    $res .= '<td style=\'width:20%\'>image</td>';
    $res .= '</tr>';
    while ($row = $result->fetch_assoc()) {
        $id = $row['id'];
        $name = $row['name'];
        $slug = $row['slug'];
        $remark = $row['remark'];
        $imageId = $row['imageId'];
        $link_img = link_to_direct('GetBlob.php?table=TbImage&select_field=id&select_id=' . $imageId . '&data_field=smallData&name_field=slug&mime_field=smallMime');
        $url = $row['url'];
        if ($url != NULL) {
            $name = '<a href=\'' . $url . '\'>' . $name . '</a>';
        }
        if ($remark == NULL) {
            $remark = get_na_string();
        }
        $res .= '</tr>';
        $res .= '<td>' . $name . '</td>';
        $res .= '<td>' . $remark . '</td>';
        $res .= '<td><img src=\'' . $link_img . '\'/></td>';
        $res .= '</tr>';
    }
    $result->free();
    $res .= '</table>';
    return $res;
}