* the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); require_once INSTALLDIR . '/scripts/commandline.inc'; common_log(LOG_INFO, 'Initializing conversation table...'); $notice = new Notice(); $notice->query('select distinct conversation from notice'); while ($notice->fetch()) { $id = $notice->conversation; if ($id) { $uri = common_local_url('conversation', array('id' => $id)); // @fixme db_dataobject won't save our value for an autoincrement // so we're bypassing the insert wrappers $conv = new Conversation(); $sql = "insert into conversation (id,uri,created) values(%d,'%s','%s')"; $sql = sprintf($sql, $id, $conv->escape($uri), $conv->escape(common_sql_now())); echo "{$id} "; $conv->query($sql); print "... "; } } print "done.\n";
function initConversation() { printfnq("Ensuring all conversations have a row in conversation table..."); $notice = new Notice(); $notice->query('select distinct notice.conversation from notice ' . 'where notice.conversation is not null ' . 'and not exists (select conversation.id from conversation where id = notice.conversation)'); while ($notice->fetch()) { $id = $notice->conversation; $uri = common_local_url('conversation', array('id' => $id)); // @fixme db_dataobject won't save our value for an autoincrement // so we're bypassing the insert wrappers $conv = new Conversation(); $sql = "insert into conversation (id,uri,created) values(%d,'%s','%s')"; $sql = sprintf($sql, $id, $conv->escape($uri), $conv->escape(common_sql_now())); $conv->query($sql); } printfnq("DONE.\n"); }
function fixupConversationURIs() { printfnq("Ensuring all conversations have a URI..."); $conv = new Conversation(); $conv->whereAdd('uri IS NULL'); if ($conv->find()) { $rounds = 0; while ($conv->fetch()) { $uri = common_local_url('conversation', array('id' => $conv->id)); $sql = sprintf('UPDATE conversation SET uri="%1$s" WHERE id="%2$d";', $conv->escape($uri), $conv->id); $conv->query($sql); if (($conv->N - ++$rounds) % 500 == 0) { printfnq(sprintf(' %d items left...', $conv->N - $rounds)); } } } printfnq("DONE.\n"); }