Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F805175
import_funcs.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Thu, Feb 27, 12:08 AM
Size
5 KB
Mime Type
text/x-php
Expires
Sat, Mar 1, 12:08 AM (5 h, 26 m)
Engine
blob
Format
Raw Data
Handle
577401
Attached To
rINP In-Portal
import_funcs.php
View Options
<?php
// Import script common functions
// ========================================================================================================
/**
* @return void
* @param Array $import_steps
* @desc Prints out step status information table
*/
function
DrawScreen
(
$import_steps
)
{
$title
=
admin_language
(
'la_performing_import'
).
' - '
.
admin_language
(
'la_Step'
).
' 4'
;
int_header
(
null
,
NULL
,
$title
);
$inner_table
=
''
;
foreach
(
$import_steps
as
$import_step
)
$inner_table
.=
PrintStep
(
$import_step
);
$is_count
=
count
(
$import_steps
);
int_table_color
(
1
);
$RowColor
=
int_table_color
(
0
,
true
);
echo
<<<SCREEN_END
<form id="import_form" action="" method="post">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tableborder">
<tr $RowColor>
<td width="30%"> </td>
<td rowspan="$is_count" width="40%">
<table width="100%" border="0" cellspacing="0">
$inner_table
</table>
</td>
<td width="30%"> </td>
</tr>
SCREEN_END;
$i
=
1
;
while
(
$i
<
$is_count
)
{
echo
PrintDummy
();
$i
++;
}
int_subsection_title
(
admin_language
(
"la_performing_import"
).
' - <span id="import_totals">Initializing ...</span>'
,
3
);
$RowColor
=
int_table_color
(
0
,
true
);
echo
<<<SCREEN_END
<tr $RowColor>
<td colspan="3">Script Running: <span id="total_time">0</span>s</td>
</tr>
</table>
</form>
SCREEN_END;
int_footer
();
flush
();
}
/**
* @return string
* @param Array $step_rec
* @desc Returns one row of step-info table
*/
function
PrintStep
(
$step_rec
)
{
$step_rec
[
'percent'
]
=
round
(
(
$step_rec
[
'rec_no'
]
/
$step_rec
[
'recs_count'
])
*
100
,
2
);
$step_rec
[
'details'
]
=
'('
.
$step_rec
[
'rec_no'
].
' of '
.
$step_rec
[
'recs_count'
].
')'
;
return
'
<tr '
.
int_table_color
(
0
,
true
).
'>
<td width="50%" valign="top"><span class="text">'
.
$step_rec
[
'caption'
].
'</span></td>
<td width="50%">
<span class="text">'
.
$step_rec
[
'percent'
].
'</span>% '
.
$step_rec
[
'details'
].
'</span>
</td>
</tr>'
;
}
/**
* @return void
* @param Array $import_steps
* @desc Save step info to database
*/
function
DumpStepsInfo
(
$import_steps
)
{
global
$dst_db
,
$ImportTable
,
$cache
;
$sql
=
'UPDATE '
.
$ImportTable
.
' SET bbi_rec_no = %s, bbi_recs_count = %s, bbi_current = %s, bbi_cache = %s WHERE bbi_step =
\'
%s
\'
'
;
foreach
(
$import_steps
as
$istep
)
{
$sc
=
serialize
(
$cache
[
$istep
[
'id'
]
]
);
$tmp
=
sprintf
(
$sql
,
$istep
[
'rec_no'
],
$istep
[
'recs_count'
],
$istep
[
'current'
],
$dst_db
->
qstr
(
$sc
),
$istep
[
'id'
]);
$dst_db
->
Execute
(
$tmp
);
}
}
/**
* @return void
* @param Array $step_info
* @param Array $import_steps
* @desc Redirects to next step or continues this step
*/
function
StepRedirect
(
$step_info
)
{
global
$rootURL
,
$admin
,
$StepIndex
,
$import_steps
,
$dst_db
,
$ImportTable
,
$objCatList
;
if
(
$step_info
[
'rec_no'
]
==
$step_info
[
'recs_count'
])
{
$import_steps
[
$step_info
[
'id'
]
][
'current'
]
=
0
;
$NewCurrent
=
array_search
(
$step_info
[
'id'
],
$StepIndex
)
+
1
;
if
(
array_key_exists
(
$NewCurrent
,
$StepIndex
)
)
{
$import_steps
[
$StepIndex
[
$NewCurrent
]
][
'current'
]
=
1
;
}
else
{
global
$objSession
,
$adminURL
;
$objSession
->
SetVariable
(
'PermCache_UpdateRequired'
,
1
);
$objSession
->
SetVariable
(
'ReturnScript'
,
'browse.php'
);
// redirect to catalog when finished
$NumCats
=
TableCount
(
$objCatList
->
SourceTable
,
''
,
0
);
$dst_db
->
Execute
(
'DROP TABLE IF EXISTS '
.
$ImportTable
);
echo
'<script>window.location = "'
.
$adminURL
.
'/category/category_maint.php?env='
.
BuildEnv
().
'&CatIndex=0&NumCats='
.
$NumCats
.
'";</script>'
;
}
}
DumpStepsInfo
(
$import_steps
);
echo
'<script>window.location = "'
.
$rootURL
.
'in-bulletin/'
.
$admin
.
'/import/phpbb_import.php?env='
.
BuildEnv
().
'";</script>'
;
}
// ========================================================================================================
function
GetStepName
(
$step_id
)
{
global
$import_steps
;
$ret
=
''
;
foreach
(
$import_steps
as
$istep
)
if
(
$istep
[
'id'
]
==
$step_id
)
{
$ret
=
$istep
[
'caption'
];
break
;
}
return
$ret
;
}
function
PrintDummy
()
{
return
'<tr '
.
int_table_color
(
0
,
true
).
'>
<td> </td>
<td> </td>
</tr>'
;
}
function
GetMC
()
{
$tmp
=
explode
(
' '
,
microtime
()
);
return
$tmp
[
1
];
}
function
SetPersistantVariable
(
$user_id
,
$var_name
,
$var_value
)
{
global
$dst_db
;
$sql_template
=
"REPLACE INTO "
.
GetTablePrefix
().
"PersistantSessionData (PortalUserId, VariableName, VariableValue) VALUES (%s,'%s','%s')"
;
$dst_db
->
Execute
(
sprintf
(
$sql_template
,
$user_id
,
$var_name
,
$var_value
)
);
}
function
DecodeIP
(
$ip
)
{
$i
=
0
;
$ip_len
=
strlen
(
$ip
);
$ip_parts
=
Array
();
while
(
$i
<
$ip_len
)
{
$ip_parts
[]
=
hexdec
(
substr
(
$ip
,
$i
,
2
)
);
$i
+=
2
;
}
return
implode
(
'.'
,
$ip_parts
);
}
function
GetUserID
(
$old_user_id
)
{
global
$cache
;
return
$cache
[
'users'
][
$old_user_id
][
'new_id'
];
}
function
GetUserName
(
$old_user_id
)
{
global
$cache
;
return
$cache
[
'users'
][
$old_user_id
][
'username'
];
}
function
SetTotals
(
$step_name
)
{
global
$objSession
;
$run_time
=
GetMC
()
-
$objSession
->
GetVariable
(
'import_begins'
);
echo
'<script>SetTotal("'
.
$step_name
.
'","'
.
$run_time
.
'");</script>'
;
}
?>
Event Timeline
Log In to Comment