html->page_header('معالج ترقية برنامج منتديات PBBoard 3.0.4'); $logo = $PowerBB->html->create_image(array('align'=>'left','alt'=>'PowerBB','src'=>'../images/logo.png', 'border'=>'0', 'cellspacing'=>'0','return'=>true)); $PowerBB->html->page_body('
'); $PowerBB->html->open_table('100%',true); $PowerBB->html->cells($logo,'header_logo_side'); class PowerBBTHETA extends PowerBBInstall { var $_TempArr = array(); var $_Masseges = array(); function _CreateMention() { global $PowerBB; $this->_TempArr['CreateArr'] = array(); $this->_TempArr['CreateArr']['table_name'] = $PowerBB->prefix."mention"; $this->_TempArr['CreateArr']['fields'] = array(); $this->_TempArr['CreateArr']['fields'][] = "id int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY"; $this->_TempArr['CreateArr']['fields'][] = "user_mention_about_you varchar(255) NOT NULL default ''"; $this->_TempArr['CreateArr']['fields'][] = "you varchar(255) NOT NULL default ''"; $this->_TempArr['CreateArr']['fields'][] = "topic_id int(10) UNSIGNED NOT NULL DEFAULT '0'"; $this->_TempArr['CreateArr']['fields'][] = "reply_id int(10) UNSIGNED NOT NULL DEFAULT '0'"; $this->_TempArr['CreateArr']['fields'][] = "profile_id int(10) UNSIGNED NOT NULL DEFAULT '0'"; $this->_TempArr['CreateArr']['fields'][] = "date varchar(200) NULL default ''"; $this->_TempArr['CreateArr']['fields'][] = "user_read int(1) NOT NULL DEFAULT '0'"; $create = $this->create_table($this->_TempArr['CreateArr']); return ($create) ? true : false; } function UpdateNoActiveAddons() { global $PowerBB; $update = $PowerBB->DB->sql_query("UPDATE " . $PowerBB->table['addons'] . " SET active='0'"); return ($update) ? true : false; } function DisableAllOldStyles() { global $PowerBB; $update = $PowerBB->DB->sql_query("UPDATE " . $PowerBB->table['style'] . " SET style_on ='0'"); return ($update) ? true : false; } function DisableAllOldLangs () { global $PowerBB; $update = $PowerBB->DB->sql_query("UPDATE " . $PowerBB->table['lang'] . " SET lang_on ='0'"); return ($update) ? true : false; } function profile_view_ADD_KEY() { global $PowerBB; $update1 = $PowerBB->DB->sql_query('ALTER TABLE ' . $PowerBB->table['profile_view'] . " ADD KEY(profile_user_id)"); if ($update1) { $update = $PowerBB->DB->sql_query('ALTER TABLE ' . $PowerBB->table['profile_view'] . " ADD KEY(viewer_user_id)"); } return ($update1) ? true : false; } function update_mobile_style_id() { global $PowerBB; $def_style = $PowerBB->_CONF['info_row']['def_style']; $update = $PowerBB->DB->sql_query("UPDATE " . $PowerBB->table['info'] . " SET value='$def_style' WHERE var_name='mobile_style_id'"); return ($update) ? true : false; } function defLangdir() { global $PowerBB; $def_lang = $PowerBB->_CONF['info_row']['def_lang']; $info_query = $PowerBB->DB->sql_query("SELECT * FROM " . $PowerBB->table['lang'] . " WHERE id='$def_lang'"); $info_row = $PowerBB->DB->sql_fetch_array($info_query); $lang_path = $info_row['lang_path']; return $lang_path; } function _InsertStyle($u) { global $PowerBB; $xml_code = @file_get_contents("../resources/PBBoard-Style.xml"); if (strstr($xml_code,'decode="0"')) { $xml_code = str_replace('decode="0"','decode="1"',$xml_code); preg_match_all('//is', $xml_code, $match); foreach($match[0] as $val) { $xml_code = str_replace($val,base64_encode($val),$xml_code); } } $import = $this->xml_array($xml_code); $title = $import['styles_attr']['name']; $limt = 20; if($u == 0) { $image_path = $import['styles_attr']['image_path']; $style_path = $import['styles_attr']['style_path']; $StlArr = array(); $StlArr['field'] = array(); $StlArr['field']['style_title'] = 'default-style-304'; $StlArr['field']['style_path'] = $style_path; $StlArr['field']['style_order'] = '1'; $StlArr['field']['style_on'] = '1'; $StlArr['field']['image_path'] = $image_path; $insert_Style = $PowerBB->style->InsertStyle($StlArr); $styleid = $PowerBB->DB->sql_insert_id(); if($insert_Style) { $update_def_style = $PowerBB->DB->sql_query("UPDATE " . $PowerBB->table['info'] . " SET value='$styleid' WHERE var_name='def_style'"); } $x = 0; $y = $limt; $yx = $limt; } else { $info_query = $PowerBB->DB->sql_query("SELECT id FROM " . $PowerBB->table['style'] . " WHERE style_title='default-style-304'"); $info_row = $PowerBB->DB->sql_fetch_array($info_query); $styleid = $info_row['id']; $x = $u; $y = $u+$limt; $yx = $u+$limt; } $showmsgs = "تم إنشاء القالب: "; $pbbversion = $import['styles_attr']['pbbversion']; $Templates = $import['styles']['templategroup']; //$Templates_number = sizeof($import['styles']['templategroup']['template'])/2; $Templates_number = 210; $PowerBB->html->cells('عمليات إنشاء قوالب الاستايل الافتراضي','main1'); $PowerBB->html->close_table(); while ($x < $Templates_number) { $templatetitle = $Templates['template'][$x.'_attr']['name']; $version = $Templates['template'][$x.'_attr']['version']; $template = base64_decode($Templates['template'][$x]); $templatetype = $Templates['template'][$x.'_attr']['templatetype']; $dateline = $Templates['template'][$x.'_attr']['date']; $product = $Templates['template'][$x.'_attr']['product']; $version = $Templates['template'][$x.'_attr']['version']; $username = $Templates['template'][$x.'_attr']['username']; $template = str_replace("'", "'", $template); $template = str_replace("//", "", $template); $template = str_replace("","", $template); $InsertTemplatesArr = array(); $InsertTemplatesArr['field'] = array(); $InsertTemplatesArr['field']['styleid'] = $styleid; $InsertTemplatesArr['field']['title'] = $templatetitle; $InsertTemplatesArr['field']['template'] = $template; $InsertTemplatesArr['field']['template_un'] = $template; $InsertTemplatesArr['field']['templatetype'] = $templatetype; $InsertTemplatesArr['field']['dateline'] = $dateline; $InsertTemplatesArr['field']['username'] = $username; $InsertTemplatesArr['field']['version'] = $version; $InsertTemplatesArr['field']['product'] = $product; $Insert = $PowerBB->core->Insert($InsertTemplatesArr,'template'); $PowerBB->html->open_p(); $PowerBB->html->p_msg($showmsgs.$templatetitle); $PowerBB->html->close_p(); if($x == $Templates_number-1) { $deltemplates = $PowerBB->DB->sql_query("DELETE FROM " . $PowerBB->table['template'] . " WHERE styleid = '$styleid' and title = ''"); echo "\n"; break; } elseif($x == $y-1) { echo "\n"; break; } else { $x += 1; } } if ($deltemplates) { //$updatemember = $PowerBB->DB->sql_query("UPDATE " . $PowerBB->table['member'] . " SET style = '$styleid'"); ////////// //return ($Insert) ? true : false; } $PowerBB->html->close_table(); } function _InsertLang_ar() { global $PowerBB; $xml_code_ar = @file_get_contents("../resources/ArabicLanguage.xml"); $import = $this->xml_array($xml_code_ar); $title = $import['language_attr']['name']; $pbbversion = $import['language_attr']['version']; $Languages = $import['language']['phrasegroup']; //$language_number = sizeof($import['language']['phrasegroup']['phrase'])/2; $language_number = 2667; $LangArr = array(); $LangArr['field'] = array(); $LangArr['field']['lang_title'] = 'Arabic-304'; $LangArr['field']['lang_order'] = "1"; $LangArr['field']['lang_on'] = "1"; $LangArr['field']['lang_path'] = "rtl"; $insert = $PowerBB->lang->InsertLang($LangArr); $langid = $PowerBB->DB->sql_insert_id(); $x = 0; while ($x < $language_number) { $varname = $Languages['phrase'][$x.'_attr']['name']; $fieldname = $Languages['phrase'][$x.'_attr']['fieldname']; $version = $Languages['phrase'][$x.'_attr']['pbbversion']; $text = $Languages['phrase'][$x]; $product = $Languages['phrase'][$x.'_attr']['product']; $dateline = $Languages['phrase'][$x.'_attr']['date']; $username = $Languages['phrase'][$x.'_attr']['username']; $text = str_replace("'", "'", $text); $InsertLanguagesArr = array(); $InsertLanguagesArr['field'] = array(); $InsertLanguagesArr['field']['languageid'] = $langid; $InsertLanguagesArr['field']['varname'] = $varname; $InsertLanguagesArr['field']['fieldname'] = $fieldname; $InsertLanguagesArr['field']['text'] = $text; $InsertLanguagesArr['field']['dateline'] = $dateline; $InsertLanguagesArr['field']['username'] = $username; $InsertLanguagesArr['field']['version'] = $version; $InsertLanguagesArr['field']['product'] = $product; $insertLanguages_ar = $PowerBB->core->Insert($InsertLanguagesArr,'phrase_language'); $x += 1; } if ($insertLanguages_ar) { $delLanguages_ar = $PowerBB->DB->sql_query("DELETE FROM " . $PowerBB->table['phrase_language'] . " WHERE languageid = '$langid' and varname = ''"); $update = $PowerBB->DB->sql_query("UPDATE " . $PowerBB->table['info'] . " SET value='$langid' WHERE var_name='def_lang'"); } return ($insertLanguages_ar) ? true : false; } function _InsertLang_en() { global $PowerBB; $xml_code_ar = @file_get_contents("../resources/EnglishLanguage.xml"); $import = $this->xml_array($xml_code_ar); $title = $import['language_attr']['name']; $pbbversion = $import['language_attr']['version']; $Languages = $import['language']['phrasegroup']; //$language_number = sizeof($import['language']['phrasegroup']['phrase'])/2; $language_number = 2658; $LangArr = array(); $LangArr['field'] = array(); $LangArr['field']['lang_title'] = 'English-304'; $LangArr['field']['lang_order'] = "1"; $LangArr['field']['lang_on'] = "1"; $LangArr['field']['lang_path'] = "ltr"; $insert = $PowerBB->lang->InsertLang($LangArr); $langid = $PowerBB->DB->sql_insert_id(); $x = 0; while ($x < $language_number) { $varname = $Languages['phrase'][$x.'_attr']['name']; $fieldname = $Languages['phrase'][$x.'_attr']['fieldname']; $version = $Languages['phrase'][$x.'_attr']['pbbversion']; $text = $Languages['phrase'][$x]; $product = $Languages['phrase'][$x.'_attr']['product']; $dateline = $Languages['phrase'][$x.'_attr']['date']; $username = $Languages['phrase'][$x.'_attr']['username']; $text = str_replace("'", "'", $text); $InsertLanguagesArr = array(); $InsertLanguagesArr['field'] = array(); $InsertLanguagesArr['field']['languageid'] = $langid; $InsertLanguagesArr['field']['varname'] = $varname; $InsertLanguagesArr['field']['fieldname'] = $fieldname; $InsertLanguagesArr['field']['text'] = $text; $InsertLanguagesArr['field']['dateline'] = $dateline; $InsertLanguagesArr['field']['username'] = $username; $InsertLanguagesArr['field']['version'] = $version; $InsertLanguagesArr['field']['product'] = $product; $insertLanguages_en = $PowerBB->core->Insert($InsertLanguagesArr,'phrase_language'); $x += 1; } if ($insertLanguages_en) { $delLanguages_en = $PowerBB->DB->sql_query("DELETE FROM " . $PowerBB->table['phrase_language'] . " WHERE languageid = '$langid' and varname = ''"); $update = $PowerBB->DB->sql_query("UPDATE " . $PowerBB->table['info'] . " SET value='$langid' WHERE var_name='def_lang'"); } return ($insertLanguages_en) ? true : false; } } $PowerBB->install = new PowerBBTHETA; if ($PowerBB->_GET['step'] == 1) { $PowerBB->html->cells('عمليات التحديث','main1'); $PowerBB->html->close_table(); $p[14] = $PowerBB->install->UpdateNoActiveAddons(); $msgs[14] = ($p[14]) ? 'تم تعطيل كافة الاضافات البرمجية' : 'لم يتم تعطيل كافة الاضافات البرمجية'; $p[15] = $PowerBB->install->DisableAllOldStyles(); $msgs[15] = ($p[15]) ? 'تم تعطيل كافة الإستايلات السابقة' : 'لم يتم تعطيل كافة الإستايلات'; $p[16] = $PowerBB->install->DisableAllOldLangs(); $msgs[16] = ($p[16]) ? 'تم تعطيل كافة اللغات السابقة' : 'لم يتم تعطيل كافة اللغات'; $p[22] = $PowerBB->install->profile_view_ADD_KEY(); $msgs[22] = ($p[22]) ? 'تم تحديث حقل viewer_user_id ' : 'لم يتم تحديث حقل viewer_user_id '; $PowerBB->html->open_p(); foreach ($msgs as $msg) { $PowerBB->html->p_msg($msg); } $PowerBB->html->close_p(); $PowerBB->html->close_table(); $PowerBB->html->make_link('الخطوه الثانية -> إضافة اللغة والعبارات','?step=2'); } if ($PowerBB->_GET['step'] == 2) { $PowerBB->html->cells('عمليات اضافة اللغة والعبارات','main1'); $PowerBB->html->close_table(); if($PowerBB->install->defLangdir() == 'rtl') { $p[17] = $PowerBB->install->_InsertLang_ar(); $msgs[17] = ($p[17]) ? 'تم إدخال اللغة العربية ' : 'لم يتم إدخال اللغة العربية'; } elseif($PowerBB->install->defLangdir() == 'ltr') { $p[17] = $PowerBB->install->_InsertLang_en(); $msgs[17] = ($p[17]) ? 'English language imported' : 'English language not imported'; } $PowerBB->html->open_p(); foreach ($msgs as $msg) { $PowerBB->html->p_msg($msg); } $PowerBB->html->close_p(); $PowerBB->html->close_table(); $PowerBB->html->make_link('الخطوه الثالثة -> إنشاء جدول المنشن للأعضاء','?step=3'); } if ($PowerBB->_GET['step'] == 3) { $PowerBB->html->cells('عمليات إنشاء جدول المنشن للأعضاء','main1'); $PowerBB->html->close_table(); $p[18] = $PowerBB->install->_CreateMention(); $msgs[18] = ($p[18]) ? 'تم إنشاء جدول المنشن للأعضاء ' : 'لم يتم إنشاء جدول المنشن للأعضاء'; $PowerBB->html->open_p(); foreach ($msgs as $msg) { $PowerBB->html->p_msg($msg); } $PowerBB->html->close_p(); $PowerBB->html->close_table(); $PowerBB->html->make_link('الخطوه الثالثة -> تنصيب الاستايل الافتراضي','?step=4'); } if ($PowerBB->_GET['step'] == 4) { if ($PowerBB->_GET['u'] == 0 or $PowerBB->_GET['u']) { $p[18] = $PowerBB->install->_InsertStyle(intval($PowerBB->_GET['u'])); $msgs[18] = $p[18]; $PowerBB->html->open_p(); foreach ($msgs as $msg) { $PowerBB->html->p_msg($msg); } $PowerBB->html->close_p(); $PowerBB->html->close_table(); } } if ($PowerBB->_GET['step'] == 5) { $PowerBB->html->cells('عملية اضافة الأستايل الافتراضي','main1'); $PowerBB->html->close_table(); $p[18] = true; $msgs[18] = ($p[18]) ? 'تم إنشاء قوالب الأستايل ' : 'لم يتم إنشاء قوالب الإستايل'; $p[21] = $PowerBB->install->update_mobile_style_id(); $msgs[21] = ($p[21]) ? 'تم تخصيص الاستايل الافتراضي للمتصفحين من الهواتف النقالة ' : 'لم يتم تخصيص ستايل للمتصفحين من الهواتف النقالة'; $PowerBB->html->open_p(); foreach ($msgs as $msg) { $PowerBB->html->p_msg($msg); } $PowerBB->html->close_p(); $PowerBB->html->close_table(); $PowerBB->html->make_link('الخطوه الرابعة والأخيرة -> اتمام الترقية','../upgrade.php?action=upgrade304_finish_upgrade'); }