☆スキーウエアNOW ON SALE!!☆★2ピース上下スーツ★ 【エァウォーク】幼児用ウエアAWT‐5524 ピンク(桃色)サイズ:100・110・120
沖縄産スナックパイン1玉(500g〜800g) N−95D23L/C3 technorati RobotReplay 2004/09/30から 今日: 昨日: 最近のツッコミ10発 |
2007-03-01 [長年日記]_ [dotProject][Know-How][OpenSource][Software] dotProject ガントチャート日本語表示環境
okkezのPukiWiki 日記/2005-09-18を参考に以下のファイルを修正。
modules/projects/gantt.php $ diff -u dotproject/modules/tasks/gantt.php.org dotproject/modules/tasks/gantt.php --- dotproject/modules/projects/gantt.php.org 2007-02-28 20:51:50.000000000 +0900 +++ dotproject/modules/projects/gantt.php 2007-02-28 21:00:41.000000000 +0900 @@ -72,22 +72,25 @@ $graph->SetFrame(false); $graph->SetBox(true, array(0,0,0), 2); +$graph->scale->day->SetFont(FF_GOTHIC,FS_NORMAL); $graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY); -/*$jpLocale = dPgetConfig( 'jpLocale' ); +$graph->scale->week->SetFont(FF_GOTHIC,FS_NORMAL); +$graph->scale->month->SetFont(FF_GOTHIC,FS_NORMAL); +/* +$jpLocale = dPgetConfig( 'jpLocale' ); if ($jpLocale) { $graph->scale->SetDateLocale( $jpLocale ); } -** the jpgraph date locale is now set -** automatically by the user's locale settings */ -$graph->scale->SetDateLocale( $AppUI->user_lang[0] ); +$graph->scale->SetDateLocale( $AppUI->jpLocale ); if ($start_date && $end_date) { $graph->SetDateRange( $start_date, $end_date ); } //$graph->scale->actinfo->SetFont(FF_ARIAL); +$graph->scale->actinfo->SetFont(FF_GOTHIC); $graph->scale->actinfo->vgrid->SetColor('gray'); $graph->scale->actinfo->SetColor('darkgray'); $graph->scale->actinfo->SetColTitles(array( $AppUI->_('Project name', UI_OUTPUT_RAW), $AppUI->_('Start Date', UI_OUTPUT_RAW), $AppUI->_('Finish', UI_OUTPUT_RAW), $AppUI->_('Actual End', UI_OUTPUT_RAW)),array(160,10, 70,70)); @@ -98,8 +101,8 @@ // Use TTF font if it exists // try commenting out the following two lines if gantt charts do not display -if (is_file( TTF_DIR."arialbd.ttf" )) - $graph->scale->tableTitle->SetFont(FF_ARIAL,FS_BOLD,12); +if (is_file( MBTTF_DIR."ipag.ttf" )) + $graph->scale->tableTitle->SetFont(FF_GOTHIC,FS_NORMAL,12); $graph->scale->SetTableTitleBackground("#eeeeee"); $graph->scale->tableTitle->Show(true); @@ -156,7 +159,9 @@ if (!is_array($projects) || sizeof($projects) == 0) { $d = new CDate(); $bar = new GanttBar($row++, array(' '.$AppUI->_('No projects found'), ' ', ' ', ' '), $d->getDate(), $d->getDate(), ' ', 0.6); + //$bar->scale->SetDateLocale("ja_JP"); $bar->title->SetCOlor('red'); + $bar->title->SetFont(FF_GOTHIC,FS_NORMAL); $graph->Add($bar); } @@ -164,11 +169,11 @@ foreach($projects as $p) { if ( $locale_char_set=='utf-8' && function_exists("utf8_decode") ) { - $name = strlen( utf8_decode($p["project_name"]) ) > 25 ? dpSubStr( utf8_decode($p["project_name"]), 0, 22 ).'...' : utf8_decode($p["project_name"]) ; + $name = strlen( utf8_decode($p["project_name"]) ) > 25 ? substr( utf8_decode($p["project_name"]), 0, 22 ).'...' : utf8_decode($p["project_name"]) ; } else { //while using charset different than UTF-8 we need not to use utf8_deocde $name = strlen( $p["project_name"] ) > 25 ? dpSubStr( $p["project_name"], 0, 22 ).'...' : $p["project_name"] ; - } + //} //using new jpGraph determines using Date object instead of string $start = ($p["project_start_date"] > "0000-00-00 00:00:00") ? $p["project_start_date"] : date("Y-m-d H:i:s"); @@ -209,21 +214,24 @@ $actual_enddate = new CDate($actual_end); $actual_enddate = $actual_enddate->after($startdate) ? $actual_enddate : $enddate; $bar = new GanttBar($row++, array($name, $startdate->format($df), $enddate->format($df), $actual_enddate->format($df)), $start, $actual_end, $cap, 0.6); + //$bar->scale->SetDateLocale("ja_JP"); $bar->progress->Set(min(($progress/100), 1)); - $bar->title->SetFont(FF_FONT1,FS_NORMAL,10); + $bar->title->SetFont(FF_GOTHIC,FS_NORMAL,10); $bar->SetFillColor("#".$p['project_color_identifier']); $bar->SetPattern(BAND_SOLID,"#".$p['project_color_identifier']); //adding captions $bar->caption = new TextProperty($caption); $bar->caption->Align("left","center"); + $bar->caption->SetFont(FF_GOTHIC, FS_NORMAL); // gray out templates, completes, on ice, on hold if ($p['project_status'] != '3' || $p['project_status'] == '7') { $bar->caption->SetColor('darkgray'); $bar->title->SetColor('darkgray'); $bar->SetColor('darkgray'); + $bar->title->SetFont(FF_GOTHIC,FS_NORMAL); $bar->SetFillColor('gray'); //$bar->SetPattern(BAND_SOLID,'gray'); $bar->progress->SetFillColor('darkgray'); @@ -262,6 +270,7 @@ $bar2 = new GanttBar($row++, array(dpSubStr(" --".$t["task_name"], 0, 20)."...", $tStartObj->format($df), $tEndObj->format($df), ' '), $tStart, $tEnd, ' ', $t['task_dynamic'] == 1 ? 0.1 : 0.6); $bar2->title->SetColor( bestColor( '#ffffff', '#'.$p['project_color_identifier'], '#000000' ) ); + $bar2->title->SetFont(FF_GOTHIC,FS_NORMAL); $bar2->SetFillColor("#".$p['project_color_identifier']); $graph->Add($bar2); } @@ -288,6 +297,7 @@ $bar3 = new GanttBar($row++, array(" * ".$w["user_username"], " ", " "," "), "0", "0;", 0.6); $bar3->title->SetColor(bestColor( '#ffffff', '#'.$p['project_color_identifier'], '#000000' )); + $bar3->title->SetFont(FF_GOTHIC,FS_NORMAL); $bar3->SetFillColor("#".$p['project_color_identifier']); $graph->Add($bar3); } @@ -301,6 +311,9 @@ $today = date("y-m-d"); $vline = new GanttVLine($today, $AppUI->_('Today', UI_OUTPUT_RAW)); +if(is_file(MBTTF_DIR."ipag.ttf")) { + $vline->title->SetFont(FF_GOTHIC,FS_NORMAL); +} $graph->Add($vline); $graph->Stroke(); ?>modules/projects/gantt2.php $ diff -u dotproject/modules/projects/gantt2.php.org dotproject/modules/projects/gantt2.php --- dotproject/modules/projects/gantt2.php.org 2007-02-28 21:00:54.000000000 +0900 +++ dotproject/modules/projects/gantt2.php 2007-02-28 21:03:45.000000000 +0900 @@ -82,16 +82,19 @@ $graph2->SetBox(true, array(0,0,0), 2); $graph2->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY); +/* $jpLocale = dPgetConfig( 'jpLocale' ); if ($jpLocale) { $graph2->scale->SetDateLocale( $jpLocale ); } +*/ +$graph->scale->SetDateLocale( $AppUI->jpLocale ); if ($start_date && $end_date) { $graph2->SetDateRange( $start_date, $end_date ); } -//$graph2->scale->actinfo->SetFont(FF_ARIAL); +$graph2->scale->actinfo->SetFont(FF_GOTHIC); $graph2->scale->actinfo->vgrid->SetColor('gray'); $graph2->scale->actinfo->SetColor('darkgray'); $graph2->scale->actinfo->SetColTitles(array( $AppUI->_('User Name', UI_OUTPUT_RAW), $AppUI->_('Start Date', UI_OUTPUT_RAW), $AppUI->_('Finish', UI_OUTPUT_RAW), $AppUI->_(' ')),array(160,10, 70,70)); @@ -102,8 +105,8 @@ // Use TTF font if it exists // try commenting out the following two lines if gantt charts do not display -if (is_file( TTF_DIR."arialbd.ttf" )) - $graph2->scale->tableTitle->SetFont(FF_ARIAL,FS_BOLD,12); +if (is_file( MBTTF_DIR."ipag.ttf" )) + $graph2->scale->tableTitle->SetFont(FF_GOTHIC,FS_NORMAL,12); $graph2->scale->SetTableTitleBackground("#eeeeee"); $graph2->scale->tableTitle->Show(true); @@ -176,7 +179,7 @@ $barTmp = new GanttBar($row++, array($t["user_name"], "", ""," "), "0", "0;" , 0.6); $barTmp->title->SetColor("#".$t['project_color_identifier']); $barTmp->SetFillColor("#".$t['project_color_identifier']); - $barTmp->title ->SetFont(FF_FONT1, FF_BOLD); + $barTmp->title ->SetFont(FF_GOTHIC, FS_NORMAL); $graph2->Add($barTmp); } @@ -232,19 +235,20 @@ $startdate = new CDate($start); $bar = new GanttBar($row++, array($name, $startdate->format($df), $enddate->format($df), /*substr($actual_end, 0, 10))*/" "), $start, $actual_end, $cap, $t['task_dynamic'] == 1 ? 0.1 : 0.6); // $bar->progress->Set($progress/100); - $bar->title->SetFont(FF_FONT1,FS_NORMAL,10); + $bar->title->SetFont(FF_GOTHIC,FS_NORMAL,10); $bar->SetFillColor("#".$t['project_color_identifier']); $bar->SetPattern(BAND_SOLID,"#".$t['project_color_identifier']); //adding captions $bar->caption = new TextProperty($caption); $bar->caption->Align("left","center"); - + $bar->caption->SetFont(FF_GOTHIC, FS_NORMAL); } else { $bar = new MileStone ($row++, $name, $start, (substr($start, 0, 10))); $bar->title->SetColor("#CC0000"); + $bar->title->SetFont(FF_GOTHIC,FS_NORMAL); } @@ -258,4 +262,4 @@ $vline = new GanttVLine($today, $AppUI->_('Today', UI_OUTPUT_RAW)); $graph->Add($vline); $graph2->Stroke(); ?>modules/tasks/gantt.php $ diff -u dotproject/modules/tasks/gantt.php.org dotproject/modules/tasks/gantt.php --- dotproject/modules/tasks/gantt.php.org 2007-02-28 21:04:10.000000000 +0900 +++ dotproject/modules/tasks/gantt.php 2007-03-01 13:04:35.000000000 +0900 @@ -181,14 +181,17 @@ $graph->SetBox(true, array(0,0,0), 2); $graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY); //$graph->scale->day->SetStyle(DAYSTYLE_SHORTDATE2); +$graph->scale->day->SetFont(FF_GOTHIC,FS_NORMAL); +$graph->scale->week->SetFont(FF_GOTHIC,FS_NORMAL); +$graph->scale->month->SetFont(FF_GOTHIC,FS_NORMAL); $graph->scale->SetDateLocale( $AppUI->user_lang[0] ); if ($start_date && $end_date) { $graph->SetDateRange( $start_date, $end_date ); } -if (is_file( TTF_DIR.'arialbd.ttf' )){ - $graph->scale->actinfo->SetFont(FF_ARIAL); +if (is_file( MBTTF_DIR."ipag.ttf" )){ + $graph->scale->actinfo->SetFont(FF_GOTHIC); } $graph->scale->actinfo->vgrid->SetColor('gray'); $graph->scale->actinfo->SetColor('darkgray'); @@ -211,8 +214,8 @@ // Use TTF font if it exists // try commenting out the following two lines if gantt charts do not display -if (is_file( TTF_DIR.'arialbd.ttf' )) - $graph->scale->tableTitle->SetFont(FF_ARIAL,FS_BOLD,12); +if (is_file( MBTTF_DIR."ipag.ttf" )) + $graph->scale->tableTitle->SetFont(FF_GOTHIC,FS_NORMAL,12); $graph->scale->SetTableTitleBackground('#'.$projects[$project_id]['project_color_identifier']); $graph->scale->tableTitle->Show(true); @@ -325,9 +328,9 @@ if($hide_task_groups) $level = 0; $name = $a['task_name']; - if ( $locale_char_set=='utf-8' && function_exists('utf8_decode') ) { - $name = utf8_decode($name); - } + //if ( $locale_char_set=='utf-8' && function_exists("utf8_decode") ) { + //$name = utf8_decode($name); + //} $name = strlen( $name ) > 34 ? dpSubStr( $name, 0, 33 ).'.' : $name ; $name = str_repeat(' ', $level).$name; $name = str_repeat(' ', $level).$name; @@ -403,7 +406,7 @@ $bar = new MileStone ($row++,array($name, $pname, '', dpSubStr($s, 0, 10), dpSubStr($s, 0, 10)) , $a['task_start_date'], $s); else $bar = new MileStone ($row++,array($na me, '', dpSubStr($s, 0, 10), dpSubStr($s, 0, 10)) , $a['task_start_date'], $s); - $bar->title->SetFont(FF_ARIAL,FS_NORMAL,8); + $bar->title->SetFont(FF_GOTHIC,FS_NORMAL, 8); //caption of milestone should be date if ($showLabels=='1') { $caption = $start->format($df); @@ -460,31 +463,32 @@ else $bar = new GanttBar($row++, array($name, $dur, $startdate->format($df), $enddate->format($df)), dpSubStr($start, 2, 8), dpSubStr($end, 2, 8), $cap, $a['task_dynamic'] == 1 ? 0.1 : 0.6); $bar->progress->Set(min(($progress/100),1)); - if (is_file( TTF_DIR.'arialbd.ttf' )) { - $bar->title->SetFont(FF_ARIAL,FS_NORMAL,8); + if (is_file( MBTTF_DIR."ipag.ttf" )) { + $bar->title->SetFont(FF_GOTHIC,FS_NORMAL,8); } if($a['task_dynamic'] == 1){ - if (is_file( TTF_DIR.'arialbd.ttf' )){ - $bar->title->SetFont(FF_ARIAL,FS_BOLD, 8); + if (is_file( MBTTF_DIR."ipag.ttf" )){ + $bar->title->SetFont(FF_GOTHIC,FS_NORMAL, 8); } - $bar->rightMark->Show(); - $bar->rightMark->SetType(MARK_RIGHTTRIANGLE); - $bar->rightMark->SetWidth(3); - $bar->rightMark->SetColor('black'); - $bar->rightMark->SetFillColor('black'); - - $bar->leftMark->Show(); - $bar->leftMark->SetType(MARK_LEFTTRIANGLE); - $bar->leftMark->SetWidth(3); - $bar->leftMark->SetColor('black'); - $bar->leftMark->SetFillColor('black'); + $bar->rightMark->Show(); + $bar->rightMark->SetType(MARK_RIGHTTRIANGLE); + $bar->rightMark->SetWidth(3); + $bar->rightMark->SetColor('black'); + $bar->rightMark->SetFillColor('black'); + + $bar->leftMark->Show(); + $bar->leftMark->SetType(MARK_LEFTTRIANGLE); + $bar->leftMark->SetWidth(3); + $bar->leftMark->SetColor('black'); + $bar->leftMark->SetFillColor('black'); - $bar->SetPattern(BAND_SOLID,'black'); + $bar->SetPattern(BAND_SOLID,'black'); } } //adding captions $bar->caption = new TextProperty($caption); $bar->caption->Align('left','center'); + $bar->caption->SetFont(FF_GOTHIC,FS_NORMAL); // show tasks which are both finished and past in (dark)gray if ($progress >= 100 && $end_date->isPast() && get_class($bar) == 'ganttbar') { @@ -515,8 +519,8 @@ } $today = date('y-m-d'); $vline = new GanttVLine($today, $AppUI->_('Today', UI_OUTPUT_RAW)); -if (is_file( TTF_DIR.'arialbd.ttf' )) { - $vline->title->SetFont(FF_ARIAL,FS_BOLD,10); +if (is_file( MBTTF_DIR."ipag.ttf" )) { + $vline->title->SetFont(FF_GOTHIC,FS_NORMAL,12); } $graph->Add($vline); $graph->Stroke();が、エラー $ grep -rnl '/usr/share/fonts/ja/TrueType/' dotproject/* dotproject/lib/jpgraph/src/jpg-config.inclib/jpgraph/src/jpg-config.inc を修正 $ diff -u dotproject/lib/jpgraph/src/jpg-config.inc.org dotproject/lib/jpgraph/src/jpg-config.inc --- dotproject/lib/jpgraph/src/jpg-config.inc.org 2007-03-01 12:54:34.000000000 +0900 +++ dotproject/lib/jpgraph/src/jpg-config.inc 2007-03-01 12:52:48.000000000 +0900 @@ -40,7 +40,7 @@ // DEFINE("CACHE_DIR","/tmp/jpgraph_cache/"); // DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/"); // DEFINE("MBTTF_DIR","/usr/share/fonts/ja/TrueType/"); -DEFINE("MBTTF_DIR","/usr/share/fonts/ja/TrueType/"); +DEFINE("MBTTF_DIR","/var/lib/defoma/gs.d/dirs/fonts/"); //------------------------------------------------------------------------- // Cache directory specification for use with CSIM graphs that are今度は、タスクのページでエラー Backtrace: 0 /var/www/dotproject/includes/db_adodb.php:61 dprint('/var/www/dotproject/includes/db_adodb.php',61,0,'Error executing: SELECT distinct tasks.task_id, task_parent, task_name, task_start_date, task_end_date, task_dynamic, task_pinned, pin.user_id as pin_user, task_priority, task_percent_complete, task_duration, task_duration_type, task_project, task_description, task_owner, task_status, usernames.user_username, usernames.user_id, task_milestone, assignees.user_username as assignee_username, count(distinct assignees.user_id) as assignee_count, co.contact_first_name, co.contact_last_name, count(distinct files.file_task) as file_count, tlog.task_log_problem FROM tasks, user_tasks LEFT JOIN projects ON project_id = task_project LEFT JOIN users as usernames ON task_owner = usernames.user_id LEFT JOIN user_tasks as ut ON ut.task_id = tasks.task_id LEFT JOIN users as assignees ON assignees.user_id = ut.user_id LEFT JOIN contacts as co ON co.contact_id = usernames.user_contact LEFT JOIN task_log AS tlog ON tlog.task_log_task = tasks.task_id AND tlog.task_log_problem > \'0\' LEFT JOIN files on tasks.task_id = files.file_task LEFT JOIN user_task_pin as pin ON tasks.task_id = pin.task_id AND pin.user_id = 2 WHERE project_active <> 0 AND task_project = projects.project_id AND user_tasks.user_id = 2 AND user_tasks.task_id = tasks.task_id AND (task_percent_complete < \'100\' OR task_end_date = \'\') AND projects.project_active = \'1\' AND projects.project_status <> \'4\' AND projects.project_status <> \'5\' AND task_status = \'0\' GROUP BY task_id ORDER BY project_id, task_start_date ') 1 /var/www/dotproject/modules/tasks/tasks.php:289 db_exec('SELECT distinct tasks.task_id, task_parent, task_name, task_start_date, task_end_date, task_dynamic, task_pinned, pin.user_id as pin_user, task_priority, task_percent_complete, task_duration, task_duration_type, task_project, task_description, task_owner, task_status, usernames.user_username, usernames.user_id, task_milestone, assignees.user_username as assignee_username, count(distinct assignees.user_id) as assignee_count, co.contact_first_name, co.contact_last_name, count(distinct files.file_task) as file_count, tlog.task_log_problem FROM tasks, user_tasks LEFT JOIN projects ON project_id = task_project LEFT JOIN users as usernames ON task_owner = usernames.user_id LEFT JOIN user_tasks as ut ON ut.task_id = tasks.task_id LEFT JOIN users as assignees ON assignees.user_id = ut.user_id LEFT JOIN contacts as co ON co.contact_id = usernames.user_contact LEFT JOIN task_log AS tlog ON tlog.task_log_task = tasks.task_id AND tlog.task_log_problem > \'0\' LEFT JOIN files on tasks.task_id = files.file_task LEFT JOIN user_task_pin as pin ON tasks.task_id = pin.task_id AND pin.user_id = 2 WHERE project_active <> 0 AND task_project = projects.project_id AND user_tasks.user_id = 2 AND user_tasks.task_id = tasks.task_id AND (task_percent_complete < \'100\' OR task_end_date = \'\') AND projects.project_active = \'1\' AND projects.project_status <> \'4\' AND projects.project_status <> \'5\' AND task_status = \'0\' GROUP BY task_id ORDER BY project_id, task_start_date') 2 /var/www/dotproject/modules/tasks/index.php:115 include('/var/www/dotproject/modules/tasks/tasks.php') 3 /var/www/dotproject/index.php:311 require('/var/www/dotproject/modules/tasks/index.php') Unknown column 'task_project' in 'on clause'Unknown column 'task_project' in 'on clause' - dotProject Forumsを参考に、modules/tasks/tasks.php を以下のように修正。 $ diff -u dotproject/modules/tasks/tasks.php.org dotproject/modules/tasks/tasks.php --- dotproject/modules/tasks/tasks.php.org 2007-03-01 14:11:32.000000000 +0900 +++ dotproject/modules/tasks/tasks.php 2007-03-01 14:53:00.000000000 +0900 @@ -141,7 +141,7 @@ assignees.user_username as assignee_username, count(distinct assignees.user_id) as assignee_count, co.contact_first_name, co.contact_last_name, count(distinct files.file_task) as file_count, tlog.task_log_problem"; -$from = "tasks"; +//$from = "tasks"; $mods = $AppUI->getActiveModules(); if (!empty($mods['history']) && !getDenyRead('history')) { @@ -170,11 +170,12 @@ switch ($f) { case 'all': + $from = "tasks"; break; case 'myfinished7days': $where .= " AND user_tasks.user_id = $user_id"; case 'allfinished7days': // patch 2.12.04 tasks finished in the last 7 days - $from .= ", user_tasks"; + $from .= "user_tasks, tasks"; $where .= " AND task_project = projects.project_id AND user_tasks.task_id = tasks.task_id @@ -195,7 +196,7 @@ $where .= "\n AND project_company = $AppUI->user_company"; break; case 'myunfinished': - $from .= ", user_tasks"; + $from .= "user_tasks, tasks"; // This filter checks all tasks that are not already in 100% // and the project is not on hold nor completed // patch 2.12.04 finish date required to be consider finish @@ -227,7 +228,7 @@ $where .= " AND task_owner = '$user_id'"; break; default: - $from .= ", user_tasks"; + $from .= "user_tasks, tasks"; $where .= " AND task_project = projects.project_id AND user_tasks.user_id = $user_idこれでとりあえず落ち着いたっぽい…。 _ [dotProject][Know-How][OpenSource][Software] dotProject 修正名前が [名], [姓] と英語での順番なので、修正。 contact_last_name と contact_first_name の順番だけを変えれば良い。 とりあえず、以下のファイルを修正
$ diff -u modules/admin/vw_usr.php.org modules/admin/vw_usr.php --- modules/admin/vw_usr.php.org 2007-03-01 15:39:27.000000000 +0900 +++ modules/admin/vw_usr.php 2007-03-01 13:24:23.000000000 +0900 @@ -88,7 +88,7 @@ <a href="mailto:<?php echo $row["contact_email"];?>"><img src="images/obj/email.gif" width="16" height="16" border="0" alt="email"></a> <?php if ($row['contact_last_name'] && $row['contact_first_name']) - echo $row["contact_last_name"].', '.$row["contact_first_name"]; + echo $row["contact_first_name"].' '.$row["contact_last_name"]; else echo '<span style="font-style: italic">unknown</span>'; ?>modules/companies/addedit.php $ diff -u modules/companies/addedit.php.org modules/companies/addedit.php --- modules/companies/addedit.php.org 2007-03-01 15:48:25.000000000 +0900 +++ modules/companies/addedit.php 2007-03-01 14:34:25.000000000 +0900 @@ -41,7 +41,7 @@ $q->addTable('users','u'); $q->addTable('contacts','con'); $q->addQuery('user_id'); -$q->addQuery('CONCAT_WS(", ",contact_last_name,contact_first_name)'); +$q->addQuery('CONCAT_WS(" ",contact_first_name,contact_last_name)'); $q->addOrder('contact_last_name'); $q->addWhere('u.user_contact = con.contact_id'); $owners = $q->loadHashList();classes/permissions.class.php $ diff -u classes/permissions.class.php.org classes/permissions.class.php --- classes/permissions.class.php.org 2007-03-01 15:53:17.000000000 +0900 +++ classes/permissions.class.php 2007-03-01 14:44:14.000000000 +0900 @@ -208,7 +208,7 @@ $canViewUsers = $this->checkModule('users', 'view'); $q = new DBQuery; $q->addTable('users'); - $q->addQuery('user_id, concat_ws(", ", contact_last_name, contact_first_name) as contact_name'); + $q->addQuery('user_id, concat_ws(" ", contact_first_name, contact_last_name) as contact_name'); $q->addJoin('contacts', 'con', 'contact_id = user_contact'); $q->addOrder('contact_last_name'); $res = $q->exec(); |
xR5Ca6Ap86cZ9pv Diet Drug Phentermine http://christ77.power-emergency.com
以下の方法でもエラーはでなくなるようです。<br>http://www.dotproject.net/vbulletin/archive/index.php?t-5292.html<br><br># diff modules/tasks/tasks.php.orig modules/tasks/tasks.php<br>282c282<br>< $tsql = "SELECT $select FROM $from $join WHERE $where" .<br>---<br>> $tsql = "SELECT $select FROM ($from) $join WHERE $where" .<br><br>こっちは「ユーザ毎のタスク」を選択した場合のSQLエラー解消方法です。<br><br> diff -p modules/tasks/tasks.class.php.orig modules/tasks/tasks.class.php<br>*** modules/tasks/tasks.class.php.orig 2007-07-26 10:44:11.000000000 +0900<br>--- modules/tasks/tasks.class.php 2007-07-26 10:43:30.000000000 +0900<br>*************** class CTask extends CDpObject {<br>*** 1346,1352 ****<br> <br> function getAssignedUsers(){<br> $sql = "select u.*, ut.perc_assignment, ut.user_task_priority, co.contact_last_name<br>! from users as u, user_tasks as ut<br> LEFT JOIN contacts as co ON co.contact_id = u.user_contact<br> where ut.task_id = '$this->task_id'<br> and ut.user_id = u.user_id";<br>--- 1346,1352 ----<br> <br> function getAssignedUsers(){<br> $sql = "select u.*, ut.perc_assignment, ut.user_task_priority, co.contact_last_name<br>! from (users as u, user_tasks as ut)<br> LEFT JOIN contacts as co ON co.contact_id = u.user_contact<br> where ut.task_id = '$this->task_id'<br> and ut.user_id = u.user_id";